鸟食轩

 Microsoft .NET[C#] MVP 2003
随笔 - 424, 文章 - 231, 评论 - 5394, 引用 - 344
数据加载中……

今天居然遭遇了如此郁闷的调试问题:(

    今天真是郁闷,本来就挺忙的,因为明天boss要看一个milestone的演示,我和team里的同事紧赶慢赶。本来看着就胜利在望了,可是下午吃饭回来调试的时候却被弄宕机。不是机器宕了,使人宕了

    复杂的代码已都基本写完了,而且自己都测试过很多遍了,手头的工作也就是组装。只不过组装的时候又会有很多的修改,虽然改动不大,可是需要改动的地方却比较得多,要让组件和页面协调起来嘛。开始都挺好的,没有出什么问题,一切都进行的很顺利,而且也渐渐的看见系统的轮廓了。可是不幸也就在不知不觉中降临了。本来运行好好的代码,出来一个错误:
 
    这两个错误是连着跳出来的,一眼看到第一个错误居然提示的这么详细,做JavaScript都知道,浏览器对于语法错误的报错常常是非常让人抓狂的(后面也会看到,这个理论确实是对的)。开始还很高兴,于是就开始去定义DimTreeTab的文件里找错误。可是我是看呀看,看呀看,看了半天,看到眼睛都了,也没有看出任何的语法错误,更别说少个";"了。虽然我原来说过用VS.NET可以很方便的调试脚本,可是调试器对于这种stupid的语法错误一般是没有用的。结果确实是没有用

    最后看了半天,注释掉了很多已做的修改后,还是觉得错误行就是这句了:
   
    这行也有错,骗俺没有学过JavaScript吧?! 还说缺";"呢,真是%^(&*#*%^%。难道发现了脚本解析器的bug,不是吧,这个语句是个js代码就会用,不可能了!

    继续宕机,这个问题都折磨我快一个小时了,而且还把很多已做好的代码都给屏蔽了。没有招了,就开始乱弄,于是在这行语句上面把这行代码再敲一遍,两行语句一模一样了,还是没有看出问题。又把原来的一行删了,居然好使了,没有错误了!!!太高笑了吧?这也行?于是马上想到可能那句代码中有非法字符,而且还是会"隐身"的。打开UltraEdit,把两行代码Copy进去,还没有打开16进制来查看,就发现问题了。原来错误的那行代码里面多了一个"\t"。在UltraEdit中原形毕露了:

    for ( var i=0 ; i < this.m_Panels.length ; ++i )
    for ( var i=0 ; i < this.m_P   anels.lenth ; ++i )

    kao,耍我啊?这都看不出来还调试程序呢?

    真是冤枉啊,由于我的VS.NET的字体是不等宽的,那两行代码在IDE里的效果如下:
   
    
    红色箭头指的地方就是那个"\t"的位置,谁能看出来啊?!。不过也怪自己不知道什么后按了个"\t",还就按的那么准呢...

posted on 2005-01-27 19:22 birdshome 阅读(1728) 评论(17)  编辑 收藏 所属分类: Debug中的滑铁卢

评论

#1楼    回复  引用  查看    

这事谁摊上谁发狂
很有警醒的意义
2005-01-28 01:15 | 大厨师      

#2楼    回复  引用  查看    

写程序的,居然不用等宽字体?????
2005-01-28 01:21 | 问天      

#3楼    回复  引用    

我也曾经被类似的错误burn过一会儿

#4楼    回复  引用  查看    

哇哈哈,终于有个人也碰到这个问题了,哇哈哈。

我也摊上这个问题过,从此以后我把代码字体变成“Courier New”了,即使这个字体显示中文很难看。不过是值得的。
2005-01-28 08:44 | 笑望人生      

#5楼    回复  引用    

这就是另类style的代价
2005-01-28 08:58 | dali [未注册用户]

#6楼    回复  引用    

新宋体是等宽的,而且中文漂亮,用用如何?
我代码里一般没有中文的,所以都用Courier New
2005-01-28 09:10 | Ninputer [未注册用户]

#7楼    回复  引用  查看    

多谢楼主分享经验
2005-01-28 09:25 | 菩提树      

#8楼 [楼主]   回复  引用  查看    

    其实原来我也是用等宽字体的,可是那种代码常常会出现有的语句很长很长,看着也特别的不爽,而且觉得等宽字体非常的生硬。
    不等宽的字体很柔和,而且要是编译型的语言,不会有这样的问题,因为报错是确切的,这个错误正好摊在脚本上,才变得这么郁闷的:(
2005-01-28 09:32 | birdshome      

#9楼    回复  引用  查看    

HOHOHOHO是比较郁闷。
2005-01-28 09:40 |       

#10楼    回复  引用  查看    

我一般不去调字体,默认的挺好的。
2005-01-28 09:54 | lichdr      

#11楼    回复  引用    

birdshome 我有给你一个留言请查看@
2005-01-28 14:08 | Rbmxxx [未注册用户]

#12楼    回复  引用    

偶编写脚本喜欢用EditPlus,偶中意中文版操作系统里的记事本的默认字体Fixedsys 12 ,好像不会碰到你这样的怪问题~~
2005-02-02 19:54 | Dicky [未注册用户]

#13楼    回复  引用  查看    

同感!
2005-03-02 13:18 | chenge      

#14楼    回复  引用  查看    

呵呵,有点意思
2005-08-17 16:37 | 双鱼座      

#15楼    回复  引用    

打开始写程序就没想过要用不等宽字体,这不是给自己找麻烦吗!
2005-08-18 00:56 | Pumpkin [未注册用户]

#16楼    回复  引用  查看    

呵呵,遇到过全角的中文空格没?一样要让人疯掉的
2005-08-29 04:05 | 古月春秋      

#17楼    回复  引用  查看    

haha,倒霉啊:(
2006-06-22 06:40 | zhh007