SEGFAULT即使在最简单的程序上也只有在调试时

时间:2016-08-03 18:01:43

标签: c++ debugging gdb g++

我的程序完全这个:

#include <iostream>

int main()
{

    int a;

    std::cin >> a;
}

只有在我使用gdb调试器时它才会崩溃(SEGFAULT)。

我正在使用g ++进行编译。

如果有任何用处,这是程序崩溃时的反汇编输出。

->->post-prompt
eax            0x474e5089   1196314761
ecx            0x1  1
edx            0x22fea24    36694564
ebx            0x74ca2fe8   1959407592
esp            0x41afe4c    0x41afe4c
ebp            0x41afe5c    0x41afe5c
esi            0x4e8ffd 5148669
edi            0x0  0
eip            0x74b11a37   0x74b11a37
eflags         0x10202  [ IF RF ]
cs             0x23 35
ss             0x2b 43
ds             0x2b 43
es             0x2b 43
fs             0x53 83
gs             0x2b 43

非常感谢任何帮助。

编辑:这是通过命令行调用时的调试器输出:

[New Thread 180.0x8e4]
[New Thread 180.0x1a40]
[New Thread 180.0x1bb4]
[New Thread 180.0x19a0]
[New Thread 180.0x1630]
[New Thread 180.0xc28]
[New Thread 180.0x788]
[New Thread 180.0x5f8]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 180.0x5f8]
0x74b11a37 in ?? ()
(gdb) Exception condition detected on fd 0
error detected on stdin

1 个答案:

答案 0 :(得分:0)

最后我修好了!

事实证明它确实是Windows运行时库的东西,所以我做了一个干净的重新安装,现在一切正常!

但是我真的不知道这是怎么回事。