在运行进程的所有线程中“无影响”堆栈跟踪?

时间:2013-04-18 10:28:13

标签: linux performance debugging stack-trace

如何在Linux x64上以一种影响最小且影响最小的方式在已经运行的进程的所有线程上获得堆栈跟踪

到目前为止我想到的事情:

  • gdb - 我担心这会让这个过程变得太慢,而且时间太长了;
  • strace+ - 不知道它有什么表现,任何人都有经验吗?仍然,IIUC,它只跟踪系统调用,我甚至不能指望每个线程进入系统调用,特别是一些线程可能已经挂起;
  • 强行崩溃&得到一个coredump - 是的...如果我能够轻松地做到这一点,我可能已经忙着调试了......请假设房间里没有大象,为了这个问题的目的,好吗? ..非常请...

2 个答案:

答案 0 :(得分:1)

gcore附带了gdb实用程序。您无需强制崩溃即可获得核心转储。

答案 1 :(得分:1)