我有一个基于 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)
Run Code Online (Sandbox Code Playgroud)
我认为它在 main() 被调用之前崩溃了,但除此之外我没有任何线索。我在谷歌上找不到太多关于这种情况的信息,所以我想我会在这里问。
小智 2
一种方法是在运行之前捕获所有异常:
catch throw
run
Run Code Online (Sandbox Code Playgroud)
如果这没有帮助,您可能必须从一开始就单步执行程序集。但在你这样做之前,
break main
run
Run Code Online (Sandbox Code Playgroud)
并使用step和next单步执行代码应该会引导您找到罪魁祸首。