I'm debugging android JNI with gdb without source code. I use ni command to step over arm asm instructions. I suppose ni is step over, but it still goes into function like BL xxxx, and I have to use finish to get back.

I tried ni and si, seems no difference, why?

1 Answer 1


You don't have the source code, so I assume you don't have any debug information with your binary either. This is just a guess, but without them, I suppose your BL is seen as a mere branch, not a subroutine call. For further explanation, see this comment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.