ltrace和gdb附加到同一进程

时间:2018-06-05 21:47:04

标签: debugging gdb ltrace

在某种程度上可以同时使用ltracegdb吗?我有一个小的剥离二进制程序,我希望看到变量内容,我可以看到ltrace的一些库调用。

以某种方式可以将gdb和ltrace附加到同一个进程吗?

1 个答案:

答案 0 :(得分:1)

不,gdb和ltrace都使用ptrace来调试和跟踪进程,而tracee(目标)进程可能只附加到单个ptrace跟踪器。

您可以尝试使用breakpoint function_nameb function_addr在gdb内部实现一些调用跟踪,获取断点ID并添加gdb commands to execute at this breakpoint,例如对于编号为1的断点:

  commands 1
  bt 2
  p/x $rax
  continue 

gdb将打印backtrace(bt)和rax寄存器值,然后执行continue(更多示例和禁用分页位于What are the best ways to automate a GDB debugging session?)。

或者您可以尝试内核跟踪解决方案,例如sysdig