我有一个生成帮助程序的进程。有时我需要在第二个过程中调试启动失败。
在Windows上,我会使用Image File Execution Options
或ntsd -o
。但是,我不知道如何在OS X上使用gdb执行此操作。
答案 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等待(令人惊讶!)调试器。