C# 和 C++ 语言调试技巧和常见问题

2025-11-05 13:22:06

1、黄色箭头的指示,说明程序根本没有进入for循环,for循环相当于空气了!这说明我们的for语句有问题,而实际上确实是有问题的,实际上应该写为:

for (i=0;i<10;i++)

2、修改一下for语句,重新设置断点。

C# 和 C++ 语言调试技巧和常见问题

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

C# 和 C++ 语言调试技巧和常见问题

4、黄色箭头的指示,说明程序已经进入for循环!

5、多按几次F10,可以在左下角的窗口中看到各个变量值的变化。

C# 和 C++ 语言调试技巧和常见问题

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 '.'

C# 和 C++ 语言调试技巧和常见问题

5、明明不缺少分号,为什么提示缺少分号呢?这是因为WstringtoString()方法是一个静态方法,使用静态方法必须使用getSingleton()来调

1、调试通过,但是运行的时候出现以下提示:

C# 和 C++ 语言调试技巧和常见问题

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

C# 和 C++ 语言调试技巧和常见问题

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

C# 和 C++ 语言调试技巧和常见问题

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

C# 和 C++ 语言调试技巧和常见问题

5、替换后的resources.cfg文件

C# 和 C++ 语言调试技巧和常见问题

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

C# 和 C++ 语言调试技巧和常见问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢