问题如下:
1.错误代码报错行数错位
2.debug动态跟踪错位
3.Release跟踪错位
4.断点设置自动被跳转
可能的原因有三种:
第一:
代码和dll或者exe不一致;
第二:
数组等越界导致内存乱了;
第三:
0D0A 改为了0D少了0A或者中文注释打乱了VS对0D0A的定位
方法一:
最方便的方法是静态编译看看是不是第三个原因,
首先VS的option里面把line number勾选出来,这样可以看到每行代码的行数,在断点错位的那行代码里面人为的添加几个语法错误,
然后编译,看看报错的代码行数是不是已经错位了,如果已经错位了,就是第三种情况,可以拿UE或者直接把中文注释全部删掉,
慢慢排查看看哪行换行符出了问题,简便办法是在随机的代码行里面人为添加语法错误,来逐步定位哪里几行的问题。
方法二:
1.挨个设断点,终于找到了首错位地址,呵呵,进步.
2.偶怀疑是注释造成的问题,去掉全部的注释,再DEBUG,靠,还错位...
3.把开始出问题的代码全部都注释吧...靠,还错位...
4.这是什么问题,快疯掉了...
5.把出问题的代码全部删除,咦,正常了..
6.看来问题就出在被删除的代码上,不过看起来,代码一切正常啊,怎么会出问题呢?
7.拿出UE来,看看代码中是否有非法字符(用十六进制的方式看)
8.问题被看出来了,一般的代码与代码之间的换行是 0x0d 0x0a, 而这段代码中却有几行代码是 0x0d 没有0x0a...
到现在,我还没试出来怎样的情况下没有0x0a
9.去掉0x0d,重新在IDE中"回车"
10.再Debug,一切正常
分享到:
相关推荐
VS2005调试WIN下的网页没有断点解决办法
VS 2005变量跟踪及断点调试.网上搜的,希望对大家有用
VUE断点调试技术 大家都知道后端开发是可以设置断点调试运行的,现在前端开发也可以和后端开发一样设置断点调试运行了
PhpStorm设置断点调试
解决安装IE8后VS2005无法调试的问题
java开发如何进行远程调试远程服务器,在远程服务器上设置断点 本机设置断点调试大家都会,那如何在远程服务器上设计断点调试.今天我来教大家,JAVA远程调试断点技术
本文目录概述调试方法第一步:添加测试代码第二步:添加断点第三步:调试show Execution pointStep OverStep IntoForce Step IntoStep Outrun to Cursor查看断点修改变量值停止调试 概述 众所周知,断点调试是一个合格...
VS断点失效问题解决方案,一般人我不告诉他。
在VS2008中设置高级断点的方法。如设置当某个变量的值改变时的断点,设置某一段内存值发生变化时的断点。
易语言设置内存断点源码,设置内存断点,DebugEip,DebugRetn,GetDebugInfo,SetUnhandledExceptionFilter,SuspendThread,RtlMoveMemory_EXCEPTION_RECORD
430系列单片机调试时可设置的断点数总结
由于Delphi 7、2007和 2010在界面上乃至功能上的一些变化,所以在动态链接库DLL断点调试上,有较大的变化。在今后几天的时间中,笔者会以三篇文章来分别详细地介绍Delphi 7、2007和 2010这三个版本中的DLL断点调试...
在使用Weblogic服务器时配制断点调试
用VC开发了一个OCX控件,调试时,可以用测试容器进行断点调试,但是使用IE浏览器测试时,不能进入断点调试,但是网页时有输出的,说明OCX控件的调用时正常,但是不能进入调试,这个rar包能够解决
Android JNI 断点调试C++,一个简单测试,方便初学者入门NDK环境搭建和java调用c++并调试
对于学习c或c++的人来说,是调试程序的一种很好用的方法!可以模仿学习一下!
前端vue+vscode断点调试详解 chrome,f12,Sources-Filesystem添加文件夹映射,即映射到本地项目的源码中进行断点调试 SourceMap能够让压缩翻译过的最终版的各种文件与原来未压缩过的文件对应起来
断点调试时java程序员经常用的,记得当初学习java时不会用断点,看了些资料,现在分享给大家,希望对不会的朋友有帮助。
vs2008 高级条件断点 VS 指定值时下断点
Unity3D断点Android真机调试。亲测可用。如有问题请加入QQ:94297366