[lldb-dev] Interpretation of GDB-RSP step commands
mg11 at csr.com
Tue Aug 19 22:08:54 PDT 2014
Yes, that's what myself and my colleague imagined: i.e. s is a regular
"execute next instruction then stop" step, and i somehow advances the
clock, possibly stepping within a single multi-word instruction. The
reason why I was puzzled, and hence why I reached out, was because I
couldn't see any regular (gdb) command-line that would actually make use
of this (that is the i packet), given our interpretation.
Aidan Dodds wrote:
> Hi Matthew,
> This link seems to give some details:
> cycle step *(draft)* |i|addr|,|nnn Step the remote target by a
> single clock cycle. If |,|nnn is present, cycle step nnn cycles. If
> addr is present, cycle step starting at that address.
> Where as:
> step |s|addr addr is address to resume. If addr is omitted, resume
> at same address.
> I believe that step should execute one whole machine instruction or
> one instruction packet depending on the architecture. The S command
> should step into call instructions, not over. Stepping over anything
> is a task for the debugger, and is managed by coordinating
> breakpoints, stepping and continuing.
> I cant imagine the 'i' command is commonly supported however since I
> presume it would require very complex and tight coupling between the
> processor running the stub and the processor being debugged as the
> clock is not typical accessible. For regular source level debugging
> this level of control is not typical required.
> On 19/08/2014 13:59, Matthew Gardiner wrote:
>> Sorry, I should have been more direct in this post...
>> Does anyone actually know the difference in the GDB-RSP i and s
>> I'd welcome your insight.
>> Matthew Gardiner wrote:
>>> Hi Folks,
>>> I'm poring over the gdb pdf trying to understand the difference
>>> between the s and i commands.
>>> After chatting with a colleague we came up with 2 ideas:
>>> 1. i means a single instruction step, and s is an instruction step
>>> but step over CALL instructions.
>>> 2. i means advance the clock once, i.e. by a single word in a
>>> multi-word instruction. And s means a single instruction step.
>>> All comments welcome!
>>> Member of the CSR plc group of companies. CSR plc registered in
>>> England and Wales, registered number 4187346, registered office
>>> Churchill House, Cambridge Business Park, Cowley Road, Cambridge,
>>> CB4 0WZ, United Kingdom
>>> More information can be found at www.csr.com. Keep up to date with
>>> CSR on our technical blog, www.csr.com/blog, CSR people blog,
>>> www.csr.com/people, YouTube, www.youtube.com/user/CSRplc, Facebook,
>>> www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter
>>> at www.twitter.com/CSR_plc.
>>> New for 2014, you can now access the wide range of products powered
>>> by aptX at www.aptx.com.
>>> lldb-dev mailing list
>>> lldb-dev at cs.uiuc.edu
>>> To report this email as spam click
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
More information about the lldb-dev