This is the mail archive of the gdb@sources.redhat.com 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: (remote) hellishly slow single stepping over library calls



On Fri, 16 May 2003, Kris Warkentin wrote:

> When debugging using our QNX pdebug remote protocol and single stepping over
> a library call like printf, it takes a LOOOONG time.  I'm talking like two
> or three minutes.  A 'next' is fine but looking at the output of running our
> pdebug server in verbose mode, gdb is doing step, step, step, all the way
> through the whole library call.  Every single step results in fetching
> registers and there is a huge amount of wire traffic generated.
>
> This didn't happen with older (ie 5.0) gdbs which didn't seem to know how to
> single step through our shared lib code but now that it does, this is pretty
> painful.  Obviously it makes more sense to 'next' over a library call,
> especially if you don't want to go into it but the question is, can anyone
> think of a way to optimize this?  I though of putting in a hack like:
>
> if (reg == PC_REGNUM)
>     only_get_pc();
>
> to avoid fetching the whole regset but it probably won't make that much
> difference since there's still a packet over the wire each time and most
> regsets fit in one packet anyway.
>
> Would this problem also exist with the normal remote protocol?  (stupid
> users...clicking step instead of next....;-)
>


What about using the T-format with a value of PC to report status, instead
of using the S-format, for the purpose.

> Kris

Thanks,

Aleksey



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