使用 gdb 进行 fork() 系统调用
我想使用 gdb 来研究 fork() 系统调用的各种细节。为此,我在 fork() 处使用了一个断点,从那里开始我使用步骤命令,但这样它就不能正常工作。
有人可以解释一下如何使用 gdb 来查看 fork() 系统调用期间发生的每一个步骤吗?
I want to use gdb for looking into the various details of the fork() system call. To do this, I used one breakpoint at the fork() and from there onwards i am using step command but this way it is not working fine.
Can somebody explain me how to use gdb to look into every single step occuring during fork() system call?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
也许您的意思是,一旦调用 fork,您想要跟踪子进程而不是父进程?在这种情况下:
Maybe you meant that you want to follow the child process instead of the parent once the fork is called? In that case:
如果您想了解发生了什么,最好先查看内核代码,在这里查看。
我认为您不能从用户空间单步执行内核。您可以使用虚拟服务器使用 KGDB 进行调试。查看此处的博客文章。或者您可以在主内核上使用 KGDB 。
If you want to see whats happening best if to look at the kernel code first, check it here.
I don't think you can single step through kernel from user space. You can use virtual server to do the debugging using KGDB. Check blog post here. Or you can use KGDB on main kernel.