Xcode调试器 - 通过方法调试

时间:2013-07-25 10:51:55

标签: xcode debugging

我习惯使用Visual Studio的调试器,它实际上会跟踪应用程序的逻辑路径,从一个方法跳到另一个方法,让你看看有什么东西可能不起作用。

当我在Xcode(4.6.3)中使用'Step into'或'step over'进行调试时,我需要通过一些方法但是它似乎跳进编译代码而我迷路了。由于这个原因,我无法看到事件的逻辑流程或顺序,所以我做错了吗?

如何跟踪代码中实际执行的操作,但是以一种有意义的方式跟踪并且不显示已编译的代码?

例如我在ViewDidLoad上放了一个断点,因为我想看看调用该方法后会发生什么,因为我的应用程序没有按预期工作。其他地方的断点没有被击中,所以我需要追查一个问题。

所以我的ViewDidLoad断点被击中,我通过该方法工作,然后当调试器到达方法的末尾时,它会飞到编译的代码中,所以我不知道事件顺序中的下一个是什么。

2 个答案:

答案 0 :(得分:0)

我不认为你可以避免这个问题,因为代码它“飞走”可能没有符号,无论如何你没有源。

这种情况并非Xcode独有;它将在Visual Studio和其他所有操作系统中发生。

一种方法是提供视图/所有的子类化方法(即使他们所做的只是调用[super method]而不是更多)并在每个方法上设置断点。

或者,如果实例变量以意外方式进行了重击,请设置watchpoint

答案 1 :(得分:0)

我面对的是同样的情况。但是,以下两个链接帮助我理解为什么会发生这种情况。

基本上,您首先需要“ UN-CHECK DEBUG-> DEBUG WORKFLOW->选项时调试中的选项。

然后,如果您正在尝试调试自己的代码,那么调试的工作方式与Visual Studio中的相同。但是如果您正在寻找的代码是从某个Framework调用的,那么无论“Show Disassembly”的设置是什么,调试器肯定会回到汇编代码。

检查这些链接以进一步明确。它们是来自同一页面的答案。

XCode Debugger: Why is it only showing me assembler?
https://stackoverflow.com/a/1421275/2377928
https://stackoverflow.com/a/7301489/2377928

谢谢,

希望这有帮助!