您的位置:首页 > 编程语言 > C#

C#中调试和错误的处理

2018-03-31 21:42 399 查看

正常模式下的调试

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变量。

同时,在局部变量或者即时窗口,都可以直接对当前的值进行修改、重新赋值。

逐语句逐过程

逐语句

一条一条语句的去执行,在遇到函数等其他语句时,会调到函数中,接着逐语句的去运行,当函数运行完毕再跳回来,就是程序一卡一卡的去执行。

逐过程

也是一条一条的去执行,但是是流水式的去执行,把函数当一条语句去执行,不会有跳转这种行为。相当于从断点一直刷到最后,没有什么逻辑在其中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: