2009-05-29 91 views
9

我有一个XCode项目(我的主xcode项目有它的可执行文件)。它依赖于其他一些项目(详细视图中的项目选项卡下,还有一些其他依赖的xcode项目)。如何在依赖xcode项目中设置断点

我的问题是如何在依赖项目的代码中设置断点?

我想这一点,但是这不工作 1,打开我的主要xcode项目 2.双击源目录依赖xcode项目 3.之一,找到我想要打破文件,并添加断点(通过点击编辑器边框的一侧,出现一个蓝色的“书签事物”) 4.返回“Build and Go”,我的应用程序确实运行,但它在我设置的断点处从不中断#3。

有人可以帮我吗?我已经花了几天时间,我不知道为什么。

谢谢。

+0

只要建立了依赖项目,并且主项目链接到了其构建产品,就可以正确实施。 – cdespinosa 2009-05-30 00:20:38

回答

0

这里一些东西......(一些明显有些没有)

1)确保依赖项目与调试符号编译(我假设它是一个库)

2)是确保您的活动可执行文件链接对你的依赖库的调试版本

3)只是打电话到您的lib,的入口点设置在入口点的BP之前设置在主项目中的断点的lib ...(除了你正在寻找的真正的断点......)

我发现调试库的最佳方式是打开lib项目并将活动可执行文件设置为主项目,然后直接从库项目中点击“构建和调试”。

我希望这会有所帮助,祝你好运,玩得开心!

0

我有类似的问题与Xcode。对我来说,解决方案是确保主项目中也有一个断点(正如肯特在第三点中提到的那样)。我不明白为什么这个工程虽然。

您应该只在打开项目时在项目中设置断点。如果你不这样做,他们可能会开始行为不端:在你禁用或删除它们之后,仍然停止执行流程,或者当你认为它们已被启用时仍然不工作。

0

确保您选择'Build and Debug'(对于步骤#4)。 '去'有时意味着'运行'(禁用断点),有时意味着'调试'(启用断点)。

此外,请确保在调试主项目时保持打开相关项目。

1

我会在此回应Jon-Eric,并补充说如果您习惯性地使用Cmd + Enter运行项目,则应该考虑切换到Cmd + Y以便每次启用gdb。

1

无论何时我在使用Xcode GUI设置断点时都遇到了麻烦,我已经设法使用调试器命令行(也就是说,输出窗口中的“lldb”提示符)执行此操作。例如,要在源文件“客户端”中设置断点。M”在第42行中键入:

(lldb) b client.m:42 

除了是这一特定问题的修复,在命令行调试提供了比任何GUI更大的灵活性和automatability可以一个良好的开端将是LLDB tutorial。 (完全公开:我是unix和gdb的老粉丝,所以这里有一些偏见)

当然,正如其他人所说的,确保库/依赖项目是用调试符号编译的。帮助;祝你好运

15

1)在项目中添加断点

2)进入断点在Xcode中查看(除了项目导航左上)视图的图标就像一个断点图标

3)右键点击所需要的断点,然后选择“移动到” - >“用户”

如果断点位于“用户”项目下,则所有项目都可以访问它。

+0

非常有用的感谢。但我想知道:断点是在“工作区”部分。它不可能被工作区中的所有项目所访问?事实是:不是,但我想知道为什么? – Guian 2016-10-19 08:27:12

0

除了有关调试符号的肯定回复之外,请检查主项目的构建设置中的COPY_PHASE_STRIP值,并确保它在调试中设置为NO。

相关问题