在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;
Run Code Online (Sandbox Code Playgroud)
示例:我想通过按F7进入方法DoStuff(),但是我没有去那里,而是首先进入FastMM4.FastGetMem(),这是一个庞大的汇编代码,显然我对它不感兴趣.时刻.
有几种方法可以解决这个问题,我不喜欢它们中的任何一种:
在" bla " 上添加一个断点(如果你只想在特殊情况下进入DoStuff,几乎没用,比如迭代23498938);
而不是按F7,手动将光标移动到" bla ",然后按F4(Works为这个简单的例子.实际上,它没有);
在FastMM的情况下:暂时禁用fastmm;
有没有办法提示IDE我从来没有兴趣进入某个代码块,或者我是否总是要设置额外的断点或使用F4来避免这种情况?
我希望有一些神奇的编译器指令,如{$ NODEBUG BEGIN/END}或类似的东西.
在大多数情况下,能够排除整个单元对我来说足够精细,但能够避免某些方法或甚至代码行会更好.
更新:也许codegear应该引入像跳过点(而不是断点)的东西:-)