2012-06-12 20 views
2

我正在調試一些代碼,並且當字符串(const char *)中的字符等於某事時,我需要每次都中斷。當條件應該給出錯誤時,Visual Studio調試器做什麼

所以我把斷點和附加條件,如:s[0] == 'e'。但是我正在調試的代碼是CRT,並且有可能,s == 0是真的。所以「處理空指針」應該會導致某種錯誤。是的 - 我可以給那裏條件s != 0,但它不會是這樣的樂趣:)

而且我很好奇,試圖評估這種情況時,調試器會做什麼?它將如何在內部表現?顯然它不會給出任何錯誤也不會停止在此斷點上s == 0

感謝您的回答。

回答

3

從來沒有嘗試過,但我認爲它會停止執行。我的假設是基於這樣的:

If you set a breakpoint condition with invalid syntax, a warning message appears immediately. If you specify a breakpoint condition with valid syntax but invalid semantics, a warning message appears the first time the breakpoint is hit. In either case, the debugger breaks execution when the invalid breakpoint is hit. The breakpoint is skipped only if the condition is valid and evaluates to false.

Source

相關問題