Accept -g3 stabs info (sketchy?)

Greg Turner gmturner007 at
Sun Sep 29 12:32:03 CDT 2002

On Sunday 29 September 2002 08:53 am, Eric Pouech wrote:
> however, it's strange that your gdb like debuggers crash in -gstabs2
> mode

no crashes, just some weirdness.  using -gstabs2, I get relative
paths all over the place, including lots of "../../xxx.c" paths, laid
out in an inconsistent manner.  Sometimes it's just looking for
"xxx.c", etc.  It becomes very hard to satiate all of these.  I've
seen posts from other people (can't seem to find any examples
now) who seem to have the same problem (i.e., "I run ddd and
it says 'cant find main.c'").  When I use -gstabs3, the problem
vanishes, and both native debuggers and winedbg seem much
happier.  Probably a gcc3.2-specific problem.

BTW, I did manage to crash things in gdb proxy mode.  Running
Delphi 5 (my unrealistic fantasy is to get integrated debugging 
working in Delphi), I hit (in programs/winedbg/gdbproxy.c):

    1853             i = write(gdbctx->sock, gdbctx->out_buf, gdbctx->out_len);
>   1854             assert(i == gdbctx->out_len);
    1855             /* if this fails, we'll have to use POLLOUT...
    1856              */

I'm looking into fixing this myself, but don't hold your breath.

I'll submit another patch to handle 'k' and 'B' symbols as you
describe. I'm glad to see your way works, I considered that,
but I thought it was too good to be true :)  Now that I look at
what I was doing, the union doesn't get copied over so
it's probably even more incorrect than I thought.

Also: I've printed out the 100+ page Dwarf II spec.  It's 
probably /way/ beyond my abilities to implement Dwarf II 
for winedbg but I figure it'd be an interesting learning
experience to try, and I noticed that this is on the TODO
list.  Again, don't hold your breath, chances of even limited
success at this point in my learning curve are VERY slim!

Another, more realistic, side-project I'm considering is 
to implement tab-completion and up-down arrow 
command-history in winedbg.  It looks like to achieve this
I'd need to split the code for reading lines into interactive
and noninteractive modes... got any smart advice on this?
Is there any good reason /not/ to do it?


"Waiting periods are only a step. Registration is only a step.
The prohibition of private firearms is the goal." 
  -U.S. Attorney General Janet Reno, December 1993

More information about the wine-devel mailing list