如何调试你的C#程序

欢迎来到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("------------------------------------\r\n");
  Console.WriteLine("Dear "+str+", Welcome To Csharp's World!\r\n");
  Console.WriteLine("------------------------------------\r\n");
 }
}

上面这个程序是极其简单的,后面的文章中我将用一个比较复杂的例子来调试。我们现在一步步的开始吧!
  不过请注意我使用"/*… …*/"来标记了注释和一些相关文字的说明。
  开始->运行->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 Files\Microsoft.NET\FrameworkSDK\Bin\Cordbg.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:\winnt\microsoft.net\framework\v1.0.2914\ms
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("------------------------------------\r\n");
015: Console.WriteLine("Dear "+str+", Welcome To Csharp's World!\r\n");
016: Console.WriteLine("------------------------------------\r\n");
017: }
018: }

时间: 2024-11-29 00:45:51

如何调试你的C#程序的相关文章

利用ASP.NET MVC源代码调试你的应用程序

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE

已调试好的asp程序在VB中转换为组件的技巧(转)好象也有不少人问过类似的问题

程序|技巧|问题|转换 已调试好的asp程序在VB中转换为组件的技巧 2001年2月3日 在网易虚拟社区的"VB和Basic区"里有一篇<使用VB编写纯ASP程序 [转][Technology] >,其实我认为最好的方法应该这样: 原文中的定义如下: Dim m_objResponse As Response 其实对于我们写过.dll的来说,并不是很好,就是如果要将该程序拿到.asp程序中进行调试时,尤其是我们将已经调试通过的.asp程序做成.dll时,.asp程序里用的是

已调试好的asp程序在VB中转换为组件的技巧

程序|技巧|转换 上传时间:9/11 17:42  作品来源蓝网原创作者Heatch       在网易虚拟社区的"VB和Basic区"里有一篇<使用VB编写纯ASP程序 [转][Technology] >,其实我认为最好的方法应该这样: 原文中的定义如下: Dim m_objResponse As Response     其实对于我们写过.dll的来说,并不是很好,就是如果要将该程序拿到.asp程序中进行调试时,尤其是我们将已经调试通过的.asp程序做成.dll时,.a

使用Eclipse调试iPhone Web应用程序

开始之前 关于本教程 本教程讲述如何使用 Eclipse.Aptana 的 iPhone 开发插件.Aptana 的 Firefox JavaScript 调试器和 Firebug 调试 iPhone Web 应用程序. 目标 使用基于 Eclipse 的 Aptana Studio 提供的各种工具调试针对 iPhone 优化的 Web 应用程序.本教程主要关注如何最佳地调试 JavaScript 和 Ajax 应用程序. 先决条件 读者应当熟悉 iPhone Web 应用程序开发.JavaSc

图片-vs2010软件在调试时无法定位程序输入点

问题描述 vs2010软件在调试时无法定位程序输入点 5C 解决方案 图片打不开了,你的程序是exe还是dll,dll要指定加载进程exe 解决方案二: 看下是不是bug模式 解决方案三: 看看启动项目 是不是当前项目

struct-为什么在调试的时候会发生程序异常

问题描述 为什么在调试的时候会发生程序异常 #define _CRT_SECURE_NO_DEPRECATE #include #include void main() { struct Member { char ID[7]; char name[10]; char sex; int age; char rank; union grade { char vip; int gen; }mem_grade; int points; }mem; printf("请输入会员信息:n"); p

如何调试Windows Azure应用程序

Windows Azure是一个基于Silverlight的软件,它的开发门户现在也已经焕然一新了.它的所有信息,所有的操作都可以在一个页面中完成.使用这个全新的门户,从配置guest操作系统到停止或重启一个服务,几乎在一个页面上,就可以把所有的事情完成.以下是对Windows Azure应用程序调试的简单介绍 调试应用程序用处十分普遍,可以让开发人员跟踪和修复存在的问题,确保应用程序更加可靠和高效,所以调试应用程序的能力对开发人员来说非常重要. Microsoft Windows Azure开

使用Xdebug调试和优化PHP程序之[1]_php技巧

作者:Haohappy      MSN: haohappy at msn.com Blog: http://blog.csdn.net/haohappy2004 2006-07-04   为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间

c++调试出现xthrow.cpp,程序无法继续,求解。

问题描述 c++调试出现xthrow.cpp,程序无法继续,求解. // exception handling support functions #include _STD_BEGIN CRTIMP2_PURE __declspec(noreturn) void __CLRCALL_PURE_OR_CDECL _Xinvalid_argument(_In_z const char * _Message) { // report an invalid_argument error _THROW_

一起谈.NET技术,利用ASP.NET MVC源代码调试你的应用程序

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE