【问题标题】:How can I debug a ptrace tracee?如何调试 ptrace 跟踪对象?
【发布时间】:2017-01-24 04:18:58
【问题描述】:

我正在编写一个程序,该程序涉及使用ptrace 控制跟踪进程。当然,也有错误 :) 为了修复我的错误,我希望能够使用gdb 检查被跟踪者的状态。但是,gdb -p 说:

warning: process X is already traced by process Y

如果我只使用PTRACE_DETACH,那么tracee 将继续执行,直到我启动gdb,这会破坏我正在尝试检查的状态。

非常感谢任何有关如何检查 ptrace 跟踪对象的运行时状态的建议(可能使用gdb 以外的工具)。

【问题讨论】:

    标签: gdb ptrace


    【解决方案1】:

    关于如何检查 ptrace 跟踪对象的运行时状态的任何建议

    一种方法是让跟踪器实现 GDB remote debugging protocol。附加文档here

    另外this answer 展示了如何分离进程而不恢复它。

    【讨论】:

    • 完美!没有简历的分离正是我正在寻找的。难怪你受雇了!
    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 2013-02-15
    • 2011-07-16
    • 2016-10-15
    • 2013-08-30
    • 2012-04-19
    • 2014-06-04
    相关资源
    最近更新 更多