一、前言:

使用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. SQL Server 字段状态判断语句

    selct newName=case when  条件 then '否' else '是' end from tableName

  2. Linux无线网络设置(wpa_supplicant的使用)

    主机环境:Gentoo Linux 3.1.10 WPA Supplicant工具包可以让您连接到那些使用WPA的AP.因为还只是beta版,所以它的配置方法仍会常常变化——尽管如此,在大部分情况下它 ...

  3. Linux上使用Qt Creator进行C/C++开发

    目录[-] 1.安装Qt Creator和基础构建环境(以Ubuntu为例): 2.把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shif ...

  4. HDU-1406 完数

    http://acm.hdu.edu.cn/showproblem.php?pid=1406 完数 Time Limit: 2000/1000 MS (Java/Others)    Memory L ...

  5. Ruby跳出多层循环 catch...throw

    在编码的时候,有时候会遇到嵌套循环的情况,最内部的循环结束的时候,想跳出所有循环,这个时候我们往往采用通过内部循环设置一个flag来控制外部跳出循环条件,比如: #encoding:utf-8 for ...

  6. 2D游戏编程1--windows编程模型

    一.创建一个windows程序步骤 1.创建一个windows类 2.创建一个事件处理程序 3.注册windows类 4.用之前创建的windows类创建一个窗口 5.创建一个主事件循环   二.存储 ...

  7. Bzoj 1042: [HAOI2008]硬币购物 容斥原理,动态规划,背包dp

    1042: [HAOI2008]硬币购物 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1747  Solved: 1015[Submit][Stat ...

  8. apache启动目录(禁止目录)与设置默认入口文件的方法

    设置默认入口文件的方法: 打开apache的conf目录,找到httpd.conf文件,打开这个文件,搜索dir_module,找到以下截图修改位置进行修改,注意重启apache服务器,修改位置才会生 ...

  9. 制作一个html中闪动的title 来提示消息

    var flashTitlePlayer = { start: function (msg) { this.title = document.title; if (!this.action) { tr ...

  10. MapReduce中的map个数

    在map阶段读取数据前,FileInputFormat会将输入文件分割成split.split的个数决定了map的个数.影响map个数(split个数)的主要因素有: 1) 文件的大小.当块(dfs. ...