C# ReportLiveDeviceObject向何处报告?
我不确定D3D11Device::ReportLiveDeviceObjects是如何工作的 当我调用它时,在我的输出或控制台中看不到任何东西C# ReportLiveDeviceObject向何处报告?,c#,directx,directx-11,sharpdx,C#,Directx,Directx 11,Sharpdx,我不确定D3D11Device::ReportLiveDeviceObjects是如何工作的 当我调用它时,在我的输出或控制台中看不到任何东西 ID3D11Debug::ReportLiveDeviceObjects(非ID3D11Device::)报告到Visual Studio输出窗口 但是,要生成此报告,您必须具有使用D3D11\u CREATE\u DEVICE\u DEBUG标志创建的ID3D11Device。(默认情况下会有简短报告) 若要生成详细报告,必须具有从当前设备查询的有效对
ID3D11Debug::ReportLiveDeviceObjects
(非ID3D11Device::
)报告到Visual Studio输出窗口
但是,要生成此报告,您必须具有使用D3D11\u CREATE\u DEVICE\u DEBUG
标志创建的ID3D11Device
。(默认情况下会有简短报告)
若要生成详细报告,必须具有从当前设备查询的有效对象。像这样:
m_pDevice->QueryInterface(u-uuidof(ID3D11Debug),(void**)(&m_-pD3D11Debug))代码>
然后只需使用D3D11\u RLDO\u DETAIL调用ID3D11Debug::ReportLiveDeviceObjects()
如果你没有看到任何警告,那么,很可能你所有的通讯都被正确地释放了。尝试创建自定义临时泄漏,以确保检查
在我看来,那份报告几乎毫无用处。有很多误报警告
只需将COM对象封装在某个智能COM指针类中,您就可以确定它们将被正确释放。不清楚您是否从C#使用它,因此在这种情况下,您必须在项目设置中选中“启用本机代码调试”,正如在中所解释的,谢谢,我在CreateDevice上有调试标志,我正在创建ID3D11Debug对象,但在VS输出窗口中仍然没有看到任何内容是的,我正在通过SharpDX从C#使用它。我认为SharpDX只是PInvokes的本地版本,所以不应该有任何区别。不过,让我检查一下本机代码调试。