一、前言:

使用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. 【转】android-support-v7-appcompat.jar 的安装及相关问题解决 --- 汇总整理

    原文网址:http://tdppro.blog.51cto.com/749956/1388853 1.DownLoading the Support Libraries 1)Start the And ...

  2. How to make project not set to be build

    1.BUILD->Configuration Management... 2. When you guys add new projects to the kiosk solution plea ...

  3. Java基础—异常处理总结

      异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地 ...

  4. Java之Arrays.asList陷阱

    Java.Util.Arrays可以将数组转换为List,具体的定义如下: @SafeVarargs public static <T> List<T> asList(T... ...

  5. 获取和设置select和checkbox的值

    if ($("input[name = 'recpower']").prop("checked") == true) //获取checkbox值 { data. ...

  6. yii中上传图片及文件

    Yii 提供了 CUploadedFile 来上传文件,比如图片,或者文档. 官方关于这个类的介绍 : http://www.yiichina.com/api/CUploadedFile CUploa ...

  7. 【Java重构系列】重构31式之搬移方法

    重构第二式:搬移方法 (Refactoring 2: Move Method) 毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它 ...

  8. 【转】Android仿QQ截图应用测试

    使用过QQ的同学应该都用过QQ截图,Ctrl+Alt+A进入截图操作,通过拉伸,移动高亮区域的框体可以快速截取我们需要的图片.在android应用中,我们也经常需要截图操作,以下实现了一个类似QQ截图 ...

  9. UVM:8.2.4 factory 机制的调试

    1.UVM提供了print_override_info 帮助debug.以上节new_monitor 为例: 2.调用print_override_info : 结果: 实际调用debug_creat ...

  10. Binary image

    http://www.uio.no/studier/emner/matnat/ifi/INF3300/h06/undervisningsmateriale/week-36-2006-solution. ...