Ycnd 2D教程5---知错就改

程序设计的过程中难免会出现错误,你除了可以使用开发工具或第三方工具所提供的调试、分析功能查错外,Ycnd本身也提供了一些功能来帮助程序员排除编程错误。

下面将分别介绍:

1、利用引擎提供的调试文件;

Ycnd可以将引擎执行过程中的信息写到指定的文件中,以供程序员参考。

要使用这个功能必须要在引擎初始化时正确设定,具体方法为:

a、如果采用的是通过ini文件初始化的方法,则需要将文件中的“UseLog”项和“Log”项设置为有效值。

例:UseLog=1

      Log=Debug.txt

b、如果采用的直接填充初始化信息结构的方法初始化,那么只需将结构体成员“m_bUseLog”和“m_lpLog”设置为有效值即可。

例:

设置好后,Ycnd在执行的过程中就会输出调试信息了。

下面列举一段调试文件的内容:

 

Ycnd 2D 图形引擎 v1.4.323.102 日志文件
---------------------------------------------
Copyright 2009 (C) Lizcst Software Lab
Lizcst Software Lab 版权所有,侵权必究!
---------------------------------------------
时间:                           事件:
2009.08.27, 21:32:47    开始初始化引擎!
2009.08.27, 21:32:47    ---------------------------------------------
2009.08.27, 21:32:47    初始化绘制窗口
2009.08.27, 21:32:47    --注册主窗口类
2009.08.27, 21:32:47    --注册主窗口类,完成!
2009.08.27, 21:32:47    --创建主窗口
2009.08.27, 21:32:48    --成功创建主绘制窗口
2009.08.27, 21:32:48    初始化窗口完成!
2009.08.27, 21:32:48    ---------------------------------------------
2009.08.27, 21:32:48    初始化输入输出系统
2009.08.27, 21:32:48    输入输出系统初始化,完成!
2009.08.27, 21:32:48    ---------------------------------------------
2009.08.27, 21:32:48    以下为D3D初始化过程...
2009.08.27, 21:32:48    --使用硬件抽象层(HAL)
2009.08.27, 21:32:48    ------------------设备信息-------------------
2009.08.27, 21:32:48    --D3D 设备驱动: 未知!
2009.08.27, 21:32:48    --描叙: 未知设备!
2009.08.27, 21:32:48    --版本: 未知版本号!

2009.08.27, 21:32:48    ---------------------------------------------
2009.08.27, 21:32:48    --开启深度缓冲
2009.08.27, 21:32:48    --开启深度缓冲
2009.08.27, 21:32:48    --使用硬件顶点运算
2009.08.27, 21:32:48    D3D初始化成功完成!
2009.08.27, 21:32:48    ---------------------------------------------
2009.08.27, 21:32:48    初始化其他资源
2009.08.27, 21:32:48    --初始化音频系统
2009.08.27, 21:32:48    --初始化音频系统,完成!
2009.08.27, 21:32:48    --初始化几何管理系统
2009.08.27, 21:32:48    --初始化几何管理系统,完成!
2009.08.27, 21:32:48    初始化其他资源,完成!
2009.08.27, 21:32:48    ---------------------------------------------
2009.08.27, 21:32:48    引擎初始化成功完成!
2009.08.27, 21:32:48    进入到主工作循环中。
2009.08.27, 21:32:53    工作循环退出。
2009.08.27, 21:32:53    引擎终止!开始清理资源。
2009.08.27, 21:32:53    清理其他资源
2009.08.27, 21:32:53    清理D3D资源
2009.08.27, 21:32:53    清理程序资源
2009.08.27, 21:32:53    引擎清理完毕!
2009.08.27, 21:32:53    引擎终止!

 

所有成功或不成功(示例中没有)的操作,Ycnd都会记录到文件中,这样程序员就可以知道出错是由哪个环节导致的。

 

2、利用引擎提供的函数GetLastErrorInfo获取上一次函数调用出错的原因:

函数GetLastErrorInfo可以返回程序上一次调用Ycnd函数的出错原因,Ycnd中的大部分函数都支持这种出错信息返回的方式,利用它可以获得比调试文件更加详细的信息。

该函数原型如下:

该函数可能返回的信息主要有:

需要注意的是:GetLastErrorInfo返回的信息会被下一次函数的调用所覆盖,因此,必须在函数调用出错后立即调用GetLastErrorInfo来查看出错原因,否则可能会丢失出错信息!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值