999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VS.NET中對應用程序進行調試的方法和步驟

2010-10-09 07:52:22郭樹文
赤峰學院學報·自然科學版 2010年3期
關鍵詞:調試

郭樹文

(赤峰市環境科學研究院,內蒙古 赤峰 024000)

VS.NET中對應用程序進行調試的方法和步驟

郭樹文

(赤峰市環境科學研究院,內蒙古 赤峰 024000)

本文介紹了在Visual Studio.NET的IDE環境中對應用程序進行調試的方法和步驟,并介紹了VS.NET中的調試工具.

應用程序;錯誤;調試

開發出應用程序后,必須先確保其沒有錯誤并且安全可靠,然后才能將其交付給用戶.也就是說,在確定應用程序可以發布之前,必須先徹底檢查該應用程序是否存在錯誤,并且應糾正遇到的任何錯誤.其實,任何實際的應用軟件都不能保證完全沒有錯誤,但是程序員要保證盡力發現軟件存在的錯誤并修正這些錯誤.搜尋和消除錯誤的過程稱為調試.調試過程是一個程序員最重要的工作之一.

本文將詳細討論如何對C#中的應用程序進行調試、排除錯誤.

1 調試的必要性

以某大型購物中心的場景為例,該中心使用計算機處理其計費系統.此系統接受顧客所購所有商品的名稱和價格,計算總額,減去折扣(如果有),然后輸出最終的帳單金額.假設在事務處理過程中,收銀員的計算機屏幕顯示一則錯誤消息,然后應用程序終止.這時候必須重新執行未完成的當前事務處理,還必須重新輸入全部信息.但是,如果程序員已經預先編寫代碼對這種情況進行處理,這種錯誤就不會發生,系統也不會崩潰.

必須先完全消除所有已經發現的語法錯誤和語義錯誤,然后才能成功部署應用程序.而在將軟件視為完全可靠之前,應該先對其進行測試.軟件測試過程是軟件開發過程中的一個重要組成部分.但是,盡管測試有助于確定輸出結果是否正確,但它無法確定錯誤發生的確切位置.這就是需要使用調試的原因.

測試是對開發人員認為正確的許多方面進行確認,直至開發人員發現其中一項不正確的這樣一個過程.而調試就是找出并改正這些不正確項的過程.

例如,程序員認為變量X的值在某一時間將為12,或認為在函數調用AREA(number,5)中接收到參數number和5的值是正確的.程序員對此如何確認?答案是使用調試工具.調試工具雖然無法確定錯誤,但是對于確定錯誤發生的位置極為有用.建議在所有的編程工作中使用一個調試工具. Visual Studio.NET的IDE帶有調試工具.

2 錯誤類型

語法錯誤是編碼過程中遇到的最明顯的一類錯誤.程序員在編寫代碼的過程中不遵循語言規則時,就會產生語法錯誤.例如,C#要求程序員在每行代碼的末尾加上分號.如果漏掉分號,就被視為語法錯誤.

當應用程序試圖執行無法實施的操作時,就會產生運行時錯誤.此類錯誤發生在運行時.在程序運行過程中要拿一個變量作除數,然而這個時候這個變量的值是0,這種情況就會產生運行時錯誤.

語義錯誤指編譯器不會直接指出的邏輯錯誤,語法可能是對的,但代碼或許不會顯示所需的輸出結果.此類錯誤僅在其實際發生時出現在運行時,這是最難發現的程序錯誤.檢測此類錯誤的唯一方式是測試應用程序,以確保其提供的輸出結果為預期結果.表1列出了各種錯誤之間的區別.

3 調試過程

很多程序員通常都試圖通過調用輸出函數(如Console.Write()等)來顯示某種消息,以判斷該點以前的代碼是否正確執行,從而達到隔離問題的目的.這些函數還可以用來跟蹤和顯示程序內某個變量的值.這是一種有效的調試技術.但麻煩的是,一旦找到并解決了問題,必須從代碼中刪除所有這些輸出函數的調用.這是一個相當繁瑣的過程.

表1 語法錯誤和語義錯誤

為簡化此過程,大多數編程語言和工具都提供有調試器,以便程序員觀察程序的運行時行為并跟蹤變量的值,從而確定錯誤的位置.使用調試器的優點是,檢查變量的值時不必插入任何輸出語句來顯示這些值.Visual Studio.NET也提供有調試器,以便程序員調試使用.NET支持的任意一種語言編寫的代碼.它為程序員提供了計算變量的值和編輯變量、暫掛或暫停程序執行、查看寄存器的內容以及查看應用程序所耗內存空間的工具等.

使用調試器時,必須在代碼中插入“斷點”,以便在特定行處停止執行.斷點告知調試器,程序應在設置的斷點處暫停執行(暫時停止).程序進入中斷模式后,就處于暫掛狀態.VS.NET中的許多調試器功能都只能在中斷模式下調用.通過這些功能,程序員可以檢查變量的值,如果需要還可以更改變量的值,也可以檢查其他數據.

在VS.NET中設置斷點的步驟如下:

(1)右擊所需代碼行,以設置斷點.此時會顯示彈出式窗口

(2)選擇“插入斷點”.設置斷點所在的代碼行由代碼旁的彩色點指示,且整行均為高亮顯示.

下圖所示為在不同的代碼行設置有斷點的程序示例的代碼窗口.遇到斷點時,程序會在設置斷點所在的代碼行停止.

在上圖中,控制權位于第一個斷點,代碼旁的黃色箭頭和黃色高亮顯示便可表明這一點.要繼續執行程序,請從菜單中選擇“調試”?“繼續”(也可以按快捷鍵F5).如果設置有更多斷點,程序執行將在每個斷點處再次停止,選擇“調試”?“繼續”后將會繼續.

Visual Studio.NET環境提供了創建、編譯和生成應用程序解決方案的工具.共有兩種模式可用來生成應用程序,一種是調試模式(Debug模式)另一種是發布模式(Release模式).調試模式可用來重復編譯應用程序和排除錯誤,直至能夠成功運行.當應用程序無需重復編譯即可發布時,再改成發布模式編譯,然后發布.

4 VS.NET中的調試工具

VS.NET調試器提供有多個窗口,用以監控程序執行.其中可在調試過程中使用的部分窗口包括“局部變量”窗口、“監視”窗口、“快速監視”對話框、“即時”窗口.下面我們將逐個說明這些窗口:

4.1 “局部變量”窗口

“局部變量”窗口顯示局部變量中的值.它只列出當前作用域(即正在執行的方法)內的變量并跟蹤它們的值.控制權一旦轉到類中的其他方法,系統就會從“局部變量”窗口中清除列出的變量(如果超出作用域),并顯示當前方法的變量.

調試應用程序時從菜單中選擇“調試”→“窗口”→“局部變量”,即可顯示“局部變量”窗口.

“局部變量”窗口包含三列信息:“名稱”列顯示變量的名稱,“值”列顯示變量的值,“類型”列顯示變量的類型.當程序執行從一個方法轉向另一個方法時,“局部變量”窗口中顯示的變量也會改變,從而只顯示局部變量.可以為“值”列下的字符串和數值變量鍵入新值,當值被更改后,新值將顯示為紅色.程序將使用這個變量的新值.

4.2 “監視”窗口

“監視”窗口用于計算變量和表達式的值,并通過程序跟蹤它們的值,也可以用來編輯變量的值.與“局部變量”窗口不同,此窗口中要“監視”的變量應由開發人員提供或指示.因此,可以指定不同方法中的變量.要同時檢查多個表達式或變量,可以同時打開多個“監視”窗口.VS.NETIDE中的“監視”窗口如圖9.4所示.變量的名稱應在窗口中指定.執行程序時,“監視”窗口會自動跟蹤變量的值.如果被監視的變量作用域不在當前執行的方法內,將會顯示“標識符超出范圍”的錯誤.

從菜單中選擇“調試”→“窗口”→“監視”窗口(1)“監視”窗口,(2)“監視”窗口,(3)或“監視”窗口,(4)即可顯示“監視”窗口.

4.3 “快速監視”對話框

“快速監視”對話框可用于快速計算變量或表達式的值.通過此對話框還可以修改變量的值.下圖所示為“快速監視”對話框.

此對話框每次只能用來顯示一個變量的值.此外,此對話框實際為模式對話框.也就是說,它不能用來在執行過程中跟蹤變量的值.要繼續執行代碼,必須關閉此對話框.要跟蹤變量的值,可以單擊“添加監視”按鈕,將變量添加到“監視”窗口中.

用右鍵單擊變量并選擇“快速監視”,即可顯示“快速監視”對話框.

4.4 “即時”窗口

“命令”窗口的即時模式可用于檢查變量的值、給變量賦值以及運行一行代碼.下圖所示為VS. NET中“命令”窗口的即時模式.要查找變量的值,必須在變量的名稱前添加問號(?).當應用程序處于中斷模式時,值將顯示在“命令”窗口的即時模式中.同樣,在此窗口中鍵入賦值代碼,然后按下Enter鍵,即可更改變量的值.分中斷模式無法使用“即時”窗口.

從菜單中選擇“調試”→“窗口”→“即時”,即可顯示即時模式下的“命令”窗口.

5 Visual Studio.NET調試器的部分功能

(1)跨語言調試使用 VB.NET、VC++.NET、VC#.NET、Managed Extensions for C++、腳本和SQL編寫的應用程序.

(2)調試為Microsoft.NET框架公共語言運行庫編寫的應用程序以及Win 32本機應用程序.

(3)加入正在主機或遠程機器上運行的程序.

(4)通過在單個Visual Studio解決方案中啟動多個程序,或加入已經在運行的其他程序來調試多個程序.

調試在編碼過程中以最小粒度執行.現在已經有很多的方法和調試環境幫助軟件開發人員在編碼過程中調試程序.集成開發環境(IDE)提供了一種在不需要編譯的情況下捕獲語言專有預定義錯誤(如語句結尾缺少字符和未定義變量等)的方式.

通過對應用程序的調試,可以找出程序中存在的絕大部分語法錯誤和運行時錯誤,減少程序在運行過程中出現錯誤,造成系統中斷.但是,即使找到并消除了應用程序中的語法錯誤和運行時錯誤,程序仍然不一定完全正確.要確保應用程序工作完全正常,還必須使用各種數據對其進行測試.測試可以確保向客戶交付穩定可靠的產品,是檢查應用程序并確保其符合設計規范的過程.測試的另一個重要原因是軟件中包含許多尚未發現的錯誤,為找出應用程序中這些錯誤,應當對其進行測試.

〔1〕Jeff Ferguson,Brian Patterson et al.C# Bible [M].北京:電子工業出版社出版,2002(12):258-269.

TP206

A

1673-260X(2010)03-0026-03

猜你喜歡
調試
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
燃氣輪機發電機組運行調試
FOCAS功能在機床調試中的開發與應用
核電廠主給水系統調試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
調壓柜的調試與試運行探討
工業電氣設備控制系統的安裝與調試
音頻處理器的調試
同期繼電保護調試中出現的問題及處理
基于JTAG的SoC片上調試系統設計
主站蜘蛛池模板: 成人伊人色一区二区三区| 精品福利视频网| 国产白浆在线| 97视频精品全国在线观看| аⅴ资源中文在线天堂| 网友自拍视频精品区| 中文字幕日韩久久综合影院| 五月天婷婷网亚洲综合在线| 午夜视频在线观看区二区| 又爽又大又光又色的午夜视频| 国产男人天堂| 中文字幕免费视频| 毛片免费试看| 看国产毛片| 久久a毛片| 国产在线日本| 国产精品成| 国产一区二区丝袜高跟鞋| 国产成人av大片在线播放| 在线人成精品免费视频| 午夜精品一区二区蜜桃| 国产综合在线观看视频| 日本一区高清| 欧美亚洲一区二区三区在线| 91精品国产无线乱码在线| 亚洲国产理论片在线播放| 人妻无码AⅤ中文字| 欧洲成人在线观看| 日本高清在线看免费观看| 亚洲大尺度在线| 欧美激情伊人| 亚洲天堂久久| 国产熟睡乱子伦视频网站| 欧美日本视频在线观看| 久久国产精品麻豆系列| 国产色婷婷| 青青草原国产av福利网站| 国产女人爽到高潮的免费视频| 日韩精品无码一级毛片免费| 久久久久久国产精品mv| 成人另类稀缺在线观看| 在线观看av永久| 性色生活片在线观看| 色网站在线免费观看| 国产欧美精品午夜在线播放| 久久狠狠色噜噜狠狠狠狠97视色| 亚洲码一区二区三区| 日韩欧美在线观看| 久久精品人妻中文视频| 九九久久精品国产av片囯产区| 五月天在线网站| 亚洲开心婷婷中文字幕| 亚洲男人天堂2018| 国产屁屁影院| 88av在线看| 欧美成人在线免费| 国产精品吹潮在线观看中文| 午夜不卡福利| 国产99在线| 91成人在线免费视频| 久久精品这里只有国产中文精品| 国产成人91精品| av在线无码浏览| 91久久大香线蕉| 97视频免费在线观看| 国产大全韩国亚洲一区二区三区| 伊在人亚洲香蕉精品播放| 精品久久国产综合精麻豆| 欧美第一页在线| 国产性生大片免费观看性欧美| 精品国产污污免费网站| 亚洲VA中文字幕| 亚洲综合经典在线一区二区| 久久免费精品琪琪| 亚洲欧美成人影院| 久久黄色一级视频| 中文字幕自拍偷拍| 国产亚洲高清视频| 欧美亚洲国产一区| 91无码人妻精品一区二区蜜桃| 国产玖玖视频| 一区二区三区成人|