I'm new with gdb and I have spent hours looking for direction but I can't find any. I need to analyze an executable to find how this program process the arguments and where the output came from. I have it running on my system, got it working correctly to print some encoded string. After some days trying gdb, I figure that I need to trace the data inside every function, but I can't pass this function __libc_init where the program alwas exited with code 0235. The last process says __libc_init () from /system/lib/libc.so so i think it's doing something with this external library libc.so. How could I continue the debug process when I hit this type of process? I can't find any reference to understand this.

1 Answer 1


If you cannot step inside that function, you’re probably missing debug symbols for the library (check with info shared). You can try to either install symbols (usually in a package named libc-dbg or similar), or debug on assembly level by using si (step instruction) command.

  • this is new for me, i thought that the external library debug symbol not required in this process. for the code itself, i have make sure that the debug symbol is available. i think i'm not interested with the external library's process, so i want to skip to when this library call is finish, and check for output and other values. is it possible? Jun 5, 2020 at 4:37
  • If you want to know why it’s exiting in that function, you’ll have to go inside.
    – Igor Skochinsky
    Jun 5, 2020 at 5:47
  • ooh so that's how it is. i think gdb is too advanced for now. gonna try analyze the strace and objdump output now before going back here and try your advice. thankyou! Jun 5, 2020 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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