一、前言:

使用C#语言从08年算起,到现在也有6个年头的时间了。

但 是会使用调试进行辅助编程的时间,却只有5个年头,其中第一年里面,只能傻傻地敲着老师给的案例,不会写就一遍一遍重复手写编码,上机练习。这样的弯路不 知道还有多少学生,在继续。下面,我根据我的经验,总结了几种常用的调试方式,并结合它们使用的场景,优劣,作截图说明。

    二、F5调试

一般稍微智能一点的IDE编程工具都会集成F5调试或运行的功能,Eclipse如此,Visual Studio也是如此,连MSSQL 2008也加了此功能。可见规范,是易于传播和被接受的。

使用F5调试,这是我们使用C#语言做开发的基本常识了。

使用的步骤简述一下:

1)、创建应用程序;

2)、设置启动程序;

3)、设置启动页面;

4)、按F5调试;

(注意:按F9设置断点,就不说了吧)

这种调试方式,可以用于VS创建的控制台程序,WEB应用程序,但是一旦启动,是不允许修改.cs文件的代码的,如果要修改必须要停止调试,这样的话,对于那些运行一次要加载许多组件的应用程序而言非常痛苦。

    三、附加进程调试

这种调试方式的好处就是可以先运行程序,当需要调试哪一个文件时,再附加到进程去调试。看完之后,可以先记下错误,暂时不立即修改的话,可以继续运行完其它的功能,再一起停止程序进行修改。

步骤是:

1)、按Ctrl+F5,直接运行;

2)、需要调试时,在要调试的地方设置好断点;

3)、点击菜单“调试”-》“附加进程”;

找到如下图,双击就可开启调试状态了;

    四、设置debug断点

使用这种调试,往往是针对web页面(也就是.aspx文件)的js脚本。而且,似乎是只针对IE有效,针对其它浏览器,例如chrome,firefox无效。而要使用其它浏览器进行js脚本调试,我们通常使用的是firedebug插件。

IE好像自8版本开始,到ie9,ie10都集成了debug插件了,不过,使用它们的插件调试,还不如直接设置debug调试来得好。

而firefox则需要安装一下firedebug组件,才能使用。

chrome已集成。

使用步骤:

F9:设置断点;F12:开启调试;一旦程序运行至断点处,即进入调试状态。

    五、调试的高级用法

    1)VS的监测与即时窗口

VS的监测,可以在F5调试状态下查看.cs文件使用,当我们要查看某一对象是否是我们想要的值时,我们可以将这一对象,加入监测,并且可以一步一步地展开它所拥有的子对象等属性,方法。

而即时窗口,就更方便了,可以像编程状态下一样,编写代码,进行验证。

    2)Firedebug

Firedebug, 有一个控制台的功能。类似于VS里面的即时窗口,也有监测功能,同样可以实现在调试时,对对象进行监测。这样一边调试,一边编程,可以有效即时地验证自己 的程序正确性,是实现辅助编程的一种很好的方法,也可以通过这样的操作,提升自己的技术学习。

C#编程使用到的几种调试方式的更多相关文章

  1. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  2. 面向面试编程——javascript对象的几种创建方式

    javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...

  3. React-Native三种断点调试方式的流程和优缺点比较

    RN的调试和web端的调试虽然相似,但是也有一些不同,下面就来比较一下三种断点调试方法的差异 总结: 感觉还是第一种好一些 1.React-Native-Debugger工具调试法 1.1 首先我们得 ...

  4. 前端(十一)—— JavaScript基础:JS存在的位置、JS变量定义、调试方式、JS数据类型、运算符

    JS存在的位置.JS变量定义.调试方式.JS数据类型.运算符 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMA ...

  5. 脚本编程中的test、bash调试、变量计算、参数

    脚本编程中的test.bash调试.变量计算.参数 1.文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通文件 -d FILE:测试路径是否为目录 -r FILE:测试当前 ...

  6. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  7. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

  8. 关于Unity的两种调试方法

    Unity的两种调试方法 1.Debug.Log()输出语句调试,平时经常用这个 2.把MonoDevelop和Unity进行连接后断点调试 先把编辑器选择为MonoDevelop,Edit----& ...

  9. keil结合st-link使用SWO的两种调试方法笔记

    通过strongerHuang的教程,实现了SWO的两种调试方法, 1.在keil调试的过程中,使用debug printf viewer打印信息, 2.在STM32 ST-LINK Utility中 ...

随机推荐

  1. 详谈easyui datagrid增删改查操作

    转自:http://blog.csdn.net/abauch_d/article/details/7734395 前几天我把easyui dadtagrid的增删改查的实现代码贴了出来,发现访问量达到 ...

  2. 统计难题 HDOJ --1251

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  3. sort()函数与qsort()函数及其头文件

    sort()函数与qsort()函数及其头文件 sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为: ...

  4. python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出

    看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...

  5. [ZETCODE]wxWidgets教程三:第一个窗体程序

    本教程原文链接:http://zetcode.com/gui/wxwidgets/firstprograms/ 翻译:瓶哥 日期:2013年11月27日星期三 邮箱:414236069@qq.com ...

  6. C随便练练手的题

    判断101-200之间有多少个素数,并输出所有素数 #include <stdio.h> int main(){ ; ; ; ){ while(may<cur){ ){ break; ...

  7. 字符编码笔记:ASCII,Unicode和UTF-8,附带 Little endian和Big endian的解释

    作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步 ...

  8. 设置button 不可被点击

    mGetCode.setEnabled(false);//不可被点击 mGetCode.setEnabled(true);//可被点击 bt.setClickable(true);//设置点击为tru ...

  9. servletConfig对象

    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,web容器在创建servlet实例对象 ...

  10. Contact Form 7邮件发送失败的解决办法

    一.contact form 7无法发送邮件的原因 对mail()函数的不支持. Contact Form 7表单提交失败在使用过程中会出现,归根结底原因在于wordpress主机问题,由于国 内很多 ...