Analysis of SINGLESTEP
Wenji Huang
wenji.huang at oracle.com
Tue Jan 13 05:40:56 UTC 2009
Roland McGrath wrote:
[...]
>
> What's supposed to happen is that ptrace_resume uses ptrace_set_action to
> store UTRACE_SINGLESTEP. It then actually passes UTRACE_REPORT or
> UTRACE_INTERRUPT to utrace_control (for the reasons explained in the
> comments in the code for each of those cases).
>
> The child should then get into either ptrace_report_quiesce or
> ptrace_report_signal (ptrace_resumed case). These both use
> ptrace_resume_action to extract what was saved by ptrace_set_action, which
> should still be UTRACE_SINGLESTEP. Then whichever of these callbacks it is
> should return that value, UTRACE_SINGLESTEP. It's that return value that
> is what should ensure that user_enable_single_step actually happens (in
> utrace.c:finish_resume_report).
>
> I'm not entirely sure I understood your description of what you see
> happening. But perhaps you can figure out exactly where it differs from
> what I've described that I think it should do.
>
>
> Thanks,
> Roland
>
Understood.
The test step-simple can pass on 2.6.29-rc1+utrace(11 Jan). Seems the
regression has been fixed.
Regards,
Wenji
More information about the utrace-devel
mailing list