gdb:程序退出代码030000000375

我正在教自己使用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.

解决方法

gdb以八进制格式打印退出代码.不明显,但由领先0表示.

所以030000000375是十六进制0xC00000FD,这使得代码看起来比Windows程序员更常见.

0xC00000FD是STATUS_STACK_OVERFLOW,应在ntstatus.h中定义.

相关文章

对象的传值与返回说起函数,就不免要谈谈函数的参数和返回值...
从实现装饰者模式中思考C++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...