gdb:程序已退出,代码为030000000375

时间:2012-07-07 08:53:43

标签: c gdb mingw stack-overflow sigsegv

我正在教自己使用gdb并运行一些随机测试。值得一提的是,我在Windows 7 x64上使用MinGW的便携式安装。我创建了一个程序,我知道它会导致堆栈溢出,当我在gdb中运行它时,我首先得到两个SIGSEGV信号(毫不奇怪),然后它退出(再次不出意外)代码为030000000375。

Program received signal SIGSEGV, Segmentation fault.
Program received signal SIGSEGV, Segmentation fault.
Program exited with code 030000000375.

好奇心让我最好......那个代码到底是什么?我用Google搜索并发现很少。

谢谢!

更新:作为参考,我在Ubuntu上尝试了相同的程序,结果略有不同:

Program received signal SIGSEGV, Segmentation fault.
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

1 个答案:

答案 0 :(得分:11)

gdb以八进制格式输出退出代码。不明显,但由前导0表示。

所以0300000003750xC00000FD的十六进制,这使得代码看起来更常见于Windows程序员。

0xC00000FDSTATUS_STACK_OVERFLOW,应在ntstatus.h中定义。