【本文出自程序人生 >> Visual Studio調試小技巧】記得《Windows核心編程》一書的開頭部分講到了Visual Studio中一個查看錯誤消息的小技巧,前幾天調試程序想用一下,可一時記不起來是什麼參數了,所以去網上找了下,發現還有其他小技巧,就順便記下來,方便以後忘記的時候快速查找。
一、錯誤代碼
不需要GetLastError()之後格式化成數字寫Log,然後用Error Lookup查詢;或者直接調用API查詢對應語言版本的錯誤信息。在監視窗口中寫下$err,hr即可看到詳細的錯誤描述信息,跟Error
Lookup一樣的效果。
二、查看消息Message類型
Windows的消息是UINT格式,在調試的時候如果直接輸入變量,看到的也就是一個數值。如果在變量名後面加上一個英文逗號和小寫的wm,就可以顯示成宏的形式了,比如“uMsg,
wm”,效果如下圖:
三、條件斷點
& 命中次數
Visual
Studio支持條件斷點,我們可以先下一個普通斷點,然後在斷點上面單擊鼠標右鍵,即可顯示出“條件斷點”以及“命中次數”,條件斷點可以在指定條件成立時斷下,這裏的條件類似if語句裏面的條件,支持常見的邏輯操作符以及一些C語言字符串函數。
以前不知道有這個功能(裝了Visual Assist X之後,右鍵菜單就沒有條件斷點和命中次數的菜單項了,加上了VAX自己的很多菜單項),所以我會使用內聯彙編來解決這個問題,在需要下條件斷點的地方用if語句做一個判斷,然後在條件成立時執行__asm int 3這條指令,就會觸發一個CC斷點了。所以如果要使用這裏的功能,請先禁用掉Visual Assist X這個插件(如果你沒有安裝VAX的話就可以直接使用這個功能了;當然VAX這麼強大的工具對提高開發效率還是非常有幫助的)。
命中次數可以設置當命中斷點多少次時斷下,在沒有達到指定的命中條件之前不會斷下。
四、數據斷點
進入調試狀態之後,選在Visual Studio的菜單項“調試”->“新建斷點”->“新建數據斷點”可以建立數據斷點,用於對指定的地址進行監控,可以設置監控的數據尺寸大小。當被監控的地址的數據發生變化時便會自動斷下。
如果需要監控變量的值,如發生變化時自動斷下,可以通過取地址操作符&來取得變量的地址值。
本文出自程序人生 >> Visual Studio調試小技巧