在Delphi中調試時,例外會正確告訴我導致錯誤的代碼行,但我無法訪問任何本地變量。這是調試器的限制嗎?或者我錯過了一些簡單的東西?目前,我必須在故障發生之前將所有局部變量鏡像到全局線上,重新編譯程序並希望能夠重複相同的異常。德爾福的例外,不讓我看到局部變量
例如
MyArray[I]:=Foo(...);
如果I
是出界(與邊界檢查打開),我不能看到變量I
是什麼,除非我把它鏡像到一個全球範圍的調試變量上一行。
或者,如果我有
MyInteger:=Trunc(MyFloat),
和MyFloat
是6.1E+17
,我不知道它的價值。
這是調試器的一個已知限制。沒有什麼可以做的。 –
我是新來的(第一篇文章)。我似乎無法找到「回答問題」,但我看到其他人說「記得標記回答的問題」。我怎麼做? –
我記得,當我遇到這個限制時,Robert,我明確地在引起問題的行上設置了一個斷點(假設問題是可重現的),以便我可以在異常之前訪問局部變量。或者,我用try ...包圍了本地代碼,除了在可以設置斷點的except塊中放置一行外, – RobertFrank