在Delphi中调试时,例外会正确告诉我导致错误的代码行,但我无法访问任何本地变量。这是调试器的限制吗?或者我错过了一些简单的东西?目前,我必须在故障发生之前将所有局部变量镜像到全局线上,重新编译程序并希望能够重复相同的异常。德尔福的例外,不让我看到局部变量
例如
MyArray[I]:=Foo(...);
如果I
是出界(与边界检查打开),我不能看到变量I
是什么,除非我把它镜像到一个全球范围的调试变量上一行。
或者,如果我有
MyInteger:=Trunc(MyFloat),
和MyFloat
是6.1E+17
,我不知道它的价值。
这是调试器的一个已知限制。没有什么可以做的。 –
我是新来的(第一篇文章)。我似乎无法找到“回答问题”,但我看到其他人说“记得标记回答的问题”。我怎么做? –
我记得,当我遇到这个限制时,Robert,我明确地在引起问题的行上设置了一个断点(假设问题是可重现的),以便我可以在异常之前访问局部变量。或者,我用try ...包围了本地代码,除了在可以设置断点的except块中放置一行外, – RobertFrank