- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Delphi 中调试时,我经常不小心进入我不感兴趣的代码。
首先,我知道你可以使用 F8 跨过去,使用 f4 可以跑到某行。
示例:
function TMyClass.DoStuff():Integer;
begin
// do some stuff
bla();
end;
procedure TMyClass.Foo()
begin
if DoStuff()=0 then // press F7 when entering this line
beep;
end;
示例:我想通过按 F7 进入 DoStuff() 方法,但我没有进入该方法,而是首先进入 FastMM4.FastGetMem(),这是一大堆汇编代码,显然我不感兴趣此刻。
有几种方法可以解决这个问题,但我不喜欢其中任何一种:
在“bla”上添加断点(如果您只想在特殊场合(例如迭代 23498938)进入 DoStuff,则几乎没有用);
不要按 F7,而是手动将光标移动到“bla”,然后按 F4(对于这个简单的示例有效。实际上,它不会);
如果是 FastMM:暂时禁用 fastmm;
是否有任何方法可以提示 IDE 我从不有兴趣单步执行某个代码块,或者我总是必须设置额外的断点或使用 F4 来尝试避免这种情况?
我希望有一些神奇的编译器指令,例如 {$NODEBUG BEGIN/END} 或类似的东西。
在大多数情况下,能够排除整个单元对我来说已经足够细粒度了,但能够避免某些方法甚至代码行会更好。
更新:也许 codegear 应该引入类似跳过点(而不是断点)的东西:-)
最佳答案
有一个“神奇的nodebug开关”。 {$D-} 将禁用调试代码的生成。将其放置在 FastMM 单元的顶部,您最终将不会追踪到它。如果您最终进入了一个您不想参加的功能,SHIFT-F8 会很快让您退出。 (警告:不要在使用堆栈的汇编代码例程内部使用 SHIFT-F8。可能会导致不可预测的行为。请改为按 F4 到其底部。)
关于delphi - 在德尔福: How to skip sections of code while debugging?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/449159/
我是一名优秀的程序员,十分优秀!