C#编程使用到的几种调试方式
一、前言:
使用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#编程使用到的几种调试方式的更多相关文章
- js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)
js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...
- 面向面试编程——javascript对象的几种创建方式
javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...
- React-Native三种断点调试方式的流程和优缺点比较
RN的调试和web端的调试虽然相似,但是也有一些不同,下面就来比较一下三种断点调试方法的差异 总结: 感觉还是第一种好一些 1.React-Native-Debugger工具调试法 1.1 首先我们得 ...
- 前端(十一)—— JavaScript基础:JS存在的位置、JS变量定义、调试方式、JS数据类型、运算符
JS存在的位置.JS变量定义.调试方式.JS数据类型.运算符 一.JS语言介绍 1.概念 浏览器脚本语言 可以编写运行在浏览器上的代码程序 属于解释性.弱语言类型编程语言 2.组成 ES语法:ECMA ...
- 脚本编程中的test、bash调试、变量计算、参数
脚本编程中的test.bash调试.变量计算.参数 1.文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通文件 -d FILE:测试路径是否为目录 -r FILE:测试当前 ...
- 【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- Python编程中常用的12种基础知识总结
原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...
- 关于Unity的两种调试方法
Unity的两种调试方法 1.Debug.Log()输出语句调试,平时经常用这个 2.把MonoDevelop和Unity进行连接后断点调试 先把编辑器选择为MonoDevelop,Edit----& ...
- keil结合st-link使用SWO的两种调试方法笔记
通过strongerHuang的教程,实现了SWO的两种调试方法, 1.在keil调试的过程中,使用debug printf viewer打印信息, 2.在STM32 ST-LINK Utility中 ...
随机推荐
- 【Android 复习】:Android之ViewFlipper(二)
通过手势移动屏幕 上面是通过屏幕上的按钮来在屏幕间切换的,这看起来多少有点不符合Android的风格,如果要是能通过手势的左右滑动来实现屏幕的切换就比较优雅了. 通过android.view.Gest ...
- (转载)mysql分屏显示结果
(转载)http://blog.csdn.net/wylkeke/article/details/7280645 linux机器: 在mysql命令行输入pager more就可以分屏显示结果了,取消 ...
- Web Service学习笔记
Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...
- Bzoj 1901: Zju2112 Dynamic Rankings 主席树,可持久,树状数组,离散化
1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 6321 Solved: 2628[Su ...
- 研磨设计模式解析及python代码实现——(二)外观模式(Facade)
一.外观模式定义 为子系统中的一组接口提供一个一致的界面,使得此子系统更加容易使用. 二.书中python代码实现 class AModuleApi: def testA(self): pass cl ...
- windows上zend server安装 报The server encountered an internal error or misconfiguration and was unable to complete your request -解决方法 摘自网络
windows上zend server安装完成后报如下错误: Internal Server Error The server encountered an internal error or m ...
- 控制反转(IoC)与依赖注入(DI)
前言 最近在学习Spring框架,它的核心就是IoC容器.要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式.下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Sp ...
- 转:栈和队列小知识【STL用法】
原文出处:http://blog.csdn.net/chenzhenyu123456/article/details/44519943 栈: (一)头文件 #include<stack> ...
- Hadoop: the definitive guide 第三版 拾遗 第十二章 之Hive初步
Hive简介 Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制 ...
- c#复制图片到粘贴板
string fielN; private void button1_Click(object sender, EventArgs e) { OpenFileDialog saveFileDialog ...