偷来的C#调试技巧,笔记
完整版:
=================
条件中断
假如你写了个for循环,而且循环的次数比较多,如下代码,现在我们知道在i=50的时候会有异常,那我们不可能按50次F5去调试这代码,不然这效率….
i=50; 如下图
当然我们也可以直接在代码里写代码以达到这个目的,代码如下
private void ConditionDebug()
{
for (int i = 0; i < 100; i++)
{
System.Diagnostics.Debug.Assert(i != 50);
if (i==50)
{
//some error code here
Console.WriteLine("i=50 here");
}
}
}
===========总有一天会用到Ajax的=========================
涉及到Ajax的调试
现在ajax已经十分的流行,但是随之而来的即调试困难,大部分初级程序员不知道如何有效地从前台调试到后台代码,以至出了很多不完善的ajax应用。
下面以一个简单的实例来介绍如何使用Visual Studio调试JavaScript。实例是使用Ajax验证用户登录,如果验证通过,则提示“登录成功”,否则提示“登录失败”。
下面是主要的代码,我们使用jQuery来实现ajax,并且在后台文件中故意出错。
正确的用户名和密码是admin和1
调试方法如下,在后台入口处设置断点,然后在前台js中调用后台的方法处设置断点,然后按F5启动调试,当我们输入用户名、密码后,点击登录后会发现,前台断点被触发了。
按F5继续调试,有时候会跳到jQuery的源码中,不管他,继续F5,会发现执行到后台中的断点中,如下图
而后台代码的调试是十分简单的。(PS:有时候无需在前台设置断点也可直接进入后台的调试,如何不行的话,在前台html文件或者aspx文件中认为有可能出错的地方设置断点,一步步调试)
=======================含有断点的高级技术篇==========================
这里面主要针对VS2010,调试Silverlight的时候可能会有用,里面包含多个工程的连调。
现在暂用的还是2005,收藏先。
会发现此时i已经为50了,有兴趣的朋友可以看看Assert的其他用法。