1

是否可以同时使用ltracegdb?我有一个小型的剥离二进制程序,我想在其中查看一些库调用的变量内容,我可以使用ltrace.

是否可以将 gdb 和 ltrace 附加到同一个进程?

4

1 回答 1

2

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

您可以尝试在 gdb 中使用breakpoint function_nameor实现一些调用跟踪b function_addr,获取断点 id 并添加 gdbcommands以在此断点处执行,例如编号为 1 的断点:

  commands 1
  bt 2
  p/x $rax
  continue 

gdb 将打印回溯 (bt) 和 rax 寄存器值,然后它将继续执行(更多示例和禁用分页在What are the best ways to automatic a GDB debugging session?)。

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

于 2018-06-05T23:49:01.187 回答