今天居然遭遇了如此郁闷的调试问题:(
今天真是郁闷,本来就挺忙的,因为明天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 阅读(2334) 评论(18) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器