zoukankan      html  css  js  c++  java
  • 如何处理程序的错误---记一次犯错经历

    在完成Mesh导入后,准备试着导入其他的X文件来看看效果,结果一直提示我“D3DXLoadMeshFromX()—Failed”。

    1.我考虑到是否是X文件结构可能有所不同,即格式差异,去查找相关资料,未果。

    其中了解到x文件的结构

    (转载)http://blog.csdn.net/lirunfa/article/details/7215548上有详细的说明。

    其中常用的模版类型值得留意。

    2.仔细检查语法调用是否有错,替换至原先的模型文件后,正常显示。

    3.设置断点,查看相关指针为空值(此时始终认为自己文件位置没有放错,而没有深究)。

    4.尝试从函数返回信息入手,查询Wondows DirectX Graphics Document 获得“D3DXLoadMeshFromX()“的详细介绍,

    没有获得如何知晓返回信息的方法。然后就在这时,无意间看了下模型文件放的位置才突然发现自己放的文件位置有误。

    当BUG找到后,我并没有感到高兴,而是为自己低效的BUG排除方法和混乱排除顺序进行了自责,并开始思考如何高效的解决BUG的方法:

    1.当遇到BUG时(如果遵循良好的编码原则--对特殊函数、指针、回调值进行判定,会直接定位到BUG出现区域,从而使得排除范围减小,

    而语法错误之类的应当避免并且编译器会有提示)对出现区域进行检查。

    2排除时手段不能太过单一,我暂时只会简的单设置断点并添加监视,对于编译器提供的各种调试工具(这一点上Android编程中 DDMS Logcat就有相当详细的记录,

    )应当有更多的了解。VS中也有:

    调试子菜单中-》窗口项中也有强大的帮助功能,应当学着使用。

    3.从代码入手,手动获得相关信息也是非常必要的手段,例如开头提到的提示错误,就是通过MessageBox手动设置的。

    关于HRESULT http://msdn.microsoft.com/zh-cn/library/ms690088(en-us,VS.85).aspx  中有详细的介绍。

  • 相关阅读:
    js实现可配置参数的轮播图
    js获取、修改CSS样式
    js值的类型和函数传参
    DOM事件
    C主函数:void main(int argc,char *argv[] )
    eclispe无法获取maven依赖的本地项目jar包
    eclipse没有server选项解决方法
    Eclipse中Tomcat的add and remove找不到项目
    java简单web爬虫(网页图片)
    (转)大前端完整学习路线(详解)
  • 原文地址:https://www.cnblogs.com/moniza/p/3548593.html
Copyright © 2011-2022 走看看