2012-12-20 26 views
7

有人可以解释的目的是什么步骤线程步入线程 Xcode中的调试器命令?在什么情况下使用它们比使用它们更有用步骤步入?有什么区别,什么时候重要?Step Over Thread和Step Into Thread命令有什么用处?

编辑:为了澄清问题,我没有问到Step Over/Step Into/Step Out之间的区别,我询问了正常和“线程”版本之间的区别,以及在什么情况下一个版本比另一个版本更有用。

回答

2

这个词的一个很简单的解释:

Step Into, Step Over, Step Out Commands (Debug Menu)

+3

谢谢,但我很好奇正常和“线程”版本之间的不同...... – Guillaume

+1

这不是Xcode LOL。 :) PO请求Xcode的调试 –

+0

@沃尔福林是的男人你是对的,但一些基本是相同的。并且在所有IDE中调试都是一般概念。 – CRDave

6
  • 步骤进入

执行当前语句,然后在下一个语句处停止。如果当前语句是一个函数或脚本调用,那么调试器进入该函数或脚本,否则它会停在下一个语句。

  • 步过

执行当前语句,然后在下一个语句处停止。如果当前语句是函数或脚本调用,则调试器执行整个函数或脚本,并在函数调用后的下一个语句处停止。

  • 如果函数是嵌套步骤缺货

步骤出来的当前函数和上一级。如果在主体中,脚本被执行到最后,或者到下一个断点。跳过的语句被执行,但没有被贯穿。

争论是关于一般调试所以看

What is the difference between Step Into and Step Over in the Eclipse debugger?

纵观各个特定的焦点是线程,所以你可以看看你的“多线程”的应用程序为单线程应用程序,而无需多个事件/线程等。在你停在休息点的时候跑步。你有一个“稳定的环境”。

http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/060-Debug_Your_App/debug_app.html

3

我只是同样的问题挣扎。问题有点老,但看起来我找到了正确的答案。

Here in documentation,我发现类似的东西:

控制移到步骤进入或在活动线程仅在保持其他线程停止(步骤图标显示虚线而不是在箭头以下实线) 。

控制,按住Shift < Fx的键或单击 >是步过的线程版本各自的快捷键和步入。所以它看起来像只执行当前线程并暂停所有其他线程。正常版本继续执行所有未挂起的线程。

0

根据this book

步过主题步成线冻结所有其他线程,而你前进,你正在调试的线程。按住Shift键并点击按钮进行控制,或者选择 调试菜单中的命令以获得效果。