gpt4 book ai didi

c - ../sysdeps/i386/i686/multiarch/strcpy.c : No such file or directory

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:15 25 4
gpt4 key购买 nike

我正在尝试使用 gdb 调试程序,当我设置断点并继续 strcpy() 函数时。我收到以下回复:

frinto@kali:~/Documents/theclang/programs/helloworld$ gcc -fno-builtin -m32 -g -o char_array char_array.c 
frinto@kali:~/Documents/theclang/programs/helloworld$ ls
a.out char_array char_array.c firstprog.c helloworld.c
frinto@kali:~/Documents/theclang/programs/helloworld$ ./char_array
Hello, world!
frinto@kali:~/Documents/theclang/programs/helloworld$ gdb -q char_array
Reading symbols from char_array...done.
(gdb) list
1 #include <stdio.h>
2 #include <string.h>
3
4 int main() {
5 char str_a[20];
6
7 strcpy(str_a, "Hello, world!\n");
8 printf(str_a);
9 }
(gdb) break 6
Breakpoint 1 at 0x11c6: file char_array.c, line 6.
(gdb) break strcpy
Breakpoint 2 at 0x1040
(gdb) break 8
Breakpoint 3 at 0x11dc: file char_array.c, line 8.
(gdb) run
Starting program: /home/frinto/Documents/theclang/programs/helloworld/char_array

Breakpoint 1, main () at char_array.c:7
7 strcpy(str_a, "Hello, world!\n");
(gdb) cont
Continuing.

Breakpoint 2, strcpy_ifunc () at ../sysdeps/i386/i686/multiarch/strcpy.c:29
29 ../sysdeps/i386/i686/multiarch/strcpy.c: No such file or directory.
(gdb)

我在 Kali 2.0 上,我已经安装了:libc6-dbglibc6-dbg:i386

如果它还不是很明显,我想摆脱这个错误信息:

../sysdeps/i386/i686/multiarch/strcpy.c: No such file or directory

提前感谢您的帮助!

最佳答案

I want to get rid of this error message:

这不是错误。 GDB 告诉您您已经在 strcpy_ifunc 函数中停止(请参阅 this description 了解 IFUNC 是什么),该函数在 ../sysdeps/中定义i386/i686/multiarch/strcpy.c 源文件,而 GDB 不知道如何在文件系统上找到该文件(因此无法向您显示 strcpy_ifunc 的源代码).

解决这个问题的最好方法是告诉 GDB 在哪里可以找到这个源。请参阅 (gdb) 帮助目录

当然,要实现这一点,您实际上需要 GLIBC 源代码。我不知道 Kali 是否将源代码打包到 libc6-dbg:i386 中,你可能需要安装一个单独的 glibc-source 包.

关于c - ../sysdeps/i386/i686/multiarch/strcpy.c : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54282586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com