高效的使用watch視窗

2021-04-01 16:17:11 字數 1323 閱讀 7210

原文出處:http://blog.vckbase.com/lishengg_blog/archive/2004/10/27/1101.html

程式除錯過程中,最重要也羅嗦的就是要檢視變數的值,還有getlasterror要時時執行看api執行
是否正確,下面的高效的使用watch視窗可以給各位減輕一下除錯的勞動:
在watch視窗中輸入下面的內容:

1) @err,hr 顯示api函式呼叫getlasterror的返回值,和解釋

2) @eax,hr 顯示eax暫存器的值,由於win的api的返回值放在eax中,所以這句話就是得到最近乙個api 的返回值

3) p,***(數字) 陣列指標擴充套件出來只有單個元素,而你又想看到全部陣列元素,可以用這個技巧

4) vc除錯觀察視窗的格式化符號**

符號 格式 例子 輸出

d或者i 有符號十進位制整數 -42,d -42

u 無符號十進位制整數 42,d 42

o 無符號八進位制整數 42,o 052

x或x 十六進製制整數 42,x 0x0000002a或0x0000002a

h 為d,i,u,o,x顯示字首 42,hx 0x002a

f 有符號浮點數 1.5,f 1.500000

e 有符號科學計數法 1.5,e 1.500000e+000

g 壓縮的有符號浮點數 1.5,g 1.5

c 字元 42,c '*'

s ansi字串 "bugs",s "bugs"

su unicode字串 "bugs",st "bugs"

hr hresult和win32錯誤碼 0x06,hr the handle is invalid

wm windows訊息號 0x01,wm wm_create

[digits] 顯示陣列元素 s,5 顯示s前五個值

gdb下watch的使用

這裡大概說下gdb除錯程式時,watch的使用。至於原理尚不清楚,以後再做補充,還請見諒。watch通常需要和break,run,continue聯合使用。下面舉例說明 如下 include int main 除錯的時候過程如下 gdb l 1 include 2 3 int main 4 gdb ...

vue之 watch的使用

1 watch可以直接監視字串,first newvalue,oldvalue 相當於 first immediate true,一定要加immediate屬性,不然只有first發生變化 fullname才會生效,加上之後vue初始化的時候就執行了t his.fullname this.first...

vue中watch的使用

text v model.lazy username watch lazy的作用,在enter鍵按下或者失去輸入框失去焦點後觸發此方法的缺點 當值第一次繫結的時候不會執行監聽函式,只有當值改變的時候才會執行 需求 如果我們想在第一次繫結的時候就執行此監聽函式,則需要設定immediate為true....