程序收到信号SIGSEGV,分段错误 - 没有这样的文件或目录[重复]

问题描述 投票:0回答:1

我正在运行 gdb 来调试出现分段错误错误的程序。当我构建我的应用程序并运行时

gdb ./app

我得到以下输出:


Program received signal SIGSEGV, Segmentation fault.
__strcpy_avx2 () at ../sysdeps/x86_64/multiarch/strcpy-avx2.S:611
611     ../sysdeps/x86_64/multiarch/strcpy-avx2.S: No such file or directory.

跑步

bt
给出,


#0  __strcpy_avx2 () at ../sysdeps/x86_64/multiarch/strcpy-avx2.S:611

我不确定 gdb 是否缺少文件。

c segmentation-fault gdb
1个回答
0
投票

我不确定 gdb 是否缺少文件。

丢失的文件是 GLIBC 源代码的一部分,您可以安装它。

但是,

strcpy
实现内部的崩溃〜始终意味着您使用无效参数调用该函数(例如
NULL
指针、无效的源或目标、不可写的目标等)。

因此,您应该使用

where
GDB 命令来检查对
strcpy
的调用来自何处,并检查 caller(很可能在您自己的代码中)。

© www.soinside.com 2019 - 2024. All rights reserved.