Crash Log
This SKSE plugin overrides the exception handler in Skyrim and produces a stack dump when a crash occurs. If you’re lucky, the stack contains a hint that allows you to find and fix the cause.
This plugin was inspired by the .Net Script Framework for Skyrim SE.
I finally (10 years after Skyrim’s launch?) got tired of not having any idea why my game crashed. At first I was just going to more or less copy code from the .Net Script Framework to put together a quick plugin to help debug a CTD issue I was having. However, I quite quickly noticed that it was more complicated than I anticipated. I ended up only using the same method they did for catching the actual exception, the rest I had to do myself.
The output is similar to this (old version):
Error: 0xc0000005
Frame: 0, FP: 0x00c9b672
Param 0: (dword)0x47d5c860
Param 1: (dword)0x00c73386
Param 2: (dword)0x47d5c860
Param 3: (dword)0x47d5c860
RET: 0x00c73358
Frame: 1, FP: 0x00c73358
Param 0: (dword)0x47d5c860
Param 1: (dword)0x47d5c860
Param 2: (dword)0x00000000
Param 3: (dword)0x00000000
RET: 0x00c73386
Frame: 2, FP: 0x00c73386
Param 0: (dword)0x01b98014
Param 1: (char*)textures\effects\FXwaterTile01.dds
Param 2: (dword)0x01b97ff8
Param 3: (dword)0x5cb20e98
RET: 0x00b01712
Frame: 3, FP: 0x00b01712
Param 0: (dword)0x00000000
Param 1: (dword)0x00000000
Param 2: (dword)0x00000000
Param 3: (dword)0x00000000
RET: 0x00000000
LOGS:
Crash logs are saved in the game directory (next to TESV.exe). The plugin log file (crash_log.log) is also located in the same directory.
Crash log file name example: crash_2021_03_09_12_22_1.log (crash__.log)
HOW I SOLVED MY CTD:
Assuming you get a stack dump similar to the one in the example above, you can make an educated guess that the game might have been doing something with the texture “textures\effects\FXwaterTile01.dds”.
- The first thing I did was look for a mod in MO2 that might have altered this file. I found none.
- Next I loaded all bsa files in BSA Browser and filtered for “FXwaterTile01.dds”. Only match I found was in the official Skyrim bsa.
- I tried attaching a debugger while the game was crashing and set a breakpoint on the instruction that crashed the game. First hit was just after ENB loads its dx dll files.
- I disabled ENB. This didn’t solve it.
- I fired up Notepad++ and set it to search all mods in MO2’s “mods” folder (including only esp, esm and nif files). I searched for the texture name. When it was done I had a list of potential mods containing nifs that reference this texture: Realistic Water, DynDOLOD, …
- I disabled all mods that had references and finally singled it down to one mod and the problem was solved.
WILL THIS SOLVE YOUR CTD?
I hope it will. I do not have any data on how reliable this is, and in the example above you can also see how misleading it can be (texture issue turned out to be a nif issue). Would I have been able to solve the issue I had without this plugin? No, I had no clues until I saw that stack dump.