gpt4 book ai didi

linux - 为什么 pstack 比仅附加、保存堆栈和退出的 gdb 快得多?

转载 作者:太空宇宙 更新时间:2023-11-04 10:40:03 26 4
gpt4 key购买 nike

我有一个脚本,它使用这样的命令文件运行 gdb:

set logging file file_name
set logging on
thread apply all bt
q
y

为什么 pstack 比这个脚本快得多?我可以用 gdb 以某种方式达到那种牢度吗?

编辑:区别在于 gdb 版本。我使用 gdb-7.10,转储堆栈跟踪大约需要 14 秒。使用 pstack 使用的 gdb 7.0.1,需要 2 秒。 gdb-7.10 大部分时间都花在了从我们的库中加载符号上,而我在新版本中找不到适合 -readnever 的选项。

最佳答案

在我的系统上,至少 pstack 是一个运行 gdb 的 shell 脚本,因此您可以通过查看 pstack 可执行文件来准确了解正在运行的内容。

我怀疑脚本中有趣的部分可能是:

set width 0
set height 0
set pagination no

其实set pagination noset height 0是一样的,所以你可以忘记set pagination no部分。

set height 0set width 0 关闭 gdb 显示包装到终端宽度的输出的任何尝试,并一次显示页面。

我希望每次 gdb 打印任何内容时,这种换行和一次输出一页都会导致大量额外处理。

pstack 脚本中没有太多与您的脚本不同的地方,所以我看不出还有什么不同。

关于linux - 为什么 pstack 比仅附加、保存堆栈和退出的 gdb 快得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35522551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com