C# 和 C++ 语言调试技巧和常见问题
1、黄色箭头的指示,说明程序根本没有进入for循环,for循环相当于空气了!这说明我们的for语句有问题,而实际上确实是有问题的,实际上应该写为:
for (i=0;i<10;i++)
2、修改一下for语句,重新设置断点。

3、按下F5进入调试状态,再按下1次F10,出现下图界面:

4、黄色箭头的指示,说明程序已经进入for循环!
5、多按几次F10,可以在左下角的窗口中看到各个变量值的变化。

6、在单步运行过程中,如果觉得当前黄色箭头指示行有问题,可以按下F9,在此行开始处添加断点。
1、代码如下HardwareBufferManager::getSingleton().createVertexDeclaration();
见到类似的很多为何不直接写HardwareBufferManager::createVertexDeclaration();
2、getSingleton是一个静态成员函数,返回一个唯一的HardwareBufferManager对象,所以才把它叫Singleton。而createVertexDeclaration是普通成员函数不能直接调用,必须通过对象。
3、不使用getSingleton()会出现的问题
4、如图,我写了这样一行代码
OgreView.WstringtoString(path, parameter.mStringParameter[0]);
出现错误提示:error C2143: syntax error : missing ';' before '.'

5、明明不缺少分号,为什么提示缺少分号呢?这是因为WstringtoString()方法是一个静态方法,使用静态方法必须使用getSingleton()来调
1、调试通过,但是运行的时候出现以下提示:

2、解决方法:调试通过,但不能运行的时候,就应该看log文件了

3、这说明是资源文件的配置不正确,打开E:\bin\release里面的resources.cfg,看到这些资源文件的路径都是不对的!

4、我们需要把所有的“E:/ogre1-7-3/Samples/”都替换为“../../”

5、替换后的resources.cfg文件

6、至此,重新运行程序,发现已无错误提示,问题解决。运行结果:
