今天发现一个非常奇怪的VSIDE BUG,经过1个小时的研究解决

今天象往常一样打开VS开始MaxtoCode的编写

调试的过程中,我发现我完全看不懂程序的走向(到处乱跳)

实在是让我郁闷了好一阵子(我以为我写程序写傻了...呵呵)

经过几次调试,和一些高级调试技巧,我发现原来是代码错位了~~~~晕

问题如下:

1.错误代码报错行数错位
2.debug动态跟踪错位
3.Release跟踪错位
4.断点设置自动被跳转

我是第一次遇到这样的问题(VC++.NET,不过相信这是VSIDE的BUG,所以各位都有可能遇到此问题)

头都大了,代码编译正常,DEBUG和Release运行结果也正常,可是这对调试带来了非常大的难度,这是什么原因造成的?

把N长的代码CPP和H看了N次,没发现有问题.

OK,开始全面测试吧,今天不找到问题,我就不写MaxtoCode了

1.挨个设断点,终于找到了首错位地址,呵呵,进步.

2.偶怀疑是注释造成的问题,去掉全部的注释,再DEBUG,靠,还错位...

3.把开始出问题的代码全部都注释吧...靠,还错位...

4.这是什么问题,快疯掉了...

5.把出问题的代码全部删除,咦,正常了..

6.看来问题就出在被删除的代码上,不过看起来,代码一切正常啊,怎么会出问题呢?

7.拿出UE来,看看代码中是否有非法字符(用十六进制的方式看)

8.问题被看出来了,一般的代码与代码之间的换行是 0x0d 0x0a, 而这段代码中却有几行代码是 0x0d 没有0x0a...
   到现在,我还没试出来怎样的情况下没有0x0a

9.去掉0x0d,重新在IDE中"回车"

10.再Debug,一切正常

这个问题是怎么造成的,我说不清楚,不过它的确正在了,而代码我从没用第二种编辑器编写过,完全是使用的VSIDE2003

不过,问题解决了,如果各位朋友也遇到了这样的问题,希望这篇文章能给您提供一些参考.

(PS:吃饭罗,没有检查有没错别字,如果有,请包含)

Jason.NET

转载于:https://www.cnblogs.com/Aiasted/archive/2005/04/30/148111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值