共用方式為


使用原生執行階段檢查

在 Visual Studio C++ 專案中,您可以使用原生 runtime_checks 來攔截常見的執行階段錯誤,例如:

  • 堆疊指標損壞

  • 區域陣列滿溢

  • 堆疊損壞

  • 未初始化之區域變數的相依性

  • 指派至較短變數時流失資料

    如果使用具有最佳化 ( /O ) 組建的/RTC,便會造成編譯器錯誤。 如果您在最佳化組建中使用 runtime_checks Pragma,此 Pragma 會失效。

    如果要偵錯的程式已啟用執行階段錯誤檢查,則當這個程式發生執行階段錯誤時,預設動作是停止和中斷偵錯工具。 您可以變更任何執行階段檢查的這個預設行為。 如需詳細資訊,請參閱使用偵錯工具管理例外狀況

    下列程序描述如何在偵錯組建中啟用原生執行階段檢查,以及如何修改原生執行階段檢查行為。

    本節的其他主題提供下列資訊:

  • 自訂使用 C 語言執行階段程式庫的執行階段檢查

在偵錯組建中啟用原生的執行階段檢查

  • 使用 /RTC 選項,並與 C 語言執行階段程式庫的偵錯版本建立連結 (例如 /MDd)。

    若要在 Visual Studio 中設定選項,請參閱 /RTC (執行階段錯誤檢查) 參考文章的備註一節。 在 [基本執行階段檢查] 屬性中設定值,而不是在 [較小類型檢查] 屬性中設定。 不建議使用較小類型檢查屬性。

修改原生的執行階段檢查行為

  • 使用 runtime_checks Pragma。