Conditions under which stepping into shared library should work in gdb?

前端 未结 3 926
甜味超标
甜味超标 2021-01-01 22:49

There are many questions related to specific errors why stepping into a shared library with gdb isn\'t working. None of them provide a systematic answer on how to confirm wh

3条回答
  •  一生所求
    2021-01-01 23:29

    GDB 7.11 can't reproduce this problem. This is my steps. I hope this will help you:

    1.gcc -ggdb -c -Wall -Werror -fpic myshared.c -o myshared-ggdb.o
    2.gcc -ggdb -shared -o libmyshared-ggdb.so myshared-ggdb.o
    3.gcc -ggdb main.c -lmyshared-ggdb -o app-ggdb -L.
    4.gdb ./app-ggdb
    

    In GDB,

    (gdb) set env LD_LIBRARY_PATH=.
    (gdb) b main.c:7
    Breakpoint 1 at 0x4006a5: file main.c, line 7.
    (gdb) r
    Starting program: /home/haolee/tmp/app-ggdb 
    
    Breakpoint 1, main () at main.c:7
    7       print_from_lib();
    (gdb) s
    print_from_lib () at myshared.c:5
    5       printf("Printed from shared library\n");
    (gdb) 
    

    I step into the function print_from_lib successfully.

提交回复
热议问题