如何偵錯存取違規?
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
僅適用原生 |
||||
Pro、Premium 和 Ultimate |
僅適用原生 |
問題說明
我的程式產生存取違規。 該如何偵錯?
方案
使用 [呼叫堆疊] 視窗回到呼叫堆疊,尋找做為參數傳入至函式的損毀資料。 如果失敗,嘗試在發生存取違規的位置之前設定中斷點。 檢查看看資料在這個位置是否是好的。 如果是,嘗試逐步朝向存取違規發生的地方。 如果您可以辨識單一動作,例如造成存取違規的功能表命令,您可以試試另一種技術:在動作 (在這個範例是功能表命令) 和存取違規之間設定中斷點。 然後您可以查看在造成存取違規的期間程式狀態。
您可以結合這些技術來前後作用,直到您已經隔離出發生存取違規的位置。 如需詳細資訊,請參閱使用呼叫堆疊視窗。