我正在尝试在 Linux(Ubuntu)下构建一个类似调试器的程序,但遇到了一些问题。据我所知,/proc
vfs 提供了创建观察点的机制,但我似乎不知道如何。
一些手册页将我指向“控制文件”,据称位于/proc/<pid>/ctl
,但我无法在任何地方找到该文件。(也许这个文件只适用于 Solaris?或者是 Ubuntu 的错?)
我正在尝试在 Linux(Ubuntu)下构建一个类似调试器的程序,但遇到了一些问题。据我所知,/proc
vfs 提供了创建观察点的机制,但我似乎不知道如何。
一些手册页将我指向“控制文件”,据称位于/proc/<pid>/ctl
,但我无法在任何地方找到该文件。(也许这个文件只适用于 Solaris?或者是 Ubuntu 的错?)
据我所知,在 Linux 下,调试器必须调用ptrace
以附加到正在调试的进程,并可能影响其行为。
查看GDB的源代码可能会有所帮助。
其中有/proc/<pid>
调试器感兴趣的信息。例如,您可以通过 读取进程的内存/proc/<pid>/mem
。你也可以用ptrace
这个,你需要用ptrace
写。