Debug information

Tijs van Bakel tijs at connectux.com
Thu May 30 09:42:35 CDT 2002


Ulrich Weigand <weigand at immd1.informatik.uni-erlangen.de> writes:

> Tijs van Bakel wrote:
> 
> > In debugger/msc.c I found the following check
> > 
> >  if ( mpd_nth->Signature != IMAGE_NT_SIGNATURE || 
> >       mpd_nth->FileHeader.NumberOfSections != nth->FileHeader.NumberOfSections ||
> >       !(mpd_nth->FileHeader.Characteristics & IMAGE_FILE_DEBUG_STRIPPED ))
> >      goto leave;
> 
> It would appear that this check is simply inverted, i.e. you should
> remove the '!'.  At this point we require debug info *embedded*
> in the PE module, i.e. *not* stripped ...

Quoting an MSDN Library page on the topic of "Symbol Files" at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/dbghelp_04vn.asp

"Debuggers can determine whether an executable file or DLL contains
debugging information by searching for the IMAGE_FILE_DEBUG_STRIPPED
characteristic. If this characteristic is present, the debugging
information exists in a symbol file."

This remark is a bit ambiguous.  Does it say that if the
characteristic is _not_ present, then "the debugging information
exists, but not in a symbol file" ?

> > Trying the same with Visual Studio .NET is somewhat more cumbersome.
> > I haven't been able to read in the debugging information generated by
> > C++ projects using winedbg.  Has anyone else tried this?
> 
> The format of the PDB files has changed; winedbg cannot read the
> new format yet.

Any ideas on where to find documentation?  Where does the knowledge
for the old PDB parser come from?

I could ask the above question for many more parts of Wine.  There is
a lot of code in Wine based on "undocumented" Windows features.  Is
there a list of sources for information on Windows internals (both
books and websites)?

Regards,

-- 
Tijs van Bakel, ConnecTUX, <tijs at connectux.com>



More information about the wine-devel mailing list