12.4.4 監(jiān)視數(shù)據(jù)的值
內(nèi)置調(diào)試器提供了如下的工具用于監(jiān)視程序中數(shù)據(jù)的值:
● 監(jiān)視列表窗口
● 計(jì)算/修改對(duì)話框
● 調(diào)棧窗口
12.4.4.1 監(jiān)視表達(dá)式
監(jiān)視列表窗口(Watch List Window)顯示程序運(yùn)行中當(dāng)前監(jiān)視表達(dá)式的值。
選擇View|Watches可以打開(kāi)監(jiān)視列表窗口。
從Code Editor中添加一個(gè)監(jiān)視表達(dá)式最方便的方法是:
1.選中要監(jiān)視的表達(dá)式;
2.從Code Editor加速菜單中選擇Add Watch把表達(dá)式添加到監(jiān)視列表窗口。
也可以利用下面的方法產(chǎn)生一個(gè)監(jiān)視表達(dá)式:
1.用下列方法之一打開(kāi)監(jiān)視屬性對(duì)話框(Watch Properties Dialog Box):
●主菜單中選擇Run|Add Watch
●在光標(biāo)處從Code Editor加速菜單中選擇Add Watch
●按Ctrl-F5
●雙擊監(jiān)視列表窗口中的一個(gè)監(jiān)視表達(dá)式
●從監(jiān)視列表窗口選定一個(gè)表達(dá)式而后從加速菜單中選擇Edit
2.在監(jiān)視屬性對(duì)話框的Expression下拉列表框中輸入或選擇一個(gè)被監(jiān)視的表達(dá)式;
3.設(shè)定表達(dá)式的顯示格式和使能狀態(tài)。
與斷點(diǎn)類似,利用加速菜單也可以使監(jiān)視表達(dá)式功能喪失、恢復(fù)或刪除監(jiān)視表達(dá)式。
12.4.4.2 計(jì)算/修改表達(dá)式
選擇Run|Evaluate /Modify可打開(kāi)計(jì)算/修改對(duì)話框。當(dāng)單擊Evaluate按鈕時(shí),Expression編輯框中表達(dá)式的值顯示在Result域中。
Expression中可以輸入或選擇任何合法的表達(dá)式(包括對(duì)象的屬性),但不包括;
1.包含有當(dāng)前執(zhí)行點(diǎn)不能引用的局部或靜態(tài)變量的表達(dá)式;
2.函數(shù)或過(guò)程調(diào)用。
Expression中的表達(dá)式可以帶特定的格式字符用于規(guī)定其顯示格式。 格式字符及其功能如下表。
表12.8 格式字符及其功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
格式字符 功 能
─────────────────────────────────
$,H,X 以十六進(jìn)制格式顯示標(biāo)量
D 以十進(jìn)制格式顯示標(biāo)量
C 把ASCII碼在031的特殊字等顯示為ASCII碼圖形
Fn 用n個(gè)有效數(shù)字顯示浮點(diǎn)數(shù)
M 以十六進(jìn)制方式顯示一變量的內(nèi)存轉(zhuǎn)儲(chǔ)值
P 以段和偏移量格式顯示指針。兩部分皆為四位十六進(jìn)制值
R 顯示記錄、對(duì)象的域名和值(例如 X:5,Y:2)
S 用ASCII碼顯示字符串(包括特殊字符)。用于修改內(nèi)存轉(zhuǎn)儲(chǔ)值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
修改表達(dá)式的值常用于驗(yàn)證錯(cuò)誤解決方案的正確性。在Expression編輯框中輸入或選定欲修改的表達(dá)式,單擊Evaluate按鈕觀察表達(dá)式的當(dāng)前值。而后在New Value編輯框中輸入或選中一個(gè)新值,并單擊Modify按鈕確認(rèn)并更新數(shù)據(jù)項(xiàng)。這種修改只影響特定的程序運(yùn)行。
修改表達(dá)式的值(特別是指針變量和數(shù)組下標(biāo))可能會(huì)引起無(wú)法預(yù)計(jì)的后果。因而使用中要特別小心。
12.4.4.3 顯示函數(shù)調(diào)用
選擇View|Call Stack可以顯示調(diào)棧窗口(Call Stack Window)。調(diào)棧窗口的頂端列出了應(yīng)用程序最近的函數(shù)調(diào)用。
利用調(diào)棧窗口可以退出當(dāng)前跟蹤的函數(shù),可以利用加速菜單項(xiàng)顯示或編輯位于特定函數(shù)調(diào)用處的源代碼
內(nèi)置調(diào)試器提供了如下的工具用于監(jiān)視程序中數(shù)據(jù)的值:
● 監(jiān)視列表窗口
● 計(jì)算/修改對(duì)話框
● 調(diào)棧窗口
12.4.4.1 監(jiān)視表達(dá)式
監(jiān)視列表窗口(Watch List Window)顯示程序運(yùn)行中當(dāng)前監(jiān)視表達(dá)式的值。
選擇View|Watches可以打開(kāi)監(jiān)視列表窗口。
從Code Editor中添加一個(gè)監(jiān)視表達(dá)式最方便的方法是:
1.選中要監(jiān)視的表達(dá)式;
2.從Code Editor加速菜單中選擇Add Watch把表達(dá)式添加到監(jiān)視列表窗口。
也可以利用下面的方法產(chǎn)生一個(gè)監(jiān)視表達(dá)式:
1.用下列方法之一打開(kāi)監(jiān)視屬性對(duì)話框(Watch Properties Dialog Box):
●主菜單中選擇Run|Add Watch
●在光標(biāo)處從Code Editor加速菜單中選擇Add Watch
●按Ctrl-F5
●雙擊監(jiān)視列表窗口中的一個(gè)監(jiān)視表達(dá)式
●從監(jiān)視列表窗口選定一個(gè)表達(dá)式而后從加速菜單中選擇Edit
2.在監(jiān)視屬性對(duì)話框的Expression下拉列表框中輸入或選擇一個(gè)被監(jiān)視的表達(dá)式;
3.設(shè)定表達(dá)式的顯示格式和使能狀態(tài)。
與斷點(diǎn)類似,利用加速菜單也可以使監(jiān)視表達(dá)式功能喪失、恢復(fù)或刪除監(jiān)視表達(dá)式。
12.4.4.2 計(jì)算/修改表達(dá)式
選擇Run|Evaluate /Modify可打開(kāi)計(jì)算/修改對(duì)話框。當(dāng)單擊Evaluate按鈕時(shí),Expression編輯框中表達(dá)式的值顯示在Result域中。
Expression中可以輸入或選擇任何合法的表達(dá)式(包括對(duì)象的屬性),但不包括;
1.包含有當(dāng)前執(zhí)行點(diǎn)不能引用的局部或靜態(tài)變量的表達(dá)式;
2.函數(shù)或過(guò)程調(diào)用。
Expression中的表達(dá)式可以帶特定的格式字符用于規(guī)定其顯示格式。 格式字符及其功能如下表。
表12.8 格式字符及其功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
格式字符 功 能
─────────────────────────────────
$,H,X 以十六進(jìn)制格式顯示標(biāo)量
D 以十進(jìn)制格式顯示標(biāo)量
C 把ASCII碼在031的特殊字等顯示為ASCII碼圖形
Fn 用n個(gè)有效數(shù)字顯示浮點(diǎn)數(shù)
M 以十六進(jìn)制方式顯示一變量的內(nèi)存轉(zhuǎn)儲(chǔ)值
P 以段和偏移量格式顯示指針。兩部分皆為四位十六進(jìn)制值
R 顯示記錄、對(duì)象的域名和值(例如 X:5,Y:2)
S 用ASCII碼顯示字符串(包括特殊字符)。用于修改內(nèi)存轉(zhuǎn)儲(chǔ)值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
修改表達(dá)式的值常用于驗(yàn)證錯(cuò)誤解決方案的正確性。在Expression編輯框中輸入或選定欲修改的表達(dá)式,單擊Evaluate按鈕觀察表達(dá)式的當(dāng)前值。而后在New Value編輯框中輸入或選中一個(gè)新值,并單擊Modify按鈕確認(rèn)并更新數(shù)據(jù)項(xiàng)。這種修改只影響特定的程序運(yùn)行。
修改表達(dá)式的值(特別是指針變量和數(shù)組下標(biāo))可能會(huì)引起無(wú)法預(yù)計(jì)的后果。因而使用中要特別小心。
12.4.4.3 顯示函數(shù)調(diào)用
選擇View|Call Stack可以顯示調(diào)棧窗口(Call Stack Window)。調(diào)棧窗口的頂端列出了應(yīng)用程序最近的函數(shù)調(diào)用。
利用調(diào)棧窗口可以退出當(dāng)前跟蹤的函數(shù),可以利用加速菜單項(xiàng)顯示或編輯位于特定函數(shù)調(diào)用處的源代碼