共用方式為


呼叫函式好幾百次時,如何判斷是哪一個呼叫失敗?

問題說明

我的程式在呼叫某個函式 (CnvtV) 時失敗。 失敗之前,程式大概會呼叫此函式幾百次。 如果我在 CnvtV 上設定一個中斷點,程式會在每次呼叫此函式時停止,但是我不要這樣。 我不知道什麼條件會造成呼叫失敗,因此我無法設定條件中斷點。 我該怎麼做?

解決方案

您可以在函式上設定一個 [叫用次數] 欄位值永遠無法遇到的中斷點。 在這種情況下,因為您相信函式 CnvtV 會遭呼叫幾百次,請將 [叫用次數] 設為 1000 或更高。 接著執行程式並且等候它失敗。 當程式失敗時,開啟 [中斷點] 視窗並且查看中斷點的清單。 您在 CnvtV 上設定的中斷點會出現,其後跟著叫用次數和未完成的重複運算次數:

CnvtV(int) (no condition) when hit count is equal to 1000 (currently 101)

現在您已經知道函式會在第 101 次呼叫時失敗。 如果您以叫用次數 101 重設中斷點並且再次執行程式,程式會在上次造成失敗的 CnvtV 呼叫處停止。

請參閱

概念

機器碼偵錯 FAQ

其他資源

Setting Breakpoints

偵錯機器碼