我正在尝试使用DirectX绘制模型(遵循本教程:https://github.com/Microsoft/DirectXTK/wiki/Rendering-a-model?fbclid=IwAR3A0mw9rzjJHrN3mwgSb9a6oKqNgiDiAnnfkVLIIQVca9Og6cvfvscuVfE)。
我已将我的model.cmo文件添加到添加现有项目,并将以下行添加到 Game :: CreateDevice()
m_model = Model::CreateFromCMO(m_d3dDevice.Get(), L"model.cmo", *m_fxFactory);
由于上述行中的异常,我无法构建和运行项目
directX_project.exe中0x747318A2处未处理的异常:Microsoft C ++异常:内存位置0x00B3F738的std :: exception。发生
我将感谢您提供有关如何解决或调试该问题的所有提示
答案 0 :(得分:0)
您应按照std::exception
的说明here中的说明,为调试器启用“ C ++异常中断”,以便您可以确切地看到触发异常的代码。
请注意,DirectX Tool Kit的最新版本为那些可能是“找不到文件”或类似问题的故障提供了更多的调试输出。
Directem工具包还针对其C ++异常实现了what方法,因此您可以使用以下代码获得更多详细信息:
try
{
m_model = Model::CreateFromCMO(m_d3dDevice.Get(), L"model.cmo", *m_fxFactory);
}
catch (std::exception& ex)
{
std::cout << ex.what();
// Do some error handling here or call throw to re-throw it
}