代码之家  ›  专栏  ›  技术社区  ›  i_am_jorf

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

  •  4
  • i_am_jorf  · 技术社区  · 15 年前

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

    在Windows上,我将使用 Image File Execution Options ,或 ntsd -o . 但是,我不知道如何在OSX上使用gdb。

    3 回复  |  直到 15 年前
        1
  •  7
  •   Ken    15 年前

    使用gdb——等等。例如,尝试

    gdb --wait TextEdit
    

    从命令行启动textedit。

        2
  •  2
  •   D.Shawley    15 年前

    我不认为你可以用同样的方式启动gdb。相反,从gdb中运行父进程,或者在它分叉助手之前附加到正在运行的进程。有一个设置称为 follow-fork-mode 它控制调试器的后续进程。看一看 the GDB Manual 很好的描述。

        3
  •  2
  •   user23743    15 年前

    如果您使用launchd来生成进程,那么 WaitForDebugger 在作业的plist文件中的布尔键。如果是,那么launchd会等待(令人惊讶!)对于以前的调试器 exec() 从事这项工作。