建立Visual Studio 2005調試代碼步驟
Visual Studio 2005調試功能由兩方面來實現。首先,如果一個工程是以release方式進行編譯構建的話(就是工程中,沒有pdb文件),調試器會將其認為是非用戶代碼,那么在調試運行時,就根本不會進入該工程中進行Visual Studio 2005調試。
在日常的編程中,程序員經常離不開的工作之一,就是調試。當寫好一段代碼或程序后,在運行后總會出現這樣那樣的問題,比如各樣的錯誤,程序員就必須進行調試,將這些錯誤排除。在最新出爐的Visual Studio 2005中,將提供十分強大而方便的調試功能,從而使程序員能節約時間,提高工作效率。本文中,將主要介紹Visual Studio 2005 在調試方面新增加的幾個重要功能,并介紹它們的簡單用法。#t#
Edit and Contiue功能
在Visual Studio 2005調試程序的時候,經常會遇到這樣的情況:在調試一大段代碼時,遇到了一個小的錯誤,比如參數的賦值錯誤了,這時候,往往希望能夠馬上將這些小的錯誤改正過來后,能夠繼續調試跟蹤下去,而不用結束整個調試過程去修改。在Visual Studio 2003中,我們必須停止當前的調試,修改錯誤的地方,再重新編譯,這樣十分不方便。在Visual Studio 2005 中,提供了一個新的功能叫"edit and continue",意思是說,當你在調試時,遇到小的錯誤需要馬上修改后,可以進行編輯修改,然后繼續往下調試,不需要結束整個調試的過程,當你修改后,調試器在后臺進行了自動的編譯,并且會執行新修改的代碼,十分方便。下面舉個例子進行說明。
打開Visual Studio 2005,使用c#建立一個winform窗體應用程序,在窗體中添加一個label標簽,一個文本框,一個按鈕,如下圖所示,我們要實現的功能是,在文本框輸入一些信息后,點按鈕,會彈出一個消息框,顯示的是剛才輸入的信息。
假如我們編寫的代碼如下所示,出現了一個小錯誤,把textbox1.text的內容當作字符串的一部分了,所以顯示不出用戶輸入的信息。
- 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調試的時候,我們遇到的一個很麻煩的問題,就是有的時候很難看到某些參數的值。比如當你設置了一個斷點去監測一個dataset,并且想看dataset里的每個datatable的數據,這在Visual Studio 2003中,是十分麻煩的,必須在auto/locals的監視窗口中,一層層地展開去看其值。在Visual Studio 2005中,為解決這個問題,新增加了叫"debugging visualizers"(可視化調試器)的功能,該功能可以在調試狀態時,很容易方便地以各類形式,比如文本,html,xml等方式查看各種參數。