x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Debugging dmp files

I am trying to get a full stack trace from my dmp files, so I can debug a few crashes I have gotten with my packaged game.

I am using visual studio to open up the minidumps (I also tried DebugDiag and WinDbg but didn't have luck with those either).

I have checked "Include Debug Files" in Project Settings -> Packaging alt text

I have added the following symbol paths alt text

C:/OmniwarSync3/FPSGame/Binaries/Win64 contains my exe and pdb alt text

C:\UE-Binaries\Binaries contains the entire Engine/Binaries directory from the build machine (about 10GB). I'm not sure if this was necessary, but I brought it over after getting this source not available error because I figured it couldn't find core pdb files that it needed. alt text

I ran the FPSGame-Win64-DebugGame.exe and typed debug crash into the console. This created a dmp file that I could debug with visual studio.

I opened the resulting dmp file in visual studio, added the symbol paths shown above, and clicked Debug with Native Only. However, this gives me a source not available. alt text

My build machine has the source engine of the engine. Which I build the game against via jenkins.

Also, I am using git instead of perforce so I can't use this https://docs.unrealengine.com/latest/INT/Programming/Development/Tools/SymbolDebugger/

Does anyone know what I'm doing wrong? And how I can get the full stack trace.

Product Version: UE 4.12
Tags:
more ▼

asked Feb 02 '17 at 04:44 AM in Packaging & Deployment

avatar image

erebel55
385 43 46 66

avatar image S-ed Feb 02 '17 at 09:32 AM

Maybe this would work:

https://answers.unrealengine.com/questions/259139/cant-debug-unreal-engine-source-code.html

Also, You may need to add Debug symbols of the Engine itself:

alt text

alt text

avatar image erebel55 Feb 02 '17 at 01:09 PM

I already have the editor symbols for debugging downloaded. I'm pretty sure that is only used for when you are debugging a non-packaged game tho. I can debug core code just fine prior to packaging. The issue is when I debug dump files of a packaged game. I have a build machine that has the engine from source (github) and this is what I build with. I develop on a different machine that just has the binary version of the engine (with debug symbols downloaded).

alt text

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hello erebel55,

I've never tried debugging the dmp files coming out of UE4 before but I can try looking into this. I do know that our dmp files don't include a lot of information such as the source context to save on storage space but from what I remember it contains everything needed to debug it when you have the source available. The source that needs to be available is the project itself as well, not just the engine's source.

more ▼

answered Feb 02 '17 at 05:09 PM

avatar image erebel55 Feb 02 '17 at 05:12 PM

I have the source available, since it is my project. Do you know how I tell VS to use my source when debugging the dmp? I am hoping to get a full stack trace, specifically where it bubbles up into my project code. So I can see where the issue is in MY code.

avatar image Matthew J Feb 02 '17 at 05:41 PM

You do have the source available but from what I gather, that's not locally. Usually the workflow for debugging dmps that have been generated on another computer is to use the Symbol Debugger (although you've already mentioned that it isn't an option) with Perforce to debug it. I'll need to do some testing but as long as both the computer that did the crashing and the debug computer have the same project and editor source, it should be possible although the filepath of all of it may be key to getting it to work correctly.

If you do all of the actions locally, such as the building, the crashing, and the debugging, just opening the dmp file and hitting Debug With Native Only should work, although from your mention of using a build machine/jenkins, I'm assuming this isn't the case.

avatar image erebel55 Feb 02 '17 at 05:52 PM

I will explain the entire process.

I am running the exe, crashing, debugging, and opening the dmp file on my development machine. This machine has the binary version of ue4 on it and is where I develop all of my code with visual studio. So I do have the source locally (it's not a full representation of the engine on github, but it does have everything the binary version has). I then push my project to a git repo.

Jenkins is on my build machine. It does a pull from git and then runs the following commands to build the client and server versions of the game.

 "D:\UnrealEngine-4.12\Engine\Build\BatchFiles\RunUAT" BuildCookRun -project="%WORKSPACE%\FPSGame\FPSGame.uproject" -noP4 -platform=Win64 -clientconfig=DebugGame -serverplatform=Win64 -server -serverconfig=DebugGame -cook -allmaps -build -stage -pak -targetplatform=Win64 -archive -archivedirectory="D:\UE4Builds\Omniwar"

 "D:\UnrealEngine-4.12\Engine\Build\BatchFiles\RunUAT" BuildCookRun -project="%WORKSPACE%\FPSGame\FPSGame.uproject" -noP4 -platform=Linux -serverplatform=Linux -server -serverconfig=DebugGame -cook -allmaps -build -stage -pak -targetplatform=Linux -archive -archivedirectory="D:\UE4Builds\Omniwar"
 

The D:\UnrealEngine-4.12 directory is a clone of the github version of UnrealEngine.

The resulting build files are then synced back to my development machine where I am testing the exe, triggering the crash, and opening the dmp in VS.

I hope this helps clear up any confusion on my setup.

I also have dmps from other teammates that are using entirely separate computers from any of this. So it would be nice to be able to debug those eventually too.

avatar image Matthew J Feb 02 '17 at 06:52 PM

Hm, that in particular could be part of the problem. Since you don't have a source build of the engine on your development machine, you lack the source code related to even building for Client or Server, meaning that there could be some missing source code that you're not able to access.

It could also just be the fact of it being built on Source and then trying to debug it on a computer without that Source build in general. I can try testing that workflow but it'll take me a bit since I already have source/binary builds for all the current versions on my PC.

In the meantime, would you be able to test a couple of things? Firstly, try compiling (on your development machine) for Development, running the .exe, crashing, and trying to debug that dmp? Also, if you have the time, try getting the same source build your build machine is using on your development machine.

avatar image erebel55 Feb 02 '17 at 08:24 PM

First I tested to see if running the exe on my build machine and crashing there would allow me to debug the dmp. Essentially, removing the development machine from the picture. This works fine.

I get the following stack trace, which looks good. alt text

So you want me to run the build statements on my Development machine? That will require I clone down the github version of unreal onto my dev machine right? So I have to clone this down to every test machine I have? For debugging other users dmp files?

avatar image Matthew J Feb 02 '17 at 08:37 PM

That's correct. Even when using the Project Debugger, you need to have access to the same version of the engine that was the dmp was generated from.

If your client .exe files are compiled on 4.12.5 CL#3039270 Source that you got from Github, any machine that wants to debug a dmp generated by that .exe will also need 4.12.5 CL#3039270 Source. Even if it's the same changelist as the Binary, a Binary build will not work as not all of the files that are generated by GenerateProjectFiles.bat for a Source build are present in a Binary build.

avatar image erebel55 Feb 02 '17 at 09:06 PM

Ah okay that makes sense. I'm actually fine with debugging the dmp files on the build machine for now. So I should be able to run the exe on my dev machine, crash it, copy the dmp file over to my build machine, and debug it there?

avatar image Matthew J Feb 02 '17 at 10:02 PM

That's correct, that should work.

avatar image erebel55 Feb 03 '17 at 02:20 PM

Thank you Matthew, I appreciate you taking the time to explain this to me. I tested out crashing the exe on my dev machine and copying the dmp file over to my build machine and it is working. If you convert your comments to an answer I will go ahead and accept it :)

avatar image John Alcatraz Nov 29 '17 at 04:17 PM

Hi @Matthew J

do you know about any issues with debugging .dmp files created by UE4 recently?

It always worked perfectly for me, but recently (the last ~3 weeks) it just stopped working. It probably is some kind of issue with some Visual Studio update (15.4+) and how UE4 generates the .dmp files. I also know about others that face the exact same problem recently. Are you aware of any issue with this?

avatar image Matthew J Dec 11 '17 at 07:28 PM

Hello John,

I'm not aware of any issues with debugging .dmp files at the moment, but I should be able to try testing this sometime soon. If you believe you're running into a bug when doing this, please enter a new a bug report post explaining your process and what you're experiencing. Link to this post so that we have some context.

avatar image John Alcatraz Dec 12 '17 at 07:20 AM

Hi Matthew, I heard there is a thread on UDN about the issue already.

The issue is caused by the Windows 10 fall creators update. I did create a thread in the forums here to document it: https://forums.unrealengine.com/development-discussion/c-gameplay-programming/1396585-the-win-10-fall-creators-update-broke-debugging-dmp-files-generated-by-ue4-workaround-here

avatar image bobbyg603 Jan 09 '18 at 10:41 PM

Hi John,

We've been plagued by this issue as well. Have you opened a bug report? If so please post a link as we have a few clients that would like to give it a +1 in hopes it may get prioritized.

Thanks!

avatar image John Alcatraz Jan 09 '18 at 10:43 PM

I heard there's a post about it on UDN, so I didn't bother creating another bug report here.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question