Step Over Thread和Step Into Thread命令有什么用?

Gui*_*ume 8 debugging xcode gdb lldb

有人可以解释Xcode中Step Over ThreadStep Into Thread调试器命令的目的是什么?在什么情况下使用它们而不是通常的Step OverStep Into是有用的?有什么区别,什么时候重要?

编辑:为了澄清这个问题,我不是在询问Step Over/Step Into/Step Out之间的区别,我问的是普通版和"Thread"版本之间的区别,在什么情况下一个版本更多比另一个有用.

use*_*895 9

  • 踏入

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

  • 跳过

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

  • 走出去

如果函数是嵌套的,则退出当前函数并向上一级.如果在主体中,脚本执行到最后,或者到下一个断点.跳过的语句被执行,但没有逐步执行.

参数是一般关于调试所以看看

Eclipse调试器中Step Into和Step Over有什么区别?

具体来看,重点是线程,因此您可以将"多线程"应用程序视为单线程应用程序,而不会在断点处停止时运行多个事件/线程等.你有一个"稳定的环境".

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


Mar*_*k R 5

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

在文档中,我发现了类似的内容:

Control-Shift 仅在其他线程停止的情况下进入或跨过活动线程(步骤图标在箭头下方显示虚线而不是实线)。

Control-Shift-< Fx 键或单击> 分别是 step over 和 step into 线程版本的快捷键。所以看起来这仅执行当前线程并暂停所有其他线程。普通版本继续执行所有未挂起的线程。


CRD*_*ave 2

这个术语的一个非常简单的解释:

单步执行、单步执行、单步执行命令(调试菜单)

  • 谢谢,但我很好奇普通版本和“Thread”版本之间的区别...... (3认同)