【问题标题】:Difference between backtrace(backtrace_symbols) and bt in gdbgdb中回溯(backtrace_symbols)和bt之间的区别
【发布时间】:2016-05-26 05:16:32
【问题描述】:

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

【问题讨论】:

  • 你能补充一下你是如何测量时间差异的吗?

标签: c linux function gdb


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 2011-07-28
    • 2014-12-27
    • 2012-12-08
    • 2012-04-21
    • 2010-09-26
    • 2011-04-05
    • 2017-10-22
    相关资源
    最近更新 更多