Visual Studio 的图形诊断未捕获任何数据

Posted

技术标签:

【中文标题】Visual Studio 的图形诊断未捕获任何数据【英文标题】:Visual Studio's Graphic Diagnostics not capturing any data 【发布时间】:2015-11-12 18:19:28 【问题描述】:

我正在尝试捕获 DirectX 9 游戏的帧以查看有关其渲染方式的信息。这部分可以用 PIX 来实现,它工作正常。但是,PIX 不会捕获 D3D 事件的任何调用堆栈,而 Visual Studio 会。

所以我尝试改用 Visual Studio 的图形诊断。我没有游戏的代码,但 AFAIK 这也可以用于外部程序。在项目属性中,我已将调试命令设置为应用程序路径。

当我执行图形诊断时,Visual Studio 告诉我游戏没有任何调试信息。游戏正确打开,虽然没有任何新的 HUD,就像我认为的那样。但是,图表中没有记录 FPS 数据,当我按下“捕获帧”时,什么都没有被捕获。

是我做错了什么,还是没有办法做到这一点?

【问题讨论】:

【参考方案1】:

Visual Studio 图形诊断不支持旧版 Direct3D 9。

请记住,旧版 Direct3D 9 已有十多年的历史,并且 Direct3D 9 的调试支持(即调试运行时)不适用于 Windows 8.x 或 Windows 10。

已弃用的 DirectX SDK 中的 PIX for Windows 工具适用于 Direct3D 9,但不适用于 DirectX 11.1 运行时或更高版本(即 Windows 10、Windows 8.x)上的 Direct3D 10 或 Direct3D 11 应用程序, Windows 7 SP1+KB2670838)。

见MSDN和DirectX 11.1 and Windows 7

【讨论】:

以上是关于Visual Studio 的图形诊断未捕获任何数据的主要内容,如果未能解决你的问题,请参考以下文章

启用“仅我的代码”时,Visual Studio 2015 JavaScript 调试不会捕获未处理的异常

Visual Studio 禁用诊断工具

无法在 Visual Studio 2019 中使用诊断工具

Visual Studio 2013 无法创建诊断报告

Visual Studio 2015 诊断工具不支持当前调试配置

VS 2015 诊断工具在运行多个 Visual Studio 实例时意外失败