[lldb-dev] Interpretation of GDB-RSP step commands
Matthew Gardiner
mg11 at csr.com
Tue Aug 19 22:08:54 PDT 2014
Thanks Aidan,
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.
Anyway,
thanks again
Matt
Aidan Dodds wrote:
> Hi Matthew,
>
> This link seems to give some details:
> http://davis.lbl.gov/Manuals/GDB/gdb_31.html
>
> 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.
>
> Thanks,
> Aidan
>
> 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
>> commands?
>>
>> I'd welcome your insight.
>>
>> thanks
>> Matt
>>
>>
>> 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.
>>>
>>> OR
>>>
>>> 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!
>>>
>>> thanks
>>> Matt
>>>
>>>
>>>
>>> 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
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>>
>>>
>>> To report this email as spam click
>>> https://www.mailcontrol.com/sr/SLxusfELbczGX2PQPOmvUjg7ce8j6mWJ4GmDxhB89llOaJtRI!liNxCHjGJhJAM3g+rZVLhWkBsJwVIOzJj0SQ==
>>> .
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list