如何开发调试器

Cam*_*ver 5 c++ debugging macos

我正在寻找一种方法来执行诸如附加到进程、设置断点、查看内存以及 gdb/lldb 可以做的其他事情。但是,我无法找到做这些事情的方法。

这个问题类似于这一个,而是适用于MacOS而不是Windows。任何帮助表示赞赏!

注意:我想制作一个调试器,而不是使用一个。

另一件事是我不希望这个调试器超级复杂,我需要的只是读/写内存、断点处理和查看 GPR

Jes*_*uhl 1

使用调试器。例如gdblldb例如。他们有大量文档来教您具体操作,例如gdb -p <pid of process>将 gdb 附加到正在运行的进程。

gdb例如,如果您想C++ 程序进行驱动,则可以在一个单独的进程中启动它(请参阅forkexec),并使用它所需的参数(可能包括启用其机器可解析接口的参数)。确保将 s 设置pipe为其stdin/ stdout,以便可以读取其输出并向其发送命令。

相反,如果您想从头开始编写自己的调试器,那么这是一项艰巨的任务。我建议首先阅读现有开源调试器的源代码。