andremussche / map2dbg

Converts .map files (Delphi, CBuilder) to Microsoft .dbg files. Also .tds to .pdb conversion works now!
https://code.google.com/p/map2dbg/
86 stars 42 forks source link

Binary was not built with debug information #2

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Visual Studio 2005 refuses to load the .dbg file generated by map2dbg. The 
module list shows "Binary was not built with debug information" in the 
"Symbol status" column.

Could this be because the EXE file is lacking a debug directory?

Original issue reported on code.google.com by thecybershadow on 2 Nov 2009 at 10:34

GoogleCodeExporter commented 9 years ago
I have the same problem with Visual Studio 2008. It might be some problem with
MadExcept, because "normal" stack traces in Visual Studio just look like this:

    carlo.exe!madTraceProcess()  + 0x19ef90e bytes  
    carlo.exe!madTraceProcess()  + 0x19f0bf1 bytes  
    carlo.exe!madTraceProcess()  + 0x19f2dc2 bytes  
    carlo.exe!madTraceProcess()  + 0x19f0f27 bytes  
    carlo.exe!madTraceProcess()  + 0xed40c5 bytes   
    carlo.exe!madTraceProcess()  + 0xed0dd4 bytes   

Original comment by m...@schabi.de on 3 Dec 2009 at 1:53

GoogleCodeExporter commented 9 years ago
madExcept does some post-processing to executables and embeds some encrypted 
debugging information. Needless to say, there might be a conflict between the 
two.

Original comment by thecybershadow on 3 Dec 2009 at 1:57

GoogleCodeExporter commented 9 years ago
Well - it's not exactly the same for me, actually, I get the error message "The
symbol file foo.dbg does not match the module" when trying to load the symbols.

Original comment by m...@schabi.de on 3 Dec 2009 at 2:07

GoogleCodeExporter commented 9 years ago
Can you test it with WinDbg.exe? 
(Debugging Tools for Windows (x86))
Because I don't have Visual Studio.

Original comment by andre.mussche on 3 Dec 2009 at 2:41

GoogleCodeExporter commented 9 years ago
Works fine with WinDbg, but using it is such a pain :P

You can get Visual Studio 2008 Express for free from here, it should be more 
than 
enough to test compatibility: http://www.microsoft.com/express/vc/

What compilers do you know that natively create .dbg files? Perhaps I could 
have a 
look on my own and see why would VS accept their output but not map2dbg output.

Original comment by thecybershadow on 3 Dec 2009 at 2:58

GoogleCodeExporter commented 9 years ago
I also get the same error message when compiling without MadExcept (and in a 
small
testproject with no MadExcept support).

Original comment by m...@schabi.de on 3 Dec 2009 at 3:02

GoogleCodeExporter commented 9 years ago
Ah, now I remember: VS2008 does not accepts .dbg anymore, only .pdb :-(

Original comment by andre.mussche on 3 Dec 2009 at 3:31

GoogleCodeExporter commented 9 years ago
Dang... I guess PDB is "the way of the future".

What about my previous question, regarding DBG-generating?

Also, would it be hard to adapt the current code to generate PDBs?
This project, which converts from a binary debugging format to PDBs, may be of 
some 
use: http://www.dsource.org/projects/cv2pdb

Original comment by thecybershadow on 3 Dec 2009 at 3:36

GoogleCodeExporter commented 9 years ago
Thanks for the cv2pdb project, I hope I can take a look at the source (could 
not find 
any pdb specs before, but with this, I even have source code! :-) )

I do not know other compilers with dbg.

Original comment by andre.mussche on 3 Dec 2009 at 4:11

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Any progress here? Anything we can do to help? map2dbg is rather useless 
currently.

Original comment by m...@schabi.de on 17 Aug 2010 at 1:28

GoogleCodeExporter commented 9 years ago
unfortunately no progress here.
I took a look the cv2pdb project, but I did not have enough time to make a 
conversion. 

I'm also not a good C++ programmer (mainly Delphi) so not easy for me to do it.
So if you can help, yes please!

I made my own stack viewer in Delphi because of this, with some extra features 
(such a refresh, raw stack tracing):
http://code.google.com/p/asmprofiler/wiki/ProcessStackViewer

Original comment by andre.mussche on 17 Aug 2010 at 2:13

GoogleCodeExporter commented 9 years ago
Okay, I'll see whether I can find some time to work on this.

Original comment by m...@schabi.de on 18 Aug 2010 at 3:02

GoogleCodeExporter commented 9 years ago
I did have a look at ProcessStackViewer - it seems not able to catch 
"mixed-mode" stacks (when Delphi code calls into .NET code). There seem to be 
empty lines in the stack trace when this happens.

Original comment by m...@schabi.de on 18 Aug 2010 at 3:26

GoogleCodeExporter commented 9 years ago
Maybe you can try tds2pdb?
http://map2dbg.googlecode.com/files/tds2pdb101.zip

Original comment by andre.mussche on 11 May 2012 at 7:52