Re: How to tell gdb about dlls using remote protocol

Daniel Jacobowitz
2007-02-02T16:56:34Z

On Fri, Feb 02, 2007 at 08:51:55AM -0800, Joel Brobecker wrote:
> > Sorry, I have to disagree from my own experience. Pretty much any time
> > you stop a running program it's in those DLLs. And this is doubly true
> > for any threaded program - there's always a couple of threads that I
> > have no idea what the heck they're doing.
>
> In fact, we have a local modification in our tree (different from the
> one I recently suggested) where we default to using %ebp when inside a
> frameless function, and inside a DLL. This is a heuristic way to handle
> all those highly optimized functions for which prologue analysis cannot
> be used. Short of implementing support for MS symbol info, this is the
> only way we could get the backtrace of most threads. This is a hack I
> didn't submit because it's a bit crude, and it only exchanges certain
> failures for others - but we have found in practice that this was the
> right choice for us. I can certainly post it too, if you are interested.

Hmm, perhaps it successfully gets you out and only misses frames. I'm
pretty sure I remember that when debugging a Windows build of GDB, the
select helper threads live somewhere in NTDLL without a valid frame.

I'd be curious to see it, at least, but I'm not sure what we can do.

--
Daniel Jacobowitz
CodeSourcery