如何调试你的C#程序2009-10-13龙山文化欢迎来到C#的奇妙天空,在这里,希望你能获得你想获得的东西,.我们真诚希望能给你带来巨大的帮助,带你进入另外一个广阔的空间。Come on. Follow me and then U can Win!同Linux下的Gnu C ++ 工具中的gdb类似,C#提供了一个命令行调试程序"Cordbg.exe",通过这个程序你可以很轻松的调试你的C#应用程序,本文在下面不可能完全给你介绍cordbg的功能,我只是希望能通过本文的介绍,能让你获得一些的东西。能对你有所帮助,对我来说是一件很高兴的事情。废话还是少说!Cordbd: Microsoft (R) Common Language Runtime Test Debugger Shell我暂时不定义这个东东,我们一步一步的看下来: 我的机器配置:Win2K Professional+iis 5.0+Microsoft .NET Framework SDK(Beta2) 我们来开始一个简单的的程序:Test-1.cs /* "Data:2001-12-13 "Author:龙山文化 "FileName:Test-1.cs "One Csharp Test Program */ using System; class Test_1 { static void Main() { string str; Console.WriteLine("Please Enter Your Name. Thanks!"); str=Console.ReadLine(); Console.WriteLine("------------------------------------
"); Console.WriteLine("Dear "+str+", Welcome To Csharp"s World!
"); Console.WriteLine("------------------------------------
"); } }上面这个程序是极其简单的,后面的文章中我将用一个比较复杂的例子来调试。我们现在一步步的开始吧! 不过请注意我使用"/*… …*/"来标记了注释和一些相关文字的说明。 开始->运行->Cmd,ok,现在打开了一个Dos窗口,编译你的C#程序。(下面的所有输入动作是一个整体的调试过程,请注意不要混淆我加在后面的注释。而且也请依照颜色来判断那些是我输入的数据,那些是计算机输出的数据)调试开始: 第一步:编译上面的程序 E:Cs>csc /debug Test-1.cs /* 注意这里我在编译这个Test-1.cs是加了 "debug"这个参数的(这个debug后面的参数就请你老人家自己勤快一下,看看MSDN),如果没有什么错误的话我们继续。需要提醒大家一点的是有的用户的系统PATH中没有指定Csc.exe所在的位置,在运行"Csc.exe"的时候,未必能够找到,那个时候你就必须指定Csc.exe的路径,比如我的Csc.exe的路径就是:"E:Program FilesMicrosoft.NETFrameworkSDKBinCordbg.exe",说这么一些废话其实是因为有的时候在安装了VS7(Beta 2)的电脑上不能直接调用这个东西。 编译过后用Dir查一下你的文件路径,除了多了一个Test-1.exe外还,多了另外一个Test-1.pdb,这是一个存储调试信息的文档。 */ 第二步:装载你的程序;(下面就是你装载一个程序后系统输出的信息)E:Cs>Cordbg Test-1.exe Microsoft (R) Common Language Runtime Test Debugger Shell. Version 1.0.2914.16 Copyright (C) Microsoft Corp. 1998-2001. All rights reserved . (cordbg) run Test-1.exe Process 22952/0x59a8 created. Warning: couldn"t load symbols for c:winntmicrosoft.netframeworkv1.0.2914ms corlib.dll [thread 0x59a4] Thread created. 012: Console.WriteLine("Please Enter Your Name. Thanks!"); (cordbg) /* 装载程序还有另外一种方法,我将在以后的文档中加以说明。*/第三步:调试你的程序;(下面的出现的将是调试程序的时候所有的代码,请注意我的注释是加在后面的)(cordbg)sh 18 001: /* 002: "Data:2001-12-13 003: "Author:龙山文化 004: "One Csharp Test Program 005: */ 006: using System; 007: class Test_1 008: { 009: static void Main() 010: { 011: string str; 012:* Console.WriteLine("Please Enter Your Name. Thanks!"); 013: str=Console.ReadLine(); 014: Console.WriteLine("------------------------------------
"); 015: Console.WriteLine("Dear "+str+", Welcome To Csharp"s World!
"); 016: Console.WriteLine("------------------------------------
"); 017: } 018: }