C#中调试和错误的处理
正常模式下的调试
1,在vs中使用Console.Write(或者WriteLine)方法向控制台输出变量的值,通过这种形式来观察变量的值是否符合预期。
2,在Unity中可以使用Debug.Log(“”) Debug.LogError(“”) Debug.LogWarn(“”),想Unity的Console窗口输出信息,方便进行调试错误。
中断模式下的调试
通过断点的设置,暂停程序的执行。
断点是什么?即源代码自动进入终端模式的一个标记。
如何插入断点?
- 右键代码,选择breakpoint,insert breakpoint。
- 光标移动到代码行,菜单栏中选择Debug,Toggle Breakpoint。
- 光标移动到代码行,按下F9设置断点,再按下取消断点。
- 在需要添加断点的行首位置,单击设置断点,再次单击取消断点。
断点处选择的行是不执行的。断点信息在断点窗口中可以查看、定位、删除断点。
如何在中断模式下查看变量的值?
鼠标直接移动到变量名上就可以查看,或者在断点窗口中可以看到变量的值。
局部变量中显示当前环境下所有局部变量目前(断点运行)的值。
监视可以监视特定变量的值。
假如在定义的函数中设置断点,我们可以在调用堆栈中看到:
即调用堆栈显示当前行是由哪个函数调用过来的。
而对于即时窗口,可以手动的输入变量名称来查看目前环境下的变量。
第一个res查询失败,是因为查询第一个时断点设置在了Fun中,该环境下没有res变量。
同时,在局部变量或者即时窗口,都可以直接对当前的值进行修改、重新赋值。
逐语句与逐过程
逐语句
一条一条语句的去执行,在遇到函数等其他语句时,会调到函数中,接着逐语句的去运行,当函数运行完毕再跳回来,就是程序一卡一卡的去执行。逐过程
也是一条一条的去执行,但是是流水式的去执行,把函数当一条语句去执行,不会有跳转这种行为。相当于从断点一直刷到最后,没有什么逻辑在其中。
分类:
C#学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异