Foxtable(狐表)用户栏目专家坐堂 → 代码调试技巧


  共有20410人关注过本帖树形打印复制链接

主题:代码调试技巧

帅哥,在线噢!
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
代码调试技巧  发帖心情 Post By:2009/1/7 0:44:00 [只看该作者]

调试技巧


很多错误只有在运行的时候,才会发现。
虽然对于运行中的错误,系统会明确提示是哪一个对象的哪一个事件发生了错误,以及错误的原因;但是要具体定位是哪一行代码有问题,往往是一件非常艰巨的工作,特别是代码很长,逻辑较为复杂的时候。我们可以在代码段中插入MessageBox.show(x),将代码分割成多段,x是一个数字,例如:


代码段一
MessageBox.Show(1)
代码段二
MessageBox.Show(2)
代码段三
MessageBox.Show(3)
代码段四
MessageBox.Show(4)
代码段五
MessageBox.Show(5)
...

这样每执行一段代码,就提示一个数字,在上面的例子中,如果提示2后发生了错误,那么说明问题发生在第三段代码,这样我们就可以重点分析该段代码了,当然代码是有前后关联的,有的时候某处代码执行时发生错误,并不是该处代码有问题,而是前面的代码造成的。

此外,在调试代码的时候,我们还可以利用MessageBox来显示关键变量或数据,这对于分析错误原因,会有很大的帮助。
调试结束后,删除所有用于调试的MessageBox语句即可。

MessageBox语句如果出现在一些特定的事件中,可能会导致死循环,例如表事件PrepareEdit,那么如何来进行调试呢?可以参考下面的例子:


代码段一
If ModifierKey = Keys.Control Then
    MessageBox.Show(1)
End If
代码段二
If ModifierKey = Keys.Control Then
    MessageBox.Show(2)
End If


这样只有始终按下Ctrl键,才会执行MessageBox语句,松开Ctrl键,就回到正常状态,从而避免死循环的出现。


 回到顶部
帅哥哟,离线,有人找我吗?
chunfeng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:21 积分:231 威望:0 精华:0 注册:2009/1/4 12:10:00
  发帖心情 Post By:2009/1/7 18:46:00 [只看该作者]

学习中。。。

 回到顶部