菜鸟询问Dx9的Debug和Retail模式下的问题,debugretail
我用dxut写了一个程序,但如果在DirectX Control Panel里面设置成Use Debug Version of Direct3D就会出现异常,例如(GET_SET_ACCESSOR( DXUTDeviceSettings*, CurrentDeviceSettings ); 中断说这里未处理异常)请问这种情况是什么问题?但如果我改成Use Retail Version of Direct3D就没有问题了,虽然知道Debug模式检测会比较严谨,但GET_SET_ACCESSOR这些函数是微软DXUT内置的,按理应该很严谨的了。虚心求教~
ps:如果这些问题不解决的话用Retail版本生成程序,那么会出现什么错误呢?
解决方案
把注册表这个设置为1
HKCurrentUser/Software/Microsoft/Direct3D/LoadDebugRuntime 把Debug Output Level设成more看看有什么输出 GET_SET_ACCESSOR只是宏替换,应该不是问题,应该是宏展开时赋值CurrentDeviceSettings时出的错,具体地:还是断点跟进看看 你具体是出现什么错误?
用户评论