MSVC 2017 中的图形调试 - 发生错误。您的应用程序的播放可能不完整
Graphics debugging in MSVC 2017 - An error occured. Playback of your application may be incomplete
我成功录制了一次 DX11 诊断会话。当 运行 第二次和以后的任何时候,当我点击一个框架时,我得到这个错误:
An error occured. Playback of your application may be incomplete. (HRESULT = 0x00630000) "Unknown error (0x00630000)"
我使用代码 shown here in Microsoft Docs 以编程方式捕获帧。它以前与其他着色器以及我现在正在调试的着色器一起工作。
我有一个 RAII class 用于调试:
class GPUBlock
{
public:
GPUBlock() : _startResult(DXGIGetDebugInterface1(0, __uuidof(_directXAnalysis), reinterpret_cast<void**>(&_directXAnalysis)))
{
if (debugInitialized())
_directXAnalysis->BeginCapture();
}
~GPUBlock()
{
if (debugInitialized())
_directXAnalysis->EndCapture();
}
bool debugInitialized() const { return _directXAnalysis && !FAILED(_startResult); }
private:
IDXGraphicsAnalysis* _directXAnalysis = nullptr;
HRESULT _startResult = OLE_E_BLANK;
};
用作:
{
Debug::GPUBlock debugGPUplease;
DoGPUWork();
}
原来你必须点击"Stop collection"按钮。如果您以这种方式结束调试,日志将正常工作。
不清楚为什么它以前没有它就可以工作,但这可能是运气而不是正常行为。
此外,如果 BeginCapture()
和 EndCapture()
在不适当的时候调用,也会发生此错误。你不能把它们放在任何地方!您需要捕获整个 GPU 操作,包括设置。
我成功录制了一次 DX11 诊断会话。当 运行 第二次和以后的任何时候,当我点击一个框架时,我得到这个错误:
An error occured. Playback of your application may be incomplete. (HRESULT = 0x00630000) "Unknown error (0x00630000)"
我使用代码 shown here in Microsoft Docs 以编程方式捕获帧。它以前与其他着色器以及我现在正在调试的着色器一起工作。
我有一个 RAII class 用于调试:
class GPUBlock
{
public:
GPUBlock() : _startResult(DXGIGetDebugInterface1(0, __uuidof(_directXAnalysis), reinterpret_cast<void**>(&_directXAnalysis)))
{
if (debugInitialized())
_directXAnalysis->BeginCapture();
}
~GPUBlock()
{
if (debugInitialized())
_directXAnalysis->EndCapture();
}
bool debugInitialized() const { return _directXAnalysis && !FAILED(_startResult); }
private:
IDXGraphicsAnalysis* _directXAnalysis = nullptr;
HRESULT _startResult = OLE_E_BLANK;
};
用作:
{
Debug::GPUBlock debugGPUplease;
DoGPUWork();
}
原来你必须点击"Stop collection"按钮。如果您以这种方式结束调试,日志将正常工作。
不清楚为什么它以前没有它就可以工作,但这可能是运气而不是正常行为。
此外,如果 BeginCapture()
和 EndCapture()
在不适当的时候调用,也会发生此错误。你不能把它们放在任何地方!您需要捕获整个 GPU 操作,包括设置。