This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [i386/fyi] small adjustment to i386 frame code


On Wed, Aug 23, 2006 at 10:38:49AM -0700, Joel Brobecker wrote:
> Although the new frame code gives more much more accurate results
> most of the time, there are some occasional cases where we have
> to unwind through functions which do not follow the ABI, and for
> which no frame debugging info seem to be provided. In these particular
> cases, the unwinder fails, and a backtrace from such function aborts
> prematurely. One such example is WaitForSingleObjectEx (in one of
> the windows DLL). I posted the assembly of this function a long while
> ago, it's just plain impossible to determine where the frame base is.

FYI: I'm not at all sure I agree with your assertion of impossibility.
But when I tried to debug native Windows code, my main problem was
figuring out the starts of symbols.  The DLLs themselves don't have
enough symbolic information in them.  Things that look like a single
function are actually often many functions in a row, only one of which
was exported.

Symbolic info files are available automatically from Microsoft, but it
seems like a serious hassle to auto-download them.  And if you want to
get a lot of useful information out of them you need a DLL (which is
freely distributable) but also its header (which isn't; it's part of
the commercial Visual Studio offerings only).  That's where I gave up.

It should be possible to do this very nicely.  I was considering a
standalone program, not part of GDB, which would generate separate
symbol files in a non-Microsoft format that GDB could understand
(maybe Dwarf).  As long as you don't redistribute the result I
think that's OK by the MS licensing.  I just didn't have time to work
on it myself.

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]