我曾经能够在Visual Studio 2012中检查着色器,但现在我已经丢失了它。用户界面实际上并没有崩溃,但是无模式弹出消息说"这可能需要几分钟时间。永远不结果子。我在another site发现了一条帖子声称安装VS2012 Update 3解决了这个问题,但这对我的情况没有帮助。
当使用Pix作为选项时,我发现在BeginPaint()/ EndPaint()对之外进行渲染以获得速度会导致调试问题,但这次再次出现这个问题。
更多信息:最初有一条警告消息,"调试' YourApp.exe'无法找到或不匹配。符号文件中没有原生符号"。正如我所期望的那样,因为管理主应用程序,DirectX工作是通过稍后加载的非托管引擎DLL处理的(一旦我知道要使用的位版本)。
答案 0 :(得分:1)
Tombola,我是Visual Studio中图形调试器的开发人员。正如您所见,2013预览为图形调试器添加了一些大的稳定性和缩放改进。您之前可能看到的是在尝试启动着色器调试时播放引擎崩溃。图形调试器工具在VS 2012中附带了一些稳定性问题,但从那时起,Update 2和现在的VS2013(RTM也应该在预览上有所改进)已经大大帮助了这个问题。
答案 1 :(得分:0)
您是否尝试过在框架中调试第一个绘图调用?
帧越向下,在着色器执行之前进行的DirectX调用越多,调试器启动的时间就越长;复杂的场景可能需要很长时间。
如果即使第一次绘制调用无法启动调试,也许可以尝试注释掉代码以减少API调用的数量,并查看是否存在导致问题的特定操作。
答案 2 :(得分:0)
事实证明,VS2013预览可以毫无困难地调试VS2012 .vsglog文件中的所有着色器(nb.express build缺少自动和观察着色器的窗口)。这当然需要Windows 8.1预览。将这两者设置在专用虚拟机内,安全成本约为8 gig(32位,VirtualBox)。