Trouble getting Aftermath flow working to debug GPU crashes

I’m following the steps outlined in Aftermath GPU Crash Debugging Workflow | Tutorial and it doesn’t seem to work. I’m not getting dxil files being written (I verified my ini settings as well as did the dance to force recompile all shaders). Where is code that I can put a breakpoint in to see why this isn’t working for me?

We’re on 5.6.1 here and the guide indicates that the .nv-gpudump should be located in the Saved/Crashes folder, however mine is in Logs (which is supposed to only happen in 5.5 according to the guide). Is this because I’m running with a debugger attached? Are there other steps that need to be done here?

Finally, I tried to open the dump in Nsight Graphics to see if I could get anything out of it, but it is not finding any symbols, despite pointing it at the specified directory with a recursive search.

Any other debugging tips to help get

[Attachment Removed]

Hi Ryan,

Can you send me an engine log file showing your attempts to generate the shader PDBs and DXIL, with a crash? I was able to generate shader symbols with a vanilla 5.6 engine build; however, they showed up in Saved/ShaderSymbols/<Platform> for me, so we will need to update the guide. As for the .nv-gpudump file, the error message says it will be written to Saved/Logs, but we automatically move it to Saved/Crashes (at least that happened in my case), so everything should work accordingly.

[Attachment Removed]

Ok, I see. The fact that your files are showing up in Saved/ShaderSymbols/ is expected and a typo in our docs, which we will correct. Do you only have shader PDBs in that folder, or do you also have DXIL files? Would you mind sharing the console variables you enabled to attempt to generate the DXIL and PDBs?

[Attachment Removed]

My apologies for the outdated info in that guide, some of the output folders and Aftermath options changed in 5.6 and later versions of Aftermath as you noted. I’ve updated the parts in question, namely:

  1. You shouldn’t need r.DumpShaderDebugInfo=1 anymore, just r.Shaders.Symbols=1
  2. You shouldn’t need to recompileshaders global anymore in 5.6
  3. The only folder you need is <project name>\Saved\ShaderSymbols and it should have all those wonderful .pdb and .dxil files in there
  4. The GPUDebugCrash hang command should generate a .nvdbg file alongside the .nv-gpudmp in your <project name>\Saved\Crashes folder, but it doesn’t always and I’m not certain why not, but I added a recommendation to verify you are running with -nvaftermathall and maybe try without a debugger attached if you’re running directly from Visual Studio
  5. In Nsight path settings add the path to your project’s <project name>\Saved\ShaderSymbols folder to Shader Binaries and to Separate Shader Debug Information and set Search sub-directories to Yes

If you still don’t see the source for the shader, that most likely means the .nvdbg file wasn’t generated. I’m doing some tests now to see if there may be some timing issues or issues with Aftermath system monitor running at the same time.

[Attachment Removed]

Glad to hear everything is working for you now. I also see that Alex has now updated the guide with the new information so that I will close out this ticket. As you already mentioned, please open a new ticket for the GPU crashes you are seeing.

[Attachment Removed]

Here’s a log file of booting up and regenerating shaders. There are no .dxil or .pdb files under Saved/ShaderDebugInfo/. If I look in Saved/ShaderSymbols/ there are fresh .pdb files which were made.

Is there somewhere that I can put a breakpoint to try to debug why this doesn’t work?

[Attachment Removed]

Looks like my log file didn’t attach properly? Let me see if I can just tease out the lines you’re probably looking for:

LogInit: Command Line: -skipcompile -nvaftermathall -nomaterialshaderddc -gpucrashdebugging
[2026.05.06-14.51.36:199][  0]LogD3D12RHI:     GPU DeviceId: 0x2c05 (for the marketing name, search the web for "GPU Device Id")
[2026.05.06-14.51.36:199][  0]LogD3D12RHI: InitD3DDevice: -D3DDebug = off -D3D12GPUValidation = off
[2026.05.06-14.51.36:423][  0]LogNvidiaAftermath: Aftermath initialized
[2026.05.06-14.51.36:423][  0]LogD3D12RHI: [DRED] DRED enabled
[2026.05.06-14.51.36:423][  0]LogD3D12RHI: [DRED] Dred breadcrumb context enabled
[2026.05.06-14.51.36:424][  0]LogD3D12RHI: Emitting draw events for PIX profiling.
[2026.05.06-14.51.36:531][  0]LogNvidiaAftermath: Aftermath enabled. Active feature flags: 
[2026.05.06-14.51.36:531][  0]LogNvidiaAftermath:  - Feature: EnableMarkers
[2026.05.06-14.51.36:531][  0]LogNvidiaAftermath:  - Feature: EnableResourceTracking
[2026.05.06-14.51.36:531][  0]LogNvidiaAftermath:  - Feature: GenerateShaderDebugInfo
[2026.05.06-14.51.36:531][  0]LogNvidiaAftermath:  - Feature: CallStackCapturing

[Attachment Removed]

I have many dxil and pdb files in this directory. Unlike the guide, it’s just a flat list - not the hierarchy a shown in the guide. When using pix, this is the directory that I use for symbols and it works correctly. Nsight cannot find symbols when I point it at this directory.

For the console variables I am doing what the guide says:

r.DumpShaderDebugInfo=1

r.Shaders.Symbols=1

r.Shaders.ExtraData=1

[Attachment Removed]

Thank you, I pivoted onto some other work (without the 5070 plugged in) for a day or two and will come back to this early next week to try again.

[Attachment Removed]

Okay, we got Nsight working to resolve symbols, it was just another configuration issue with the guide. The correct directory to configure Nsight to look at Saved/ShaderSymbols.

Now that I have Nsight working I’m going to make a separate post about GPU crashes we’re getting consistently on 50 series nvidia cards after I do a little more research.

[Attachment Removed]