14

现在我已经升级到 Lion 和 Xcode 4.3.x,调试器正在进入 ARC 的内容。所以我看到一个满屏

libobjc.A.dylib`objc_retainAutoreleasedReturnValue:
0x1de7fe0:  pushl  %ebp

and pushland and movland subletc. 不幸的是我不能用符号表示这些,我也不关心调试苹果的东西。有没有办法让调试器只关注我实际拥有的代码?

我正在使用 LLDB,但 GDB 也会发生同样的事情。

编辑:这也发生在 AppCode 上,它说明了一些事情(但我不知道是什么)。

4

3 回答 3

1

这可能不是您想听到的,但是从 Xcode 4.5.2(Xcode 的当前版本,或者至少是我拥有的最新版本;)开始,我不相信调试器可以自动跳过Apple 的内部说明。我不认为这与 ARC 特别有关,而与最新版本的调试器的工作方式有关。

以下是我在调试时解决这个问题的方法:

1)您可以使用“跳过”按钮继续下一段代码(您可能必须这样做几次才能摆脱Apple的东西)。

2)您可以在您正在调试的代码之前和之后放置一个断点。这样,您可以使用“播放”按钮,而不是使用跳过按钮。

于 2012-12-23T03:36:11.017 回答
0

我还没有使用 ARC,但我记得读过这篇文章,其中可能有一些关于配置调试器的线索,可能会有所帮助:

http://brian-webster.tumblr.com/post/20941658970/debugging-an-arc-mac-application-on-snow-leopard

于 2012-05-09T14:08:56.103 回答
0

虽然您发布的消息与 ARC 相关,但此行为与 ARC 无关;有些东西只是将调试器放入汇编指令中。使用调试器中的 Step Out 按钮实际上是您想要将您拉回到自己的代码中。

于 2012-12-28T17:15:36.577 回答