回溯 - 隐藏标准库和Boost调用

5
我正在使用gdb查看一份回溯信息,但因为其中包含了对标准库和boost的调用而显得杂乱无章。例如,我看到在调用栈中出现了boost::bindstd::allocator等多个标准库和Boost的类和函数。
我认为,如果回溯信息只显示我程序中明确定义的函数将更有帮助。更好的情况是,我能够快速配置回溯命令以显示或隐藏需要的stdboost的调用信息。
您有没有想法如何完全隐藏boost,或者配置回溯以打开或关闭boost日志记录?
1个回答

3

没有内置的方法来做到这一点。

不过,可以通过编写一个Python“frame filter”来完成这个任务,该filter可以丢弃您不想看到的帧。虽然这不是特别困难,但它需要使用gdb Python API编写一些Python代码。


2
这是一个着色输出的帧过滤器。重要的部分在 https://github.com/tromey/gdb-helpers/blob/master/gdbhelpers/colorize.py#L116 - 这是实现帧过滤器的类。你的过滤器可以只丢弃你不关心的帧。 - Tom Tromey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接