use*_*715 15 c windows gdb mingw
我正在尝试调试一个使用MinGW的gcc编译的Windows程序,它只能在 gdb 之外运行时遇到段错误(可能是一些竞争条件......可爱.)问题是,当程序崩溃并且我没有运行GDB时,我无法获得堆栈跟踪...我可以选择在MSVC崩溃时打开程序,但是MSVC无法读取gcc的调试符号,因此它给我的堆栈跟踪是没用的.
有没有办法让Windows创建一个核心转储,然后我可以在MinGW的gdb中打开?或者,有没有办法获取MSVC的堆栈跟踪(具有原始地址但没有符号)并使用gcc来获取人类可读的跟踪?
windows不会创建核心文件(在Linux上它们被内核iirc转储)你可以尝试使用gdb附加崩溃对话框但我怀疑它会工作
如果你使用msvc而不是你可以在visualstudio中创建一个minidump debuggable但是没有办法用gcc创建相同的转储
谷歌制作了一个你可能觉得有用的软件,但我不确定它能用gcc制作东西
http://code.google.com/p/google-breakpad/
或者你可以将drmingw设置为jit调试器
drmingw -i
Run Code Online (Sandbox Code Playgroud)
我确信有可能在mingw上获得类似回溯的东西,因为mingw编译的llvm能够转储跟踪
http://code.google.com/p/backtrace-mingw/
看起来更简单,但我没有测试过
用-g3编译(如果你能-O0)
| 归档时间: |
|
| 查看次数: |
5506 次 |
| 最近记录: |