gpt4 book ai didi

c - 未找到 strcpy-sse2-unaligned.S

转载 作者:太空狗 更新时间:2023-10-29 16:31:03 29 4
gpt4 key购买 nike

我正在编译下面的简单代码,并在 gdb 中运行它。我在 strcpy 行设置了一个断点,一旦我为输入运行它,例如 abc,然后按 s,我得到以下错误:

Breakpoint 1, main (argc=2, argv=0x7fffffffdd98) at ExploitMe.c:9
9 strcpy(buffer, argv[1]);
(gdb) s
__strcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:48
48 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: No such file or directory.

我使用的是 ubuntu 12.04 AMD64 和 gcc 2.15。有什么想法吗?


main(int argc, char *argv[]) {

char buffer[80];

strcpy(buffer, argv[1]);

return 0;
}

最佳答案

调试时忽略这些“错误”是完全无害的。

错误只是因为GDB 正在寻找strcpy 函数的源代码。 libc 中任何您没有源代码的函数都会出现类似的错误,例如:

int *p = malloc(sizeof *p);

然后...

(gdb) s
5 int *p = malloc(sizeof *p);
(gdb) s
__GI___libc_malloc (bytes=4) at malloc.c:2910
2910 malloc.c: No such file or directory.

您始终可以下载 GNU libc 的源代码并将其与 GDB 链接:

git clone https://github.com/jeremie-koenig/glibc /opt/src/glibc

然后...

(gdb) dir /opt/src/glibc/malloc
(gdb) s
5 int *p = malloc(sizeof *p);
(gdb) s
__GI___libc_malloc (bytes=4) at malloc.c:2910
2910 }
(gdb) s
2915 } else if (!in_smallbin_range(size))

... 这将让您单步执行 malloc 的源代码。它不是特别有用,但有时会派上用场。

关于c - 未找到 strcpy-sse2-unaligned.S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13978692/

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