On Mon, Oct 16, 2017 at 12:27:17PM +0800, chengjian (D) wrote: > Hi > I write demo use ptrace/SINGLESTEP to count the number of instructions > executed by the process > The parent process fork+exec a child process, and trace(SINGLESTEP) it, > > It works fine under the x86_64 architecture but has an exception under > arm64.
My guess is that you are getting stuck in an LDXR/STXR loop, which cannot be stepped. Can you jump the PC once the child appears to be "stuck"? IIRC, GDB has special heuristics to step through LDXR/STXR critical sections. Will