一、前言:

使用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. SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发

    转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中,  已经集成了用于Shar ...

  2. Ubuntu----1

    1. 安装ubuntu之后,你必须要做的事情, 引自:http://itsfoss.com/things-to-do-after-installing-ubuntu-13-04/ 但是对于国人来讲,墙 ...

  3. 虚拟机之仅主机模式(HostOnly)链接外网设置

    我的环境: 虚拟机-VMware 虚拟系统-CentOS 现实主机-win7 具体设置步骤: 一.设置现实主机 (地址等不用额外设置,下面是我电脑正常上网的配置) 将本地链接设置共享(这步很重要) 二 ...

  4. C#如何将线程中的代码抛到主线程去执行

    private SynchronizationContext mainThreadSynContext; //主线程 mainThreadSynContext = new WindowsFormsSy ...

  5. storm spout的速度抑制问题

    转发请注明原文地址:http://www.cnblogs.com/dongxiao-yang/p/6031398.html 最近协助同事优化一个并发消费kafka数据用来计算的任务,压测过程中发现有两 ...

  6. 《Effective C++》学习笔记条款13 以对象管理资源

    条款 13 :以对象管理资源 例:      voidf()      {           Investment *pInv = createInvestment();           ... ...

  7. .NET中ToString()的用法

    一.数字转换到字符串 格式说明符     说明       示例                         输出 C                 货币      2.5.ToString(& ...

  8. hibernate关联关系映射详解

    词汇解释 关系:事物之间相互作用.相互联系的状态.范围最大. 联系:在关系数据库中表示实体与实体之间的联系,1:1,1:n,m:n. 关联:表示对象之间的关系,既有数量性,又有方向性:动词:将对象之间 ...

  9. SSO之CAS备忘

    http://blog.chinaunix.net/uid-28380443-id-4740103.html 自己负责的公司基于CAS单点登录平台架构已经上线运行,很多细节的东西是时候备忘一下了,开源 ...

  10. bootstrap学习笔记--bootstrap网格系统

    移动设备优先 移动设备优先是 Bootstrap 3 的最显著的变化. 在之前的 Bootstrap 版本中(直到 2.x),您需要手动引用另一个 CSS,才能让整个项目友好的支持移动设备. 现在不一 ...