Is it possible to find out where a release version crashed by knowig the address?
-
Hi, I was just wondering if there is a way to find out in which function a release-version of your program crashes if you have the source code and a debug build available. For example, your customer has a release version of test.exe, which uses to crash at the same offset all the time, say "Application Failure test.exe 1.0.0.0 in test.exe 1.0.0.0 at offset 003f5d60" is what he gets. Now I have the sourcecode, Visual studio, a debugversion of test.exe available. But what will the offset help me? Can I somehow find out to which function in my program code the address 003f5d60 corresponds?
-
Hi, I was just wondering if there is a way to find out in which function a release-version of your program crashes if you have the source code and a debug build available. For example, your customer has a release version of test.exe, which uses to crash at the same offset all the time, say "Application Failure test.exe 1.0.0.0 in test.exe 1.0.0.0 at offset 003f5d60" is what he gets. Now I have the sourcecode, Visual studio, a debugversion of test.exe available. But what will the offset help me? Can I somehow find out to which function in my program code the address 003f5d60 corresponds?
-
Hi, I was just wondering if there is a way to find out in which function a release-version of your program crashes if you have the source code and a debug build available. For example, your customer has a release version of test.exe, which uses to crash at the same offset all the time, say "Application Failure test.exe 1.0.0.0 in test.exe 1.0.0.0 at offset 003f5d60" is what he gets. Now I have the sourcecode, Visual studio, a debugversion of test.exe available. But what will the offset help me? Can I somehow find out to which function in my program code the address 003f5d60 corresponds?
-
Finding crash information using the MAP file[^]
You may be right I may be crazy -- Billy Joel -- Within you lies the power for good - Use it!
-
Finding crash information using the MAP file[^]
You may be right I may be crazy -- Billy Joel -- Within you lies the power for good - Use it!
Thanks alot, this seems like a good start to me. However, I have a problem understanding what really happens here, I have a VC 6.0 project, and I get a crash report saying my app is crashing at 0038eb56 But the point is: my preferred load address in the map file says it is 00400000 To determine the line number, the document says to subtract the load address + 0x1000 from the crash address, which gives me: 0038eb56 - 00400000 - 0x1000 which will give a negative result. So the crash address should always be greater than 00400000, or am I getting something wrong here?
-
Hi, I was just wondering if there is a way to find out in which function a release-version of your program crashes if you have the source code and a debug build available. For example, your customer has a release version of test.exe, which uses to crash at the same offset all the time, say "Application Failure test.exe 1.0.0.0 in test.exe 1.0.0.0 at offset 003f5d60" is what he gets. Now I have the sourcecode, Visual studio, a debugversion of test.exe available. But what will the offset help me? Can I somehow find out to which function in my program code the address 003f5d60 corresponds?
If you can -- consider this alternate route -- catching your crashes and write a minidump file. You can set your own crashhandler with SetUnhandledExceptionFilter() and then using MiniDumpWriteDump. Here's an example: Add Crash Reporting to Your Applications with the CrashRpt Library[^] Users sends you the DMP -- which you can then load into the VC++ debugger -- and if you have the PDB file from that build.... you get what you need. It's very handy.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Peter Weyzen Staff Engineer [SoonR Inc -- PC Power delivered to your phone](http://www.soonr.com)