c++ - PIX DirectX 11 调试像素错误

标签 c++ debugging directx-11 dxgi pix

我最近更新了我的 DirectX 11 (C++) 应用程序以支持双显示器、双窗口。从那时起,当我尝试在 PIX 调试器中调试任何像素时,都会出现以下错误:

A call that previously succeeded failed during playback:

EID: 1375 
Call: IDXGIFactory::CreateSwapChain() 
HRESULT: DXGI_ERROR_INVALID_CALL

For more information click 'Help'.

我不再使用 D3D11CreateDeviceAndSwapChain,而是使用 D3D11CreateDevice,然后使用 CreateSwapChain 为两个窗口中的每一个(每个监视器一个)创建单独的交换链。我在进行更改时使用了 SDK 示例 MultiMon10 作为引用,但是当通过 PIX 运行 MultiMon10 示例项目时,我仍然可以无错误地调试像素。因此,这不仅仅是“CreateSwapChain”对 PIX 不友好的问题。

有什么可能导致此错误的想法吗?调试像素和单步执行着色器在过去帮助了我很多,我不想失去这种能力。

最佳答案

看来我遇到了同样的问题。它也会发生在 Visual Studio 2012 图形调试中。必须在 DX Debug模式下使用 CreateSwapChain。

我一直在使用 Intel's GPA tool而是解决此问题。我觉得它非常有用。它可用于在同一台机器上或通过客户端/服务器模型进行调试。

关于c++ - PIX DirectX 11 调试像素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11197488/

相关文章:

javascript - 在 Chrome 中拦截对 console.log 的调用

debugging - 可以从操作系统中禁用/配置英特尔 PT(处理器跟踪)吗?

c++ - 了解 ID3D11Device 和 ID3D11DeviceContext

c++ - 如何从多个需要外部依赖项的 .o 文件创建可执行文件?

c++ - 没有用于调用类构造函数的匹配函数

c - 为什么我的代码返回的数字低于应返回的数字?

3d - View 空间和NDC有什么关系?

c++ - g++4.9 不支持 std::align

c++ - 大括号初始化与括号错误

c++ - Direct3D c++ api 如何更新顶点缓冲区?