2016-08-01 9 views
5

我正在尋找gdb的回溯,並且由於所有調用到標準庫和提升中,它看起來非常混亂。例如。我在調用堆棧上看到boost::bindstd::allocator,還有幾個其他類似的調用進入標準庫或Boost。backtrace - 隱藏標準庫和提升調用

我想我會發現它有幫助,有回溯顯示我只是在我的程序中明確定義的功能。更好的是,如果我可以快速配置backtrace命令,以便在需要時顯示或隱藏stdboost調用,那麼這將有助於進一步提高。

任何想法如何從調用堆棧中完全隱藏boost或配置回溯以打開和關閉boost記錄?

回答

3

沒有內置的方法來做到這一點。

它可以通過編寫一個Python框架過濾器來刪除不需要看到的框架。這並不是特別困難,但它需要使用gdb Python API編寫一些Python代碼。

+0

聽起來有趣,你能指出一個例子嗎? – sergej

+2

下面是一個框架過濾器,它將輸出顏色化。重要的是https://github.com/tromey/gdb-helpers/blob/master/gdbhelpers/colorize.py#L116 - 這是實現框架過濾器的類。你可能會丟掉你不關心的幀。 –