Ulrich Weigand weigand@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/dbghe...
"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,