跳至内容

Radeon™ GPU Detective (RGD)

Radeon GPU Detective (RGD) 是一款用于 GPU 崩溃事后分析的工具。

目录

快速入门指南

本指南将帮助您快速上手 RGD,该工具用于 GPU 崩溃事后分析。您将学习如何生成 AMD GPU 崩溃转储和崩溃分析报告。

查看这些要求,以确保此工具符合您的用例

  • RGD v1.5 支持 DirectX12Vulkan

  • Windows 10 或 11.

  • RDNA™2 (RX 6000 系列)、RDNA™3 (RX 7000 系列) 或 RDNA™4 (RX 9000 系列) 显卡。

  • 必须发生 TDR (如果没有 TDR,我们将无法捕获)。

  • 可复现的崩溃 (您需要复现崩溃才能捕获 GPU 崩溃转储)。

准备工作

捕获 GPU 崩溃转储

  1. 在开始之前,如果您曾更改过 TdrLevel 注册表设置,请确保将其设置为 TdrLevelRecover(3)。
  2. 运行 RDP GUI 应用程序 (RadeonDeveloperPanel.exe)。
  3. 在 CAPTURE -> “Available features” 下,启用 “Crash Analysis”。

  1. 在 “Crash Analysis” 选项卡下,确保选中了 Text 复选框以自动生成崩溃摘要。

    • 请注意,硬件崩溃分析功能默认启用。

    • 可选地,在 “DXC shader PDB Search Paths” 字段中提供 PDB 搜索路径,以在崩溃分析报告中启用高级着色器详细信息。

    • 有关硬件崩溃分析和调试信息功能的更多信息,请参阅 RGD help_manual

  1. 运行导致崩溃的应用程序并复现 TDR。

捕获 .rgd 文件后,您可以随时生成文本或 JSON 摘要文件。这可以通过在 RDP 中右键单击 .rgd 文件条目并使用上下文菜单来完成,或者直接调用 rgd 命令行工具 (运行 rgd -h 查看帮助手册)。

启用驱动程序实验后捕获 GPU 崩溃转储

  1. 在 CAPTURE -> “Available features” 下,启用 “Driver Experiments”。

  1. 在 “Driver Experiments” 选项卡下,选择您要启用实验的 API (DirectX12 或 Vulkan)。

  1. 在 “Driver Experiments” 选项卡下,启用/选择您想要激活的实验。

  1. 按照上一节的步骤捕获 GPU 崩溃转储。

崩溃分析

系统恢复后,如果检测到崩溃,您应该会在 “Recently collected dumps” 下看到一个新的 .rgd 文件。.rgd 文件是存储崩溃信息的二进制文件。RGD 不提供打开这些文件的 GUI 工具。相反,您可以直接从 RDP 将它们转换为文本或 JSON 格式的报告。为此,请右键单击并选择 “Open text summary”。

这将打开 .txt 崩溃分析文件,其中包含有助于缩小崩溃根本原因搜索范围的信息。

Command Buffer ID: 0x617 (Queue type: Direct)
=============================================
[>] "Frame 362 CL0"
├─[X] "Depth + Normal + Motion Vector PrePass"
├─[X] "Shadow Cascade Pass"
├─[X] "TLAS Build"
├─[X] "Classify tiles"
├─[X] "Trace shadows"
├─[X] ----------Barrier----------
├─[X] "Denoise shadows"
├─[X] "GltfPbrPass::DrawBatchList"
├─[X] "Skydome Proc"
├─[X] "GltfPbrPass::DrawBatchList"
├─[>] "DownSamplePS"
│ ├─[X] ----------Barrier----------
│ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID1, API stages: Vertex, API PSO hash = 0xc192105aa67f7e88>
│ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID1, API stages: Vertex, API PSO hash = 0xc192105aa67f7e88>
│ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID1, API stages: Vertex, API PSO hash = 0xc192105aa67f7e88>
│ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID1, API stages: Vertex, API PSO hash = 0xc192105aa67f7e88>
│ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID1, API stages: Vertex, API PSO hash = 0xc192105aa67f7e88>
│ └─[>] ----------Barrier----------
├─[>] "Bloom"
│ ├─[>] "BlurPS"
│ │ ├─[>] ----------Barrier----------
│ │ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID2, API stages: Vertex, API PSO hash = 0xe1b221d7ee5e85c9>
│ │ ├─[#] Draw(VertexCount=3, InstanceCount=1) <-- has a correlated running wave <SHADER INFO section IDs: ShaderInfoID2, API stages: Vertex, API PSO hash = 0xe1b221d7ee5e85c9>
│ │ └─[ ] ----------Barrier----------
│ ├─[ ] ----------Barrier----------
│ ├─[ ] Draw(VertexCount=3, InstanceCount=1)
│ ├─[ ] Draw(VertexCount=3, InstanceCount=1)
│ ├─[ ] "BlurPS"
│ ├─[ ] Draw(VertexCount=3, InstanceCount=1)
│ └─[ ] ----------Barrier----------
└─[ ] "Indirect draw simple"

要了解崩溃分析摘要 .txt 文件的内容,请参阅 help_manual

免责声明

本文所含信息仅供参考,如有更改,恕不另行通知。尽管已尽一切努力准备本文档,但仍可能存在技术错误、遗漏和印刷错误,AMD 无义务更新或以其他方式更正此信息。Advanced Micro Devices, Inc. 对本文档内容的准确性或完整性不作任何陈述或保证,并且对与本文描述的 AMD 硬件、软件或其他产品的操作或使用相关的任何类型的责任(包括不侵权、适销性或特定用途适用性的暗示保证)概不承担任何责任。本文档不授予任何知识产权的许可,包括暗示许可或因禁止反悔而产生的许可。购买或使用 AMD 产品适用的条款和限制如双方签署的协议或 AMD 的标准销售条款和条件中所述。

AMD、AMD 箭头标志、Radeon、Ryzen、CrossFire、RDNA 以及它们的组合是 Advanced Micro Devices, Inc. 的商标。本出版物中使用的其他产品名称仅用于识别目的,并可能是其各自公司的商标。© 2025 Advanced Micro Devices, Inc. 保留所有权利。

© . This site is unofficial and not affiliated with AMD.