2015-11-05 75 views
10

我有2个工作站,一个用于开发,另一个用于测试。我希望能够在测试站上运行和调试在发布模式下构建的目标(代码已分段)。使用lldb/Xcode进行远程调试

由于出于安全原因,代码可能不会复制到测试站,因此我尝试了远程调试,如以下链接所述 - http://lldb.llvm.org/remote.html

由于调试的双方运行OS X,设置指令指定我的本地(开发)工作站应该与'debugserver'一起运行'lldb-server',并且远程(测试)端应运行'platform'。

不幸的是,我找不到Xcode包中的所有工具。我也尝试下载lldb源代码并创建自己的可执行文件,但我仍然缺少lldb-server目标。

我希望我有如何做LLDB远程调试正常,从A到Z

一些清晰和全面的指导
+1

很可能lldb在本地系统上找不到可执行文件的调试信息。 debugserver不会对调试信息做任何事情,这不是它的工作,所以lldb必须在本地查找调试信息以便符号调试正常工作。如果你有一个你制作的可执行文件的本地副本 - 出于性能方面的原因,无论如何,因为这会加快调试速度 - 然后在启动时尝试将本地副本的路径传递给lldb。 –

+1

您可以将它们添加到答案中,然后将其作为解决方案接受,而不仅仅是编辑问题。这会让其他人更容易发现他们是否有同样的问题。 – Valdimar

+0

如果你这样做,你能写一些清晰而全面的关于如何从A到Z正确地进行lldb远程调试的指南吗? –

回答

5
  1. 确保两台机器上都安装了Xcode。 (不同版本都OK!)

  2. 在远程机器上(运行可执行文件):要调试

  3. 开始debugserver,连接到您的应用程序,并监听连接

    1. 启动应用程序从另一台Mac: /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver development-mac.local:16000 --attach="Photo Booth"
  4. 在开发计算机上:

    1. 开始LLDB通过键入lldb
    2. 连接到调试服务器: process connect connect://test-mac.local:16000

在试机,你现在应该看到消息Waiting for debugger instructions for process 0。一段时间后,开发机器上应该会出现(lldb)提示符,您可以像平常一样开始调试。

不幸的是,我不知道如何从Xcode连接。