我在前一段時間找到了關於此功能的信息,但主題是Hidden Features of Visual Studio (2005-2008)?的重複,再也找不到了。停止執行我的程序並轉到調試器而沒有設置斷點(Visual Studio/GCC和C++)
我想用這樣的:
#ifdef DEBUG
#define break_here(condition) if (condition) ... // don't remember, what must be here
#else
#define break_here(condition) if (condition) return H_FAIL;
#endif
//...
hresult = do_something(...);
break_here(hresult != H_OK);
//...
var = do_other_thing(...);
break_here(var > MAX_VAR);
它必須表現得像上的錯誤斷點。這就像斷言,但沒有對話,更輕量。
我不能在這裏使用正常斷點,因爲我的模塊是幾個項目的一部分,可以在幾個VS解決方案中編輯。這導致在一個解決方案中設置的斷點在源代碼中的某處移動,而在其他解決方案中編輯代碼時。
謝謝!我發現它幾秒前:)這很奇怪:我搜索了大約一個小時 - 沒有發現。並且在詢問問題後,在一分鐘內找到正確答案:) – zxcat 2009-09-15 17:30:11