Retrieving memory dump file for programs
Retrieving memory dump file for programs
This article will walk you through how to create a memory dump file for a program. This should mainly be used for gaining information for developers for ME freezes that cause loss of full software functionality. These steps should be completed before restarting any services.
These steps should be done at a point in time when the terminals appear to be frozen, and before MainEngine is restarted.
Grab a copy of `procdump.exe` if we don't have one on the server.
Here's a link to the download from sysinternals: https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
Once you have the zip file, you can use the `procdump.exe` in the zip folder (which is the 32-bit version) to capture what we need
There are a bunch of examples of how to use the application on that webpage as well, if you need another reference on how to use it to capture a memory dump file
Extract `procdump.exe` out of the zip folder on the server. Doesn't matter where, as long as you can find it back and run it from the command line
Get the process id (PID) of both MainEngine and at least one of the terminals which is definitely frozen (if you can get more than one, that would be better). HINT: PID can be found in Firedaemon for ME
There are a number of ways you can get these. Task Manager -> Processes Tab is probably the easiest as far as GUIs go. If the PID column is not showing, then Processes Tab -> View -> Select Columns -> Check PID (Process Identifier)
You could also use `tasklist` from the command line (gif below)
Open a command line to the location where `procdump.exe` lives
Run one of the following commands
`procdump -ma PID_HERE`
So for example, if SP_Intake for POS1 had a PID of 12345, `procdump -ma 12345`
Note that we're using the PID version of this command since we may have multiple instances of an application named "SP_Intake" running. You could probably use the `procdump` command line by application name for main engine, if you really wanted.
You should get an output of a file with a .dmp file extension each time you run `procdump` (similar to `SP_Intake.exe_160507_012723.dmp)
Attach the files to the ticket so that they can be sent to a developer.