背景:Windows上Qt程序无故crash,随机crash不好定位出错的原因,故使用gdb追踪错误信息。
前提:生成debug版本的exe程序。
步骤:
- 打开MingGW控制台。
- 进入待调试程序文件夹, cd :D:\code\build-test-Desktop_Qt_5_9_8_MinGW_32bit-Debug。
- gdb执行程序,gdb test.exe。
- 将debug打印重定向到文件,(gdb)set logging file test_log。
- 打开调试信息输出,(gdb)set logging on。
- 打印所有的栈信息,(gdb)thread apply all bt。
- 执行待调试程序,(gdb)run。
- 正常执行,等待bug发生。