ahmd0
ahmd0

Reputation: 17293

How to handle my C++ program crash on a system w/o development IDE?

I am testing my C++ app crash on a Windows 8 system that does not have development IDE installed (Visual Studio C++.) I was able to get the following from the Windows Event log:

Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: my_app_name.exe
P2: 1.0.2.0
P3: 4fffd4db
P4: my_app_name.exe
P5: 3.0.2.0
P6: 4fffd4db
P7: c0000005
P8: 00074eb0
P9: 
P10: 

Attached files:
C:\Windows\Temp\WER4AEB.tmp.appcompat.txt
C:\Windows\Temp\WER4B0B.tmp.WERInternalMetadata.xml
C:\Windows\Temp\WER4B0C.tmp.hdmp
C:\Windows\Temp\WER4CD2.tmp.dmp

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_my_app_name.exe_8ea1c961fdc39248f2954cb7413ed349afffc9_cab_0d004d0d

Analysis symbol: 
Rechecking for solution: 0
Report Id: 4c93c3b5-ccc2-11e1-9b6e-000c297b96e1
Report Status: 4
Hashed bucket: 

I was trying to go to those paths provided to get the .hdmp and .dmp files but there's nothing where it points in that report.

Any idea how to handle this situation?

Upvotes: 3

Views: 1028

Answers (2)

EdChum
EdChum

Reputation: 394051

I think your service crash dumps maybe written to here:

%WINDIR%\System32\Config\SystemProfile

according to this not sure if this is still the same path for Win 8.

You can use AdPlus or ProcDump or programmatically do this using MiniDumpWriteMiniDump to write the memory dumps to a location of your choice, also ETW can be used for event tracing.

The dump files can be open in Visual studio or WinDbg and you can then look at the app state.

In WinDbg:

!analyze -v

will attempt to find the cause of the crash for you, hope this helps.

Upvotes: 3

Dennis
Dennis

Reputation: 3731

You can use the visual studio remote debugger tool (google it) to allow you to connect to a running proces via Visual Studio. Of course the machine must be on the same network.

  1. Go to "Debug->Attach To Process".
  2. Change Transport to "Remote"
  3. Enter the IP of the target machine in "Qualifier"
  4. Select the process to attach to.
  5. Debug!

Also if you have crash dumps (.hdmp, .dmp... available at C:\ProgramData\Microsoft\Windows\WER\ReportQueue\) you can run them through WinDBG, which (if you have symbols and source code paths setup) will point you to a code line after you run the !analyze -v command. You do not need to have WinDBG on the target machine.

Upvotes: 1

Related Questions