有人可以解释 Xcode 中Step Over Thread和Step Into Thread调试器命令的目的是什么吗?在什么情况下使用它们而不是通常的Step Over和Step Into有用?有什么区别,什么时候重要?
编辑:为了澄清这个问题,我不是在问 Step Over/Step Into/Step Out 之间的区别,我是在问普通版本和“Thread”版本之间的区别,在什么情况下一个版本更多比其他有用。
执行当前语句,然后在下一条语句处停止。如果当前语句是函数或脚本调用,则调试器将进入该函数或脚本,否则将在下一条语句处停止。
执行当前语句,然后在下一条语句处停止。如果当前语句是函数或脚本调用,则调试器将执行整个函数或脚本,并在函数调用之后的下一条语句处停止。
如果函数是嵌套的,则跳出当前函数并上一级。如果在主体中,则脚本执行到最后,或者执行到下一个断点。跳过的语句被执行,但不单步执行。
参数是通用的关于调试所以看看
Eclipse 调试器中的 Step Into 和 Step Over 有什么区别?
具体来看,重点是线程,因此您可以将“多线程”应用程序视为单线程应用程序,而无需在断点处停止时运行多个事件/线程等。你有一个“稳定的环境”。
我只是在同一个问题上挣扎。问题有点老了,但看起来我找到了正确的答案。
在文档中,我发现了类似的内容:
Control-Shift 仅在保持其他线程停止时才进入或越过活动线程(步骤图标在箭头下方显示虚线而不是实线)。
Control-Shift-< Fx Key or click > 分别是线程版本的 step over 和 step into 的快捷键。所以看起来这只执行当前线程并暂停所有其他线程。正常版本继续执行所有未挂起的线程。
这个术语的一个非常简单的解释:
根据这本书:
Step Over Thread和Step Into Thread会在您推进正在调试的线程时冻结所有其他线程。按住 Shift 和 Control 的同时单击按钮,或选择 Debug菜单中的命令来获得效果。