有没有可能同时使用ltrace和gdb?我有一个小的二进制程序,我想在其中查看ltrace可以看到的一些库调用的变量内容。
有没有可能将gdb和ltrace附加到同一进程?
发布于 2018-06-06 07:49:01
不能,gdb和ltrace都使用ptrace来调试和跟踪进程,而tracee (目标)进程只能附加到单个ptrace tracer上。
您可以尝试使用breakpoint function_name或b function_addr在gdb中实现一些调用跟踪,获取断点id并添加gdb commands to execute at this breakpoint,例如,对于编号为1的断点:
commands 1
bt 2
p/x $rax
continue gdb将打印回溯(bt)和rax寄存器值,然后它将continue执行(更多示例和禁用分页在What are the best ways to automate a GDB debugging session?)。
或者,您可以尝试像sysdig这样的内核跟踪解决方案。
https://stackoverflow.com/questions/50709406
复制相似问题