Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "myshared.h"
- int main(void)
- {
- int a = 3;
- print_from_lib();
- return 0;
- }
- void print_from_lib();
- #include <stdio.h>
- void print_from_lib()
- {
- printf("Printed from shared libraryn");
- }
- export LIBRARY_PATH=$PWD:$LIBRARY_PATH
- export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
- gcc -ggdb -c -Wall -Werror -fpic myshared.c -o myshared-ggdb.o
- gcc -ggdb -shared -o libmyshared-ggdb.so myshared-ggdb.o
- gcc -ggdb main.c -lmyshared-ggdb -o app-ggdb
- $ gdb app-ggdb
- GNU gdb (Ubuntu 7.12.50.20170314-0ubuntu1) 7.12.50.20170314-git
- ...### GDB STARTING TEXT
- Reading symbols from app-ggdb...done.
- (gdb) break 7
- Breakpoint 1 at 0x78f: file main.c, line 7.
- (gdb) set step-mode on
- (gdb) run
- Starting program: /home/user/share-lib-example/app-ggdb
- Breakpoint 1, main () at main.c:7
- 7 print_from_lib();
- (gdb) s
- 0x0000555555554640 in ?? ()
- (gdb)
- $ objdump --syms libmyshared-ggdb.so | grep debug
- 0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges
- 0000000000000000 l d .debug_info 0000000000000000 .debug_info
- 0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev
- 0000000000000000 l d .debug_line 0000000000000000 .debug_line
- 0000000000000000 l d .debug_str 0000000000000000 .debug_str
- $ gdb app-ggdb
- ...### GDB STARTING TEXT
- Reading symbols from app-ggdb...done.
- (gdb) break 7
- Breakpoint 1 at 0x78f: file main.c, line 7.
- (gdb) set step-mode on
- (gdb) run
- Starting program: /home/user/share-lib-example/app-ggdb
- Breakpoint 1, main () at main.c:7
- 7 print_from_lib();
- (gdb)(gdb) info sharedlibrary
- From To Syms Read Shared Object Library
- 0x00007ffff7dd7aa0 0x00007ffff7df55c0 Yes /lib64/ld-linux-x86-64.so.2
- 0x00007ffff7bd5580 0x00007ffff7bd5693 Yes /home/user/share-lib-example/libmyshared-ggdb.so
- 0x00007ffff782d9c0 0x00007ffff797ed43 Yes /lib/x86_64-linux-gnu/libc.so.6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement