为什么gdb backtrace输出是如此丑陋?

时间:2018-08-02 12:32:20

标签: gdb

某些复杂的C ++程序具有许多lambda调用。当我在gdb提示符下调用bt时,它给出了以下信息: enter image description here

我不得不说这太难看了。如何使gdb社区更具可读性和层次性,以便我可以轻松知道谁叫谁? lambda表达式难吗?

1 个答案:

答案 0 :(得分:1)

事情本身并不丑陋,这并不是真的。取而代之的是,gdb仅打印了它知道的符号名称,有时C ++符号名称太长了。

也许可以对gdb进行修改以执行此操作,但是,再次没有真正的原因(您要问的是IIUC)是因为没有人尝试过。

还可以为gdb编写Python框架过滤器,该过滤器将根据您的喜好缩短符号名称。这可能是最好的方法,因为总的来说,似乎很难弄清楚名称的缩写。