相关疑难解决方法(0)

在Delphi中:如何在调试时跳过代码段?

在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应该引入像跳过点(而不是断点)的东西:-)

delphi debugging

14
推荐指数
3
解决办法
5513
查看次数

我怎么让德尔福知道我已经处理了一个例外?

我已将Application.OnException设置为自定义异常处理程序,以便我可以记录崩溃并提供退出选项.但是,我现在发现这甚至在我已经处理的异常上运行,例如,在验证数字输入时出现的异常.有没有办法让自定义异常处理程序只在未处理的异常上运行?

编辑:事实证明,当我在调试器外部运行时,我得到了预期的行为.也许这只是一个调试器的事情.至少可以说,我没有发现Delphi调试器与异常的交互是直观的.

delphi exception

6
推荐指数
1
解决办法
4016
查看次数

在delphi中关闭运行时的delphi异常

有没有办法在Delphi应用程序中关闭运行时显示的异常消息?我认为必须有一个指令来关闭异常消息,但我不记得它.

delphi exception

1
推荐指数
1
解决办法
5407
查看次数

标签 统计

delphi ×3

exception ×2

debugging ×1