附加到远程进程进行调试

时间:2008-10-08 00:52:18

标签: xcode macos debugging gdb xcode3.1

在OSX 10.5上使用Xcode 3.1;是否可以将(调试器)附加到正在运行的远程进程?

我知道可以启动和调试远程进程(如here所解释的那样),但如果我能找到一种方法来连接已经运行的远程进程,那就太棒了......

编辑添加:谢谢。我已经向Apple提交了一份错误报告。如果/当我收到他们的回复时,会更新此问题。

1 个答案:

答案 0 :(得分:7)

在XCode中没有很好的gui,但你可以这样做:

  1. 使用远程调试从XCode启动程序的第二个实例,
  2. 使用控制台中的GDB attach命令
  3. 分步说明:

    1. 关注Apple的instructions设置远程调试:

    2. 在远程控制台上找到正在运行的程序实例的 process-id

      ssh“remotemachine”'ps -x -w -w'| grep“AppName”

      (您也可以使用ARD和ActivityMonitor)

    3. 将断点添加到app main,然后从调试器启动第二个实例(在远程复选框上)

    4. 在GDB控制台(运行/控制台菜单)中输入:

      附上 process-id

    5. 现在您已将XCode附加到正在运行的进程。您现在可以使用图形调试器。

    6. (在早期的XCode中,没有用于附加到本地进程的GUI,因此this trick/hack was the solution...