segmentation-fault 相关问题

访问不属于您的进程的内存时会发生分段错误。使用此标记以及指示语言的标记和指示操作系统的标记。分段错误通常是使用指针变量(通常包含无效地址)或缓冲区溢出的解除引用操作的结果。无效指针值的根本原因可能是远离产生分段错误的位置。

尝试从头开始构建动态数组:在append函数中使用delete[]时出现分段错误

我正在尝试从头开始构建一个 C++ 向量来完成作业,但我一整天都在挣扎。我的追加功能坏了。起初它不需要任何字符串输入,但我已经得到了......

回答 1 投票 0

为什么访问 16 位寄存器保存的值会导致段错误,而在 32 位寄存器上执行相同的操作却可以正常工作?

我在使用 16 位寄存器进行大学作业时遇到问题。我尝试运行的代码如下: myArray 数据库 1,2,3,4;在正确的部分声明 ;----------------- 莫夫西,

回答 1 投票 0

在 Ubuntu 22.04 中链接自定义构建的 glibc-2.31 后出现段错误

我正在尝试研究不同版本的 glibc 中内存分配器的行为。我在 WSL 中使用 x86-64 Ubuntu 22.04 LTS。 构建 glibc-2.31 我用这个从源代码构建了 glibc-2.31

回答 1 投票 0

为什么我总是出现分段错误?

我正在尝试制作一个数独验证器作为 C 上的多线程示例,其中 3 个并发线程检查数独中的行、列和网格,并告诉数独是否有效,但我似乎...

回答 1 投票 0

CPP 中过载输入运算符出现分段错误

我正在尝试通过提示用户在命令行中依次提供其详细信息来导入一本书。为此,我使用了一个重载的输入运算符,但是当尝试它时,结果是我......

回答 1 投票 0

导入键盘段错误 python Macos Big Sur

我遇到了一个以前在 python 中从未遇到过的奇怪问题。当我尝试导入键盘模块:导入键盘时,我的程序发送分段错误。我已经用 sud 运行了该程序...

回答 2 投票 0

在这个简单的 C++ 线程程序中获取核心转储

我是 C++ 并发的新手。我只是尝试创建新线程并尝试运行它。 但我收到内存故障(coredump)错误。 现在可以找到导致内存故障的原因了。当我尝试...

回答 1 投票 0

返回后访问违规?我该如何调试这个?

我们的代码记录各种有意义的事件。通常日志记录工作得很好,但今天日志功能在返回时导致访问冲突。我猜堆已被某种方式损坏,但它......

回答 1 投票 0

没有 printf 核心,该段就被违反了

如果我不放置 printf(" "); 我有以下代码段被侵犯,否则工作正常 无效分散(浮点***plancha_ptr,浮点***copiaPlancha_ptr){ 浮动 **plancha = *

回答 1 投票 0

将动态分配数组的指针传递给 C++ 中的函数

我遇到了变量在内存中相互覆盖的问题,所以我决定尝试动态分配我的数组之一。 在下面的简化代码中,我尝试创建一个

回答 4 投票 0

C++ 合并排序分段错误?

我似乎在运行这个合并排序时遇到了一些麻烦。当我尝试使用 g++ 运行它时,终端显示“分段错误(核心已转储)”,我不知道是什么导致了这种情况

回答 2 投票 0

自动错误报告工具 (ABRT) 如何工作以在运行时捕获核心?

我的 fedora12 安装了一个名为 ABRT 的工具,可能是 GNOME 附带的。这 该工具在后台运行并实时报告任何崩溃的进程。 我已经使用了信号处理程序......

回答 2 投票 0

将参数传递给 main 时出现分段错误

我知道这有点基础,但我坚持这个。 我一直在尝试制作一款数独游戏。参数将通过将它们传递给主函数来给出。当尝试将它们写入不同的数组时,...

回答 1 投票 0

显示分段错误(核心转储)维吉尼亚密码

我正在为 cs50 做 pset,无论我做什么,它都会显示分段错误。 我尝试了各种东西,但它一直显示相同的东西。 这是我的维吉尼亚密码

回答 1 投票 0

使用数组下标时出现分段错误核心转储

我正在尝试实现一个相当基本的程序,但我得到了一个转储的核心。对我做错了什么有什么想法吗? #包括 整数 主要(无效){ char *number[] = {"一","t...

回答 2 投票 0

如何在 OS X Lion 上获取核心转储?

我正在使用 C 语言开发一个存在段错误的 PostgreSQL 扩展,因此我想查看我的 OS X Lion 机器上的核心转储文件。但是,/cores 或我能找到的其他任何地方都没有核心文件....

回答 1 投票 0

如何打开文件以在单独的函数中读取而不会出现分段错误?

当我在单个函数中打开文件时,它打开时没有错误。 无效文件打开(字符文件名[]){ 文件*文件; 文件 = fopen(文件名, "r"); 如果(文件!= NULL){ printf("成功

回答 1 投票 0

Delphi 11.2 Alexandria 中的 OWC11 - TPivotTable.Create 上的访问冲突

我们现在在创建 TPivotTable 类的实例时收到访问冲突。这在以前的 Delphi 版本中一直有效,没有问题。 重现步骤: 导入类型库...

回答 1 投票 0

用gdb查找memcpy错误

下面代码的错误是memcpy(t[j], m[j], sizeof(int) * DIM * DIM);应该是 memcpy(t[j], m[j], sizeof(int) * DIM);: // 无标题7.c #包括 #包括 以下代码中的错误是memcpy(t[j], m[j], sizeof(int) * DIM * DIM);应该是memcpy(t[j], m[j], sizeof(int) * DIM);: // Untitled7.c #include <stdio.h> #include <string.h> #define DIM 1000 int main(void) { int m[DIM][DIM], t[DIM][DIM]; unsigned j, k; for(j = 0; j < DIM; j++) for(k = 0; k < DIM; k++) m[j][k] = j * DIM + k; for(j = 0; j < DIM; j++) memcpy(t[j] ,m[j], sizeof(int) * DIM * DIM); // only one DIM for(j = 0; j < DIM; j++) for(k = 0; k < DIM; k++) m[j][k] = t[DIM-k-1][j]; return 0; } 使用 gdb 如何找到该错误?我了解了如何创建核心文件(使用ulimit -c unlimited),然后我使用了$ gdb Untitled7 core,它给出了: ... Reading symbols from Untitled7...done. [New LWP 10610] Core was generated by ` ? @ A'. // and symbols of binary files Program terminated with signal SIGSEGV, Segmentation fault. #0 __memcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:2590 2590 ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S: File o directory non esistente. // File or directory not existent. 之后我该怎么办? 您不能总通过这种方式找到真正的错误,但您可以找到发生分段违规的位置。 您需要使用调试信息编译程序,最好不进行优化,即使用 -ggdb -O0 编译标志。如果违规发生在库函数内部(如您的示例所示),请使用 gdb 命令 up 向上移动调用堆栈,直到到达代码。然后您应该会看到程序的有问题的行。 确保gdb可以找到您的来源。通常当你的当前目录是你的构建目录时,gdb可以找到它们。如果没有,请使用 directory 的 gdb 命令。

回答 1 投票 0

分段错误(核心转储)C++ 初学者

所以,我是 C++ 新手。我研究了分段错误(核心转储)、内存分配和新建/删除,尽管我很难理解这些概念。我确实相信我的问题出在我...

回答 1 投票 0

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