如何在OS X上的进程启动时自动将调试器附加到进程?

时间:2009-09-05 21:12:33

标签: debugging macos child-process

我有一个生成帮助程序的进程。有时我需要在第二个过程中调试启动失败。

在Windows上,我会使用Image File Execution Optionsntsd -o。但是,我不知道如何在OS X上使用gdb执行此操作。

3 个答案:

答案 0 :(得分:7)

使用gdb --wait。例如,尝试

gdb --wait TextEdit
从命令行

,然后启动TextEdit。

答案 1 :(得分:2)

我认为你不能以相同的方式启动gdb。相反,在gdb中运行您的父进程或在将辅助程序分离之前附加到正在运行的进程。有一个名为follow-fork-mode的设置可以控制调试器遵循的进程。请查看the GDB Manual以获得更好的描述。

答案 2 :(得分:2)

如果你使用launchd来生成进程,那么有一个WaitForDebugger布尔键,它位于作业的plist文件中。如果是,那么在exec()作业之前,launchd等待(令人惊讶!)调试器。