About this mod
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.
- Permissions and credits
- Changelogs
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:
Crash Log, version 2
Code: 0xc0000005.
Address: TESV.exe+0x0089b672.
Memory at <unknown>+0x00000028 could not be read.
Stack trace:
Frame: 0, FP: TESV.exe+0x0089b672
Param 0: <unknown>+0x46511b20 (void*)
Param 1: TESV.exe+0x00873386 (void*)
Param 2: <unknown>+0x46511b20 (void*)
Param 3: <unknown>+0x46511b20 (void*)
RET: TESV.exe+0x00873358
Frame: 1, FP: TESV.exe+0x00873358
Param 0: <unknown>+0x46511b20 (void*)
Param 1: <unknown>+0x46511b20 (void*)
Param 2: 0x00000000 (null)
Param 3: 0x00000000 (null)
RET: TESV.exe+0x00873386
Frame: 2, FP: TESV.exe+0x00873386
Param 0: TESV.exe+0x01798014 (void*)
Param 1: <unknown>+0x48432e5c (char*) "textures\effects\FXwaterTile01.dds"
Param 2: TESV.exe+0x01797ff8 (void*)
Param 3: <unknown>+0x5db20e98 (void*)
RET: TESV.exe+0x00701712
Frame: 3, FP: TESV.exe+0x00701712
Param 0: 0x00000000 (null)
Param 1: 0x00000000 (null)
Param 2: 0x00000000 (null)
Param 3: 0x00000000 (null)
RET: <unknown>+0x00000000
SSE VERSION
https://www.nexusmods.com/skyrimspecialedition/mods/51230
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_<date>_<counter>.log)
Note that crash logs may contain personal or sensitive information.
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. The example above shows that it can be a bit misleading sometimes. In some cases it's immediately obvious what the problem is.
SOURCE CODE
Moved to github: https://github.com/shadow147-github/skse_crash_log