Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #include "myshared.h"
  3.  
  4. int main(void)
  5. {
  6. int a = 3;
  7. print_from_lib();
  8. return 0;
  9. }
  10.  
  11. void print_from_lib();
  12.  
  13. #include <stdio.h>
  14.  
  15. void print_from_lib()
  16. {
  17. printf("Printed from shared libraryn");
  18. }
  19.  
  20. export LIBRARY_PATH=$PWD:$LIBRARY_PATH
  21. export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
  22. gcc -ggdb -c -Wall -Werror -fpic myshared.c -o myshared-ggdb.o
  23. gcc -ggdb -shared -o libmyshared-ggdb.so myshared-ggdb.o
  24. gcc -ggdb main.c -lmyshared-ggdb -o app-ggdb
  25.  
  26. $ gdb app-ggdb
  27. GNU gdb (Ubuntu 7.12.50.20170314-0ubuntu1) 7.12.50.20170314-git
  28. ...### GDB STARTING TEXT
  29. Reading symbols from app-ggdb...done.
  30. (gdb) break 7
  31. Breakpoint 1 at 0x78f: file main.c, line 7.
  32. (gdb) set step-mode on
  33. (gdb) run
  34. Starting program: /home/user/share-lib-example/app-ggdb
  35.  
  36. Breakpoint 1, main () at main.c:7
  37. 7 print_from_lib();
  38. (gdb) s
  39. 0x0000555555554640 in ?? ()
  40. (gdb)
  41.  
  42. $ objdump --syms libmyshared-ggdb.so | grep debug
  43. 0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges
  44. 0000000000000000 l d .debug_info 0000000000000000 .debug_info
  45. 0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev
  46. 0000000000000000 l d .debug_line 0000000000000000 .debug_line
  47. 0000000000000000 l d .debug_str 0000000000000000 .debug_str
  48.  
  49. $ gdb app-ggdb
  50. ...### GDB STARTING TEXT
  51. Reading symbols from app-ggdb...done.
  52. (gdb) break 7
  53. Breakpoint 1 at 0x78f: file main.c, line 7.
  54. (gdb) set step-mode on
  55. (gdb) run
  56. Starting program: /home/user/share-lib-example/app-ggdb
  57.  
  58. Breakpoint 1, main () at main.c:7
  59. 7 print_from_lib();
  60. (gdb)(gdb) info sharedlibrary
  61. From To Syms Read Shared Object Library
  62. 0x00007ffff7dd7aa0 0x00007ffff7df55c0 Yes /lib64/ld-linux-x86-64.so.2
  63. 0x00007ffff7bd5580 0x00007ffff7bd5693 Yes /home/user/share-lib-example/libmyshared-ggdb.so
  64. 0x00007ffff782d9c0 0x00007ffff797ed43 Yes /lib/x86_64-linux-gnu/libc.so.6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement