使用原生執行階段檢查
在 Visual Studio C++ 專案中,您可以使用原生 runtime_checks 來攔截常見的執行階段錯誤,例如:
堆疊指標損壞
區域陣列滿溢
堆疊損壞
未初始化之區域變數的相依性
指派至較短變數時流失資料
如果使用具有最佳化 ( /O ) 組建的/RTC,便會造成編譯器錯誤。 如果您在最佳化組建中使用
runtime_checks
Pragma,此 Pragma 會失效。如果要偵錯的程式已啟用執行階段錯誤檢查,則當這個程式發生執行階段錯誤時,預設動作是停止和中斷偵錯工具。 您可以變更任何執行階段檢查的這個預設行為。 如需詳細資訊,請參閱使用偵錯工具管理例外狀況。
下列程序描述如何在偵錯組建中啟用原生執行階段檢查,以及如何修改原生執行階段檢查行為。
本節的其他主題提供下列資訊:
在偵錯組建中啟用原生的執行階段檢查
使用 /RTC 選項,並與 C 語言執行階段程式庫的偵錯版本建立連結 (例如 /MDd)。
若要在 Visual Studio 中設定選項,請參閱 /RTC (執行階段錯誤檢查) 參考文章的備註一節。 在 [基本執行階段檢查] 屬性中設定值,而不是在 [較小類型檢查] 屬性中設定。 不建議使用較小類型檢查屬性。
修改原生的執行階段檢查行為
- 使用
runtime_checks
Pragma。