backtrace(backtrace_symbols)和gdb中的bt之间的区别

时间:2016-05-26 05:16:32

标签: c linux function gdb

linux中的backtrace_symbols()函数需要很多时间才能将地址​​转换为字符串数组,但是gdb中的bt工作得很快。在radb中backtrace_symbols()和bt的功能有什么区别?

1 个答案:

答案 0 :(得分:0)

gdb在启动时读取符号,并在后续命令调用中使用它从这些符号构建的数据结构,例如bt。如果gdb要为每次调用bt重复符号读取,那么bt会变慢,速度可能与backtrace_symbols()相当。