连接远程进程进行调试

6
在OSX 10.5上使用Xcode 3.1,是否可以附加(调试器)到正在运行的远程进程?我知道可以启动和调试远程进程(如这里所述),但如果我能找到一种方法附加到已经运行的远程进程,那将是很棒的... 编辑以添加:谢谢。 我向苹果提交了一个错误报告。 如果/当我从他们那里听到时,我会更新这个问题。
1个回答

8

在XCode中没有适合的GUI界面,但你可以按照以下方式操作:

  1. 使用远程调试从XCode启动程序的第二个实例。
  2. 从控制台使用GDB附加命令。

按步骤说明:

  1. 按照苹果公司的说明设置远程调试:

  2. 查找远程计算机上正在运行的程序的进程ID:

    ssh "remotemachine" 'ps -x -w -w' | grep "AppName"

    (您也可以使用ARD和ActivityMonitor)

  3. 将断点放到应用程序主要部分,并从调试器(在远程计算机上)启动第二个实例。

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

    attach process-id

  5. 现在,您的XCode已经连接到正在运行的进程。您现在可以使用图形化调试器。

(在早期的XCode中,没有适合附加到本地进程的GUI界面,因此这个技巧/黑客是解决方案......)


http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/XcodeDebugging/300-Debugging_Programs_Remotely/remote_debugging.html - AlBlue
5
看起来developer.apple.com的链接已经失效了。有人知道它们实际上应该去哪里吗? - JimDusseau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接