C语言 如何在gdb中查看musl的源代码

i86rm4rw  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(134)

首先,我英语说得不好,请原谅,我想在gdb中查看musl的源代码,这是我做的。
1.易于安装musl-tools

  1. git:git.musl-libc.org/musl
    1.设置gdb的路径,下面是我的'/~/. gdbinit'中的内容:
layout src
directory ~/musl/src

字符串
1.创建一个C程序:

#include <stdio.h>

int main(){
  printf("hello\n");

  return 0;
}


1.我用'musl-gcc -O 1-g3 -static test.c'编译它
1.然后我用gdb运行它。但是当我用's'试图进入printf的源代码时,它只是跳过它。
我试着问过chatgpt,但还是不能解决。谁能告诉我为什么会这样,我该怎么解决呢?

tzxcd3kk

tzxcd3kk1#

1.使用调试符号构建musl:

$ (cd musl; configure --enable-debug; make)

字符串
1.使用调试符号针对库构建程序:

$ musl-gcc -g3 -static -Lmusl/lib test.c


1.享受甜蜜的成功:

$ gdb ./a.out
(gdb) start
Temporary breakpoint 1 at 0x40113d: file test.c, line 4.
Starting program: /home/allan/a.out 

Temporary breakpoint 1, main () at test.c:4
4               printf("hello\n");
(gdb) s
puts (s=0x402000 "hello") at src/stdio/puts.c:6
6       FLOCK(stdout);

相关问题