在启动过程中崩溃的gdb可执行文件如何调试?

时间:2019-04-23 16:45:49

标签: c++ c linux gdb

我有一个基于C和C ++的项目,这是我第一次构建和链接,它在执行时出现段错误。我尝试在gdb中运行它以获得回溯,并看到了:

gdb) run
Starting program: /home/jon/controlix-code/bin/controlix 
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.
(gdb) 

我假设它在调用main()之前崩溃了,但是除此之外,我没有任何线索。我在Google上找不到太多关于这种情况的信息,所以我想在这里问。

1 个答案:

答案 0 :(得分:0)

一种方法是在运行之前捕获所有异常:

catch throw
run

如果这没有帮助,则可能必须从一开始就单步执行组装。但是在您这样做之前,

break main
run

并使用 step next 单步执行代码,应将您带到罪魁祸首。