C#.NET常见问题(FAQ)-程序如何单步调试和设置断点

对于控制台程序而言,直接按F10(不按F5运行)就可以单步运行,当前运行行会显示为黄色(不管是一条语句,还是一个函数,都会直接执行完毕得到结果)

 

你可以在变量名上右击添加监视(会自动放到监视1中),也可以直接在监视1中手动输入变量名,回车之后也可以得到当前的数据

 

而相比之下,直接F11则更加详细(当执行到具体函数的时候也不会把一个函数看做一句话,而是跳转到函数的具体语句一行一行执行,{}也不放过,for循环本质有三句,赋值,判断,自加也不会当做一句话执行)你可以F10和F11交替使用(当需要忽略一个函数执行具体过程的时候可以直接F10,不能忽略的时候F11)

 

在调试面板中有更加详细的说明,比如Shift+F11是走完当前函数剩下的所有行,执行下一个循环(一般用不上)

 

如果是Winform程序,只能F11(首先会有很多额外的步骤,比如初始化Form1,设置窗体的各种属性都算)

 

一般程序会写在Form_load之后,或者更晚,所以必须等前面这么多步骤执行完了才执行。当然你仍然可以右击变量添加监控获取当前数据(如果你直接F10,Form1_Load会被当成一个函数直接执行完毕,你就等不到单步直接窗口跳出来你执行完成了)

为了提高效率,你可以直接在指定行的前面设置断点(程序没有再调试状态的情况下,鼠标左键在任意行的最前面点击一下就会出现一个红色的圆点,表示断点设置完成),有了断点就不怕一下子执行完毕了,可以直接F5(完整运行),如果没有断点会直接生成窗体,但是有了断点之后,就会运行到断点暂停运行,此时你再F10或者F11即可单步调试

 

 

如果启用了IntelliTrace,最好先取消勾选,这个相当于一个动作记录工具,没什么用

 

 

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

http://i.youku.com/acetaohai123

 

我的在线论坛:

http://csrobot.gz01.bdysite.com/

 

问题交流:

QQ:910358960

邮箱:acetaohai123@163.com

 

 

原文地址:https://www.cnblogs.com/acetaohai123/p/7587120.html