如何使用ptrace跟踪程序执行情况?

发布于 2024-11-09 15:50:36 字数 156 浏览 0 评论 0原文

我一直在尝试使用系统调用“ptrace”(使用 PTRACE_SINGLESTEP 宏)来跟踪简单应用程序的执行。

在记录程序的执行时,我想跳过阅读中无用的部分,只从我的应用程序的“主要”部分开始。因为每当我启动跟踪器时,我都会得到大约 100k 执行步骤。

亲切的

I've been trying to use the system call "ptrace" (using the PTRACE_SINGLESTEP macro) to trace the execution of a simple application.

While recording the execution of the program I would like to skip the useless part of the reading to only follow from the 'main' of my application. Because whenever I launch my tracer I get around 100k execution steps.

Cordialy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长梦不多时 2024-11-16 15:50:36

您可能需要在 main 入口处插入一个断点,等待 SIGTRAP 到达,恢复断点下的指令,然后从那里单步执行。

You may want to insert a breakpoint at main entry, wait for a SIGTRAP to arrive, restore the instruction under the breakpoint, and single-step from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文