建立Visual Studio 2005調(diào)試代碼步驟
Visual Studio 2005調(diào)試功能由兩方面來實(shí)現(xiàn)。首先,如果一個(gè)工程是以release方式進(jìn)行編譯構(gòu)建的話(就是工程中,沒有pdb文件),調(diào)試器會(huì)將其認(rèn)為是非用戶代碼,那么在調(diào)試運(yùn)行時(shí),就根本不會(huì)進(jìn)入該工程中進(jìn)行Visual Studio 2005調(diào)試。
在日常的編程中,程序員經(jīng)常離不開的工作之一,就是調(diào)試。當(dāng)寫好一段代碼或程序后,在運(yùn)行后總會(huì)出現(xiàn)這樣那樣的問題,比如各樣的錯(cuò)誤,程序員就必須進(jìn)行調(diào)試,將這些錯(cuò)誤排除。在最新出爐的Visual Studio 2005中,將提供十分強(qiáng)大而方便的調(diào)試功能,從而使程序員能節(jié)約時(shí)間,提高工作效率。本文中,將主要介紹Visual Studio 2005 在調(diào)試方面新增加的幾個(gè)重要功能,并介紹它們的簡(jiǎn)單用法。#t#
Edit and Contiue功能
在Visual Studio 2005調(diào)試程序的時(shí)候,經(jīng)常會(huì)遇到這樣的情況:在調(diào)試一大段代碼時(shí),遇到了一個(gè)小的錯(cuò)誤,比如參數(shù)的賦值錯(cuò)誤了,這時(shí)候,往往希望能夠馬上將這些小的錯(cuò)誤改正過來后,能夠繼續(xù)調(diào)試跟蹤下去,而不用結(jié)束整個(gè)調(diào)試過程去修改。在Visual Studio 2003中,我們必須停止當(dāng)前的調(diào)試,修改錯(cuò)誤的地方,再重新編譯,這樣十分不方便。在Visual Studio 2005 中,提供了一個(gè)新的功能叫"edit and continue",意思是說,當(dāng)你在調(diào)試時(shí),遇到小的錯(cuò)誤需要馬上修改后,可以進(jìn)行編輯修改,然后繼續(xù)往下調(diào)試,不需要結(jié)束整個(gè)調(diào)試的過程,當(dāng)你修改后,調(diào)試器在后臺(tái)進(jìn)行了自動(dòng)的編譯,并且會(huì)執(zhí)行新修改的代碼,十分方便。下面舉個(gè)例子進(jìn)行說明。
打開Visual Studio 2005,使用c#建立一個(gè)winform窗體應(yīng)用程序,在窗體中添加一個(gè)label標(biāo)簽,一個(gè)文本框,一個(gè)按鈕,如下圖所示,我們要實(shí)現(xiàn)的功能是,在文本框輸入一些信息后,點(diǎn)按鈕,會(huì)彈出一個(gè)消息框,顯示的是剛才輸入的信息。
假如我們編寫的代碼如下所示,出現(xiàn)了一個(gè)小錯(cuò)誤,把textbox1.text的內(nèi)容當(dāng)作字符串的一部分了,所以顯示不出用戶輸入的信息。
- using System;
- using System.Diagnostics;
- class Program
- {
- static void Main(string[] args)
- {
- // Step into F11 from here
- UserCode();// Place break point on this line
- NonUserCode();
- UserCode();
- }
- static void UserCode()
- {
- Console.WriteLine("This is a call from user Code");
- }
在Visual Studio 2005調(diào)試的時(shí)候,我們遇到的一個(gè)很麻煩的問題,就是有的時(shí)候很難看到某些參數(shù)的值。比如當(dāng)你設(shè)置了一個(gè)斷點(diǎn)去監(jiān)測(cè)一個(gè)dataset,并且想看dataset里的每個(gè)datatable的數(shù)據(jù),這在Visual Studio 2003中,是十分麻煩的,必須在auto/locals的監(jiān)視窗口中,一層層地展開去看其值。在Visual Studio 2005中,為解決這個(gè)問題,新增加了叫"debugging visualizers"(可視化調(diào)試器)的功能,該功能可以在調(diào)試狀態(tài)時(shí),很容易方便地以各類形式,比如文本,html,xml等方式查看各種參數(shù)。