1.前序
以前用的比较多的Frame Debuger有Render Doc,Graphics Frame Analyzer还有在web端经常会用到的有Spector JS。而以上的工具都有一个共同点,就是调试的时候需要独立于你的代码,对你的可运行程序进行调试,当然也有他的优点,那就是可以实时的修改对应的shader 然后实时的看修改shader后的效果。如果大家有调试需求的可以试试我上边所提到的集中Debug工具。
2.过程
由于最近在弄关于DX11相关东西,今天先是看了HLSL中矩阵的内存布局和mul函数对行优先和列优先矩阵的处理,了解到了在Visual Studio里边也是可以对DX程序进行调试的,步骤如下:
2.1:首先我们在VS2017里边选择调试 -> 图形 -> 启动图形调试:
启动之后你就会得到一个xxx.diagsession的报告,如下图所示:
2.2 在上边2.1的步骤之后,我们只需要点击2.1所示图片然后捕获帧就好了,点击了之后我们就可以得到如下图片:
2.3 双击对应的帧,对其进行调试,我们就得到了如下图所示的界面:
2.4 在2.3的基础上随机选择一个像素,然后我们就可以在左边选择对应的着色器对其进行调试,然后来进行适当的DEBUG,如下图所示:
总结:
在此调试里边所能DEBUG的信息就不一一的去细说了,有需要的根据自己的需求去调试,然后找到自己的问题所在,在此仅仅记录下自己学习的一点相对比较实用的东西。