C#调试和错误处理(1)
来源:互联网 发布:小孩曾卓君的淘宝店 编辑:程序博客网 时间:2024/05/17 01:03
- IDE中的调试方法 ;Ps.集成开发环境(IDE,Integrated Development Environment )
- C#中的错误处理技术。
- 非中断模式下,VS中的调试
(1)将调试信息输出到output窗口,相当与使用Eclipse时,把java代码的输出打印到控制台。
Debug.WriteLine(); // 仅用于Dubug模式
Trace.WriteLine(); // 还可用于Release程序
注意,以上两个方法被包含在System.Diagnostics命名空间内,其唯一的字符串参数用于输出消息。
提示,可以使用string.Format()函数把变量值嵌套在字符串中,其方式与WriteLine()相同,这比使用+号连接符更高效。
如:Debug.WriteLine(string.Format($"hello, i am {name}, at floor {i} ")); // 其中name和i是变量。
(2)跟踪点 tracepoint
跟踪点是VS的一个功能,而不是C#的功能。他实际上是一种输出调试信息且不修改代码(不书写Debug,WriteLine()方法)的功能。
如何为一行代码添加跟踪点:
- 光标放在代码行上(跟踪点会在此行代码执行之前被处理)
- 右击代码选择“断点”->“插入跟踪点”,之后VS2015会自动弹出一个插入在代码中的窗口,以进行跟踪点设置。
- 选中“操作”,在message文本框中输入跟踪点要输出的信息。此信息将会被输出到output窗口。
- 点击OK,跟踪点完成,显示为一个红色的菱形。
如何快速查看程序中的所有断点和跟踪点:
调试->窗口->断点,下拉“列”,选中“发生条件”,可以查看各个跟踪点的输出 。
此外,在调试模式下右击跟踪点,可以删除或者临时禁用该跟踪点。禁用的跟踪点显示为菱形框,而不是实心的菱形。
- 中断模式下的调试
中断模式:
程序启动后,有三个按钮可以选择:
分别为,暂停、结束、重启,其中暂停可以直接进入中断模式,但是并不好,因为你不知道程序跑到哪里被暂停了。Σ( ° △ °|||)︴
断点:断点是源代码中直接进入中断模式的标记。有四种模式:
- 遇到断点,立刻进入中断模式
- 遇到断点,如果布尔表达式为true,则进入中断模式(断点窗口的condition项,条件项)
- 遇到某断点一定次数后,进入中断模式(断点窗口的hit count项)
- 在遇到断点时,如果自上一次遇到断点以来变量的值发生了变化,就进入中断模式。
(断点只能用于调试模式,如果是发布模式会自动忽略所有断点!)
进入中断模式的另外两种方式:
- 在抛出一个未处理的异常时进入
- 在生成一条判定语句时中断(assertion):Debug.Assert(); Trace.Assert(); 如:Trace.Assert(var<10, "var is out of range", "plz contact admin");
监视变量的内容:
- 中断模式下,鼠标移动到变量上,可以显示变量在中断情况下的值;
- 工具提示窗口
单步执行代码:
- Step Into 执行并移动到下一条语句
- Step Over 同上,但是不进入嵌套的代码块
- Step Out 执行到代码块的末端处,在执行完语句后,重新进入中断模式。
三个窗口:
- Immediate窗口:可以执行与当前正在执行的代码不同的以外的代码
- Command窗口:手动执行VS操作,可以与前者切换,且前者更常用
- Call Stack窗口:调用堆栈
- 错误处理
C#是包含“结构化异常处理”的语言。(SEH, Structured Exception Handling)
Try Catch Finally:
try{
}catch(<exceptionType> e) when (filterIsTrue){
}finally{
}
异常过滤器:
如果存在两个处理相同异常类型的catch块,就只执行异常过滤器为true的catch块中的代码。
(待补充
异常对话框:
调试->异常菜单,
阅读全文
0 0
- C#调试和错误处理(1)
- 《C#入门经典》学习笔记(调试和错误处理)
- C#的调试和错误处理
- C#中的调试和错误处理
- 小议C#错误调试和异常处理
- C#入门经典 chapter7 -C#的调试和错误处理
- 调试和错误处理
- 错误处理和调试
- C#入门经典学习7-调试和错误处理
- python学习笔记(1)-错误处理、调试和测试
- c# 错误和异常处理
- C#错误和异常处理
- C++入门(13):错误处理和调试
- Visual Basic的调试和错误处理
- Base-Jsp-4-错误处理和调试
- 快速浏览了“调试和错误处理”
- 第7章 调试和错误处理
- 第五篇 调试和错误处理
- php删除多维数组里面的值
- java.util.Stack源码解析
- linux 文件压缩解压
- MySql临时表,索引的简单介绍
- RMAN 常用命令汇总
- C#调试和错误处理(1)
- ORACLE 11gRAC 安装
- 我的Android进阶之旅------>解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0
- 让IE支持placeholder属性~
- 替换空格(java版)
- hdoj1083 Courses(二分图的最大匹配数)
- maven设置部署程序集
- 盖强STOLL M1 v3.7.014 for WinXP 1CD+Grapyuoft Crchicbd 2017
- 支付宝新版接口API开发