HOW TO:設定資料中斷點 (僅限原生)
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
僅適用原生 |
||||
Pro、Premium 和 Ultimate |
僅適用原生 |
寫入儲存在特定記憶體位置的值時,資料中斷點會中斷執行。 如果該值已讀取但未寫入,則不會中斷執行。
資料中斷點在這些狀況下無法運作:如果目前未偵錯的處理序寫入至記憶體位置,或有兩個以上的處理序共用記憶體位置。
如果記憶體位置已在核心內更新,則資料中斷點不會運作。 例如,已將記憶體傳遞給 32 位元的 Windows ReadFile 函式,記憶體將會從核心模式進行更新,而偵錯工具將不會在記憶體寫入時中斷。
若要設定資料中斷點,偵錯工具必須只處於中斷模式下。
偵錯工作階段之間的變數位址會有所不同。 因此,在每個偵錯工作階段的結尾會自動停用資料中斷點。
如果對區域變數設定資料中斷點,當函式結束時,資料中斷點會一直保持啟用狀態。 不過,其設定的記憶體位址不再具有相同意義。 因此,這類中斷點的結果是無法預期的。 如果對區域變數設定資料中斷點,最好的做法是在函式結束前移除或停用中斷點。
Visual Studio 支援每個方案最多四個資料中斷點。
注意事項 |
---|
根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。 若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。 如需詳細資訊,請參閱 使用設定。 |
若要設定記憶體變更中斷點
在 [偵錯] 功能表上選擇 [新增中斷點],然後按一下 [新增資料中斷點]。
-或-
按一下 [中斷點] 視窗功能表中的 [新增],然後選擇 [新增資料中斷點]。
[新增中斷點] 對話方塊隨即出現。
在 [位址] 方塊中,輸入評估記憶體位址的記憶體位址或運算式。
例如,輸入當變數 avar 的內容變更時要中斷的 &avar。
在 [位元組計數] 方塊中,輸入想要偵錯工具監看的位元組數量。
例如,如果輸入 4,偵錯工具將會從 &myFunction 開始來監看四個位元組,並且在任何這些位元組的值變更時中斷。
按一下 [確定]。