接到一份代码,VS2005环境下的,需要进行调试,结果设置的断点在DEBUG模式下全部被屏蔽,无法进行单步调试。
时间紧迫,未及深入研究,有资料称是由于代码中的有的字符不是UNICODE所致,常出现在代码的注释行中。由于代码量太大,无法仔细核对每个注释的字符,所以找了个笨办法:
进入VS2005的菜单Tools->Options,选择Debugging->General 去掉 Enable address-level debugging 选项 和 Require source files to exactly match the original version.
无法调试的问题到此解决。结果出现了新的问题,在调试过程中无法打开内存查看窗口 memory
没办法,只好将上述两个选项重新选上,然后将无法调试的那个CPP文件用记事本打开,强制另存为非UNICODE的格式。全部重新编译。上述问题解决。
补充一点:此代码的工程是在双字节模式下编译,而非UNICODE模式。问题没具体深究,只是找了个简捷的方法而已。