如何阻止 F7 进入 Embarcadero 代码?
How do I stop F7 from going into Embarcadero code?
我正在尝试调试一段包含单行多个函数调用的密集代码。我想单步执行我编写的所有代码,但在这样做的过程中,我不断发现自己在提供的源代码中,包括汇编代码。
这是发生在客户站点的机器 运行 XE5 上。它不会发生在我自己的代码中,运行 XE2 和 XE4。
是什么神奇的设置让这项工作按照我想要的方式进行?
您最好确保在项目选项中禁用调试 DCU。但有时即使这样做也不足以阻止您进入现代 Delphi 版本的 RTL 代码。我怀疑您已禁用调试 DCU,并且被此行为更改捕获。
你唯一能做的就是习惯于知道何时使用跳出 (F8) 而不是介入 (F7 ), 并能够尽快从函数中退出。通常这涉及将光标放在最后一行,运行 光标 (F4),然后再次进入。
您可能还对 Uwe Raabe 提供的 Selective Debugging 工具感兴趣,该工具允许您进行细粒度选择,以选择哪些 DCU 使用或不使用调试信息。
我正在尝试调试一段包含单行多个函数调用的密集代码。我想单步执行我编写的所有代码,但在这样做的过程中,我不断发现自己在提供的源代码中,包括汇编代码。
这是发生在客户站点的机器 运行 XE5 上。它不会发生在我自己的代码中,运行 XE2 和 XE4。
是什么神奇的设置让这项工作按照我想要的方式进行?
您最好确保在项目选项中禁用调试 DCU。但有时即使这样做也不足以阻止您进入现代 Delphi 版本的 RTL 代码。我怀疑您已禁用调试 DCU,并且被此行为更改捕获。
你唯一能做的就是习惯于知道何时使用跳出 (F8) 而不是介入 (F7 ), 并能够尽快从函数中退出。通常这涉及将光标放在最后一行,运行 光标 (F4),然后再次进入。
您可能还对 Uwe Raabe 提供的 Selective Debugging 工具感兴趣,该工具允许您进行细粒度选择,以选择哪些 DCU 使用或不使用调试信息。