segmentation-fault 相关问题

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

fgets 和分段错误

我得到了这个功能: #define DIGITS_MAXIMUM_NUMBER 10 int* read_from_file(const char* 文件名) { 整数限制= 101; int *values = (int *) malloc(sizeof(int) * limit); 文件...

回答 1 投票 0

返回元组的段错误

我一直在尝试使用 2 个自定义类 Fraction 和 Integer 来重载 + 运算符。理想情况下,我希望 + 运算符返回最简单的操作版本(即 1/4 + 3/4 == 1 (整数...

回答 1 投票 0

如何构建Catboost C评估库API?

我必须在某些编程语言、Golang 和 Python 中使用 Catboost 模型。最好的选择(为了性能和兼容性)是使用评估库,它可以是 C 或 C++ API。我...

回答 2 投票 0

GCP Cloud Run 容器因未捕获信号而失败:11 分段错误 - 节点 - Fastify

我有一个使用 Fastify 的节点服务器应用程序。我可以毫无问题地在本地构建并运行该映像。但是当我部署到云端时,它无法启动并给出 Uncaught 信号:11 - Segmentation

回答 2 投票 0

为什么是(右 - 左)/ 2;导致分段错误?

我在这里阅读了以下SO帖子并理解为什么我想使用left + (right - left) / 2; vs(右 - 左)/ 2;以防止缓冲区溢出的可能性。 我也很好奇为什么...

回答 1 投票 0

在 MacOS 中运行 Django 服务器的问题

我在使用 MacOS Sonoma 14.6.1 的 Macbook M3 Pro 中尝试运行 Django 服务器时遇到问题。运行命令 python manage.py runserver 时,服务器既不启动也不显示错误。我...

回答 1 投票 0

使用 nvcc CUDA 编译器时出现分段错误的可能原因有哪些?

我有一个 CUDA 类,我们称之为 A,在头文件中定义。 我编写了一个测试内核,它创建了 A 类的实例,它可以正常编译并产生预期的结果。 另外...

回答 1 投票 0

Python 导入模块时出现分段错误

我有一个使用自然语言日期解析器 Natty 的 Python 脚本。 Natty 本身是用 Java 编写的,但使用 Jpype 包装在 Python 中使用。该脚本在我的开发中运行得非常好

回答 2 投票 0

数组声明分段错误

我试图理解为什么在 C++ 中声明具有可变大小的数组会显示分段错误,如果我在数组声明之前获取大小值但不显示分段 e...

回答 1 投票 0

如何在 Android 应用程序中处理 *.so 库中的本机异常?

我正在开发Android应用程序来使用网络打印机。 Atol 打印机有自己的用于打印文本的本机库 (*.so)。在某些情况下,该库会抛出本机

回答 1 投票 0

尝试使用递归打印帕斯卡三角形时出现分段错误

所以我是 DSA 方面的新手,正在学习 DSA 课程,但在观看视频之前,我首先自己尝试一下,然后收到此错误“发生异常。分段错误”。我

回答 1 投票 0

Lambda 和 std::function 导致悬空引用(分段错误)

我有一个实体系统(我尝试重新创建一个更简单的ECS,而不必太担心内存放置...) 实体管理器: 实体管理类 { std::unordered_map 我有一个实体系统(我尝试重新创建一个更简单的ECS,而不必担心内存放置...) 实体管理器: class EntityManager { std::unordered_map<std::type_index, std::list<mia::Entity*>> entitiesMap; public: static void RegisterEntity(std::type_index type, Entity* entity) { if (entitiesMap.find(type) == entitiesMap.end()) { entitiesMap.insert(std::pair<std::type_index, std::list<Entity*>>( type, std::list<Entity*>() )); } entitiesMap[type].push_back(entity); } template <class T> static void IterateEntities(std::function<void(T*)> method) { static_assert(std::is_base_of<Entity, T>::value, "T must be derived from Entity"); std::type_index type = std::type_index(typeid(T)); auto targetIterator = entitiesMap.find(type); if (targetIterator != entitiesMap.end()) { for (Entity* entity : targetIterator->second) { if (!entity->IsActive()) continue; // Here the std::function call method(dynamic_cast<T*>(entity)); } } } } 实体 class Entity { Entity::Entity(std::type_index type) { EntityManager::RegisterEntity(type, this); } } main.cpp class DerivedEntity : Entity { public: DerivedEntity(int s) : Entity(typeid(DerivedEntity)) { id = s; } int id; void Notify() { printf("Notitied: %d", id); // <--- Segmentation fault } }; int main() { ObjA *a0 = new ObjA(0); EntityManager::IterateEntities<DerivedEntity>([](DerivedEntity* t) { t->Notify(); }); } 我认为问题是悬空引用,因为我尝试在 Notify() 中记录地址,它返回 null void Notify() { printf("Log: %p", this); // Log printf("Notitied: %d", id); } 当我在 std::function 调用之前记录实体时,它返回我正在寻找的正确对象 printf("Log: %p", entity); // Log method(dynamic_cast<T*>(entity)); 如何解决? 我无法立即找到一个很好的副本,所以我会正确回答。 Entity 不是 多态,因为它没有任何虚拟方法。 您可以从文档中看到,dynamic_cast仅适用于当源是多态时的向下转换(您想要执行的操作)。 您可以并且应该通过在dynamic_cast中编写一个简单的main来确认这是您的问题。在调试器(使用调试版本)中检查分段错误也会让您了解这个 nullptr 来自何处。 只需添加虚拟析构函数即可使 Entity 成为多态。如果您可能想使用基类指针来管理所有权,那么您通常应该拥有其中之一。

回答 1 投票 0

如何调试带有混乱痕迹的 Qt。 (堆栈中没有引用自己的代码)

在这种情况下,C++ Qt GUI 程序崩溃并且堆栈没有明确参考崩溃的来源,如何做或如何调试的任何提示。 QtCreat 有一些设置吗...

回答 1 投票 0

C:为什么我会出现分段错误?

我有以下代码。调用 f1 会引发段错误,但不会引发 f2。 #包括 #包括 void f1(无符号字符** arr) { 无符号字符* p = *arr; *p = 'h'; p++...

回答 1 投票 0

尝试用 A* 解决大型迷宫时出现 SIGSEGV

我正在用 C++ 实现 A* 寻路算法来解决迷宫问题,但当迷宫尺寸较大(~10,000x10,000 或更大)时,我遇到了分段错误 (SIGSEGV)。 错误发生在...

回答 2 投票 0

Python 中 pyttsx3 和语音识别的分段错误错误

使用 pyttsx3 和语音识别运行 Python 脚本时遇到分段错误错误。这是我的代码的简化版本: 导入时间 导入 pyttsx3 导入语音识别...

回答 1 投票 0

从程序集中调用 WinAPI 的 InternetOpenA() 时发生访问冲突

我正在尝试使用 Windows API 从程序集建立 HTTP 连接。 代码如下: %包括“const.asm” %定义 u(x) __utf16__(x) %定义 w(x) __utf32__(x) ;前...

回答 1 投票 0

椭圆曲线离散对数

我正在尝试使用 Pollard rho 求解椭圆曲线离散对数(找到 k,其中 G=kp),所以我在 c 中搜索实现,并在主文件中添加问题特定数据后找到了一个

回答 2 投票 0

将 numpy 数组传递给 open3d.utility.Vector3dVector 时出现分段错误

我想将一个dtype为“float64”的numpy数组传递给open3d.utility.Vector3dVector来获取点云的点,但是分割错误。 请帮帮我。 我搜索了很多解决方案...

回答 1 投票 0

尝试导入以下包时出现分段错误:数据集、转换器和评估

这是我第一次在 Stack Overflow 上发帖,所以如果我没有包含足够的细节,我深表歉意 我正在尝试从 HuggingFace 微调 Bert 模型,当我尝试以下导入语句时:

回答 1 投票 0

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