A few weeks ago I noticed that I suddenly could no longer open any of the generated .dmp files in Visual Studio that are generated when the packaged game crashes. Visual Studio would say it can’t find the .exe of the game, and even if you navigated to the correct path and select the exe, nothing would happen, it was impossible to make Visual Studio accept the exe as the correct one.
I wondered for quite a while now about what I could do about that, and I heard about a few other devs that have the exact same issue, but no one had any idea how to fix it. I googled a lot, but couldn’t find anything about any issue like this.
Today luckily Llliam in the UE4 Discord saw me wondering about what the issue is, and he knew more about it. Since there are likely many more devs wondering about this, I want to document it here so that googling for the issue actually gives you some result.
The Windows 10 Fall Creators Update broke it. No idea yet when it will be fixed, there is a workaround though:
You need to put old versions of 3 dlls (from before the Fall Creators Update) into your binaries folder, so that they are in the same directly as your game exe. Then the game will use the old dlls instead of the ones that were modified by the Fall Creators Update, and that causes generated .dmp files to work correctly again. I’m not 100% sure about if you’re allowed to ship your game with copies of microsoft dlls inside, but I found quite a few programs (avast, tortoise git, oculus runtime) that ship with a copy of DbgHelp.dll, so it’s probably fine.
The dll files that you need to copy are dbgcore.dll, dbgeng.dll, and dbgHelp.dll. All of those are inside of C:/Windows/System32. You need to use a version from before the Fall Creators Update. So just put those 3 files in your Binaries directory. I would have attached the working dlls to this post, but the forums have a file size limit of 500 kB.
After you did that, any .dmp files that are generated now work correctly if you import them into Visual Studio.
I really hope Epic/Microsoft quickly find a real solution for this issue so that you don’t need to ship a bunch of dll files with your executable.