我有一个多线程程序,它在 linux 上运行了大约 200 个线程,我知道它有点多。好吧,这是一个遗留程序 :) 这个程序在 2.6.29 上运行,带有 debian OS 我怎样才能轻松找出哪个线程的堆栈帧包含类似 functionA?我正在使用“线程应用所有 bt”来显示所有线程的回溯。但是,我需要检查每个堆栈帧以找到包含 functionA 的正确线程。
谢谢你!问孩子
我有一个多线程程序,它在 linux 上运行了大约 200 个线程,我知道它有点多。好吧,这是一个遗留程序 :) 这个程序在 2.6.29 上运行,带有 debian OS 我怎样才能轻松找出哪个线程的堆栈帧包含类似 functionA?我正在使用“线程应用所有 bt”来显示所有线程的回溯。但是,我需要检查每个堆栈帧以找到包含 functionA 的正确线程。
谢谢你!问孩子
您可以保存线程的输出将所有 bt 应用到日志文件,然后对其进行 grep 或以其他方式检查。禁用分页也很有用。
[root@localhost ~]# gdb
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(gdb) set logging on
(gdb) set pagination off
(gdb) thread apply all bt