gdb本身崩溃时如何调试?

时间:2019-04-10 22:06:15

标签: ubuntu debugging centos gdb

我发生了崩溃(分段错误),但是我找不到它发生的位置,因为尝试btframe #时gdb就会崩溃。这种情况发生在不同的系统上(尝试过CentOS 7和Ubuntu 17.04),因此它似乎不是特定版本。

我还能使用其他调试器吗,还是有办法使gdb更稳定?

1 个答案:

答案 0 :(得分:0)

  

我还有其他可以使用的调试器

您可以尝试使用LLDB

  

有没有办法使gdb更稳定?

神奇的“ --run-with-bugs”标志;-)

严重的是,GDB中的任何崩溃都是错误,您应该在GDB Buganizer中报告该错误。

如果您不能提供可复制的测试用例,则至少可以在其下运行GDB,并找出 it 崩溃的位置:

gdb -ex 'set prompt (top) ' -ex run --args gdb -ex run /path/to/your/a.out
... your program will crash, you will get (gdb) prompt
(gdb) where
... now GDB will crash, and you will get "outer" GDB (top) prompt
(top) where
... you should get a stack trace for the "inner" GDB crash.