For Debugging shared libraries, you need to use
set breakpoint pending
-- Set debugger's behavior regarding pending breakpoints.
It's quite common to have a breakpoint inside a shared library. Shared libraries can be loaded and unloaded explicitly, and possibly repeatedly, as the program is executed. To support this use case, gdb updates breakpoint locations whenever any shared library is loaded or unloaded. Typically, you would set a breakpoint in a shared library at the beginning of your debugging session, when the library is not loaded, and when the symbols from the library are not available. When you try to set breakpoint, gdb will ask you if you want to set a so called pending breakpoint—breakpoint whose address is not yet resolved.
gdb provides some additional commands for controlling what happens when the `break' command cannot resolve breakpoint address specification to an address:
set breakpoint pending auto
This is the default behavior. When gdb cannot find the breakpoint location, it queries you whether a pending breakpoint should be created.
set breakpoint pending on
This indicates that an unrecognized breakpoint location should automatically result in a pending breakpoint being created.
set breakpoint pending off
This indicates that pending breakpoints are not to be created. Any unrecognized breakpoint location results in an error. This setting does not affect any pending breakpoints previously created.
show breakpoint pending
Show the current behavior setting for creating pending breakpoints.
Coming to your question. i.e Skipping a line
use jump +1
when your code reaches before that shared library line(skip_me()).
References
http://wiki.documentfoundation.org/Development/How_to_debug
gdb: how to set breakpoints on future shared libraries with a --command flag
http://bhushanverma.blogspot.in/2009/08/how-to-debug-shared-library-using-gdb.html
http://www.toptip.ca/2010/06/gdb-skip-instructions-or-lines-while.html
Can I use gdb to skip a line?