Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Is it possible to find out where a release version crashed by knowig the address?

Is it possible to find out where a release version crashed by knowig the address?

Scheduled Pinned Locked Moved C / C++ / MFC
announcementcsharpvisual-studiodebuggingsales
6 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Erik
    wrote on last edited by
    #1

    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?

    PJ ArendsP H P 3 Replies Last reply
    0
    • E Erik

      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?

      PJ ArendsP Offline
      PJ ArendsP Offline
      PJ Arends
      wrote on last edited by
      #2

      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!

      Within you lies the power for good; Use it!

      L E 2 Replies Last reply
      0
      • E Erik

        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?

        H Offline
        H Offline
        Hans Dietrich
        wrote on last edited by
        #3

        Check out http://www.codeproject.com/KB/debug/XCrashReportPt1.aspx

        Best wishes, Hans


        [Hans Dietrich Software]

        1 Reply Last reply
        0
        • PJ ArendsP PJ Arends

          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!

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          Hi PJ, Actually /MAPINFO:LINES was removed beginning with VS2005. It was probably removed due to the compiler optimizer. Best Wishes, -David Delaune

          1 Reply Last reply
          0
          • PJ ArendsP PJ Arends

            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!

            E Offline
            E Offline
            Erik
            wrote on last edited by
            #5

            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?

            1 Reply Last reply
            0
            • E Erik

              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?

              P Offline
              P Offline
              Peter Weyzen
              wrote on last edited by
              #6

              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)

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups