This is the mail archive of the gdb@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: Re[2]: feature request: set step-mode smart


On Wed, Apr 25, 2012 at 12:40 PM, Jonas Maebe <jonas.maebe@elis.ugent.be> wrote:
>
>
> Ilya Basin wrote on Wed, 25 Apr 2012:
>
>
>> JM> up to figuring out yet. In the long term, it also does not seem
>> JM> tenable to add pattern recognition to gdb for stubs generated by all
>> JM> possible compilers (and possibly different versions of those
>> compilers).
>>
>> No one's speaking about pattern recognition.
>
>
> If gdb does not automatically step a number of instructions to see whether
> subsequent code has debug information, you need pattern recognition in gdb
> to automatically detect such situations and to avoid the problem you
> described (gdb skipping or stepping over such code, rather than stepping
> into it). See this thread:
> http://sourceware.org/ml/gdb/2009-04/msg00008.html
>
>
> Jonas
>


FWIW, I did something somehow similar lastly, which works fine if you
know the "profile" of your trampoline function (not re-tested):

>  gdb.execute("stepi")
>  start_frame = gdb.newest_frame()
>  while True:
>    start_frame = gdb.newest_frame()
>    gdb.execute("stepi")
>    new_frame = gdb.newest_frame()
>    if start_frame != new_frame:
>        break

this script should step into the trampoline function and execute its
assembly instructions until the first frame creation (function call).


Kevin


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