今天又发现了一个无法得到变量的原因,一并整理如下
1,就是最简单,删除pdb重建
2,从网上下的一份代码,某个文件总是得不到变量,对比查找发现多了几个pragma设置,注释掉
//#ifdef _AFX_MINREBUILD
//#pragma component(minrebuild, off)
//#endif
//#ifndef _AFX_FULLTYPEINFO
//#pragma component(mintypeinfo, on)
//#endif
无法加断的情况
1.某些时候某些文件会没办法加断点,实际原因是格式错乱了,重新整理下格式就行
不能正确识别Unicode
1.chrome下的一大堆unitest文件,都没有附带unicode头,vs2005会识别错误,只要先用ultraedit打开然后保存下就行了
但是怎么批量搞不知道
vc里有一些运算符重载,比如cstring的lpctstr运算符
crect的lprect运算符,写法很让人奇怪,但是类似的cpoint就没有实现这个运算符,所以getclientrect既可以用对象,也可以用指针,cpoint的相关的就只能用指针了
调试相关:
1.查看函数返回值,一个是在自动窗口,执行完函数后就可以看到,另一个办法是在监视这里输入函数
2.调试的时候越过了想加断的代码,找到那句代码,右键选设置下一语句即可
3.查看err,监视的地方加@err,hr就可以随时看到函数失败后的err了
4.调试死循环,调试菜单-》全部中断,就会停在死循环的地方