segmentation-fault 相关问题

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

在c中实现dsu时出现没有原因的段错误(可能是一个愚蠢的错误)

#包括 #包括 typedef 结构父 { int 节点; 整数总和; } 父级; typedef 结构 DSU { 父母*父母; int* 等级; } DSU; 无效create_dsu(DSU...

回答 1 投票 0

如何访问已释放内存位置的节点内部的数据?

我试图在释放节点后返回节点中的数据。但是当我尝试这样做时,我收到了段错误。 (我的猜测是,当我将 elem 值分配给变量 data 时,它只会

回答 1 投票 0

如何在 C 中打印存储在变量中的值

如何打印 C 中变量中存储的值。 我是 C 新手,对 python 有一点经验。 在 python 中,如果我们取 num = 30 并且执行 print(num)。输出为 30。 我想做...

回答 1 投票 0

自然k路合并算法超时,当它已经是N*LogN时?

我正在完成以下作业。我们应该了解c++的基础知识以及一些普通和高级的排序算法: 使用自然 k-way me 模拟外部排序算法...

回答 1 投票 0

libc.so 在 firebase crashlytics 上反应本机内存泄漏崩溃

我在启用 Hermes 的 React Native 应用程序(版本 0.72.7)中遇到持续崩溃。我分析了我的应用程序中视频组件的内存图,这引起了人们对pote的担忧......

回答 1 投票 0

Flutter 应用程序启动时出现段错误(仅限发布模式)

我的应用程序一启动就崩溃(仅在发布模式下)。 这似乎是一个段错误(感谢 logcat,请参阅附加日志),但我没有接触过任何本机代码,所以我不确定在哪里...

回答 2 投票 0

使用#pragma omp paralle for

我正在使用 C++ 和 OMP 库练习 2 个线程的暴力破解: #包括 #包括 #包括 #包括 #包括 我正在使用 C++ 和 OMP 库练习 2 个线程的暴力破解: #include <iomanip> #include <sstream> #include <openssl/md5.h> #include <cstring> #include <iostream> #include <omp.h> #define NUM_THREADS 2 int main() { unsigned char digest[MD5_DIGEST_LENGTH]; std::cout << "Enter hash: "; std::string target; std::cin >> target; char password[11] = "0000000000"; bool flag = true; std::ostringstream password_stream; std::ostringstream hex_hash; while (flag) { #pragma omp parallel for num_threads(NUM_THREADS) for (unsigned long long i = 0; i <= 9999999999ULL; ++i) { password_stream << std::setfill('0') << std::setw(10) << i; std::string password_str = password_stream.str(); MD5(reinterpret_cast<const unsigned char*>(password_str.c_str()), password_str.length(), digest); for (int i = 0; i < MD5_DIGEST_LENGTH; ++i) { #pragma omp critical hex_hash << std::hex << std::setw(2) << std::setfill('0') << (int)digest[i]; } std::string hex_hash_str = hex_hash.str(); //std::cout << omp_get_thread_num() << std::endl; if (hex_hash_str == target) { #pragma omp critical std::cout << "Orginal password: " << password_str << std::endl; flag = false; } if (i % 100000 == 0) { std::cout << "Wrong: " << password_str << " " << hex_hash_str << " Trying again..." << std::endl; } } } return 0; } 但是他们要么试图写入一个流,要么我得到了错误的十六进制数字哈希计算,或者是分段错误或总线错误。 我正在尝试使用 #pragma omp critical 以避免线程写入一个流。另外,我尝试在 #pragma omp parallel for 之前将带有密码和十六进制哈希的变量放入全局变量中。所有这些都会导致哈希计算错误或分段错误。 密码由10位数字组成 我认为有几个问题: password_stream 和 hex_hash 不是线程安全的 std::ostringstream 不是线程安全的 变量 flag 和 password_stream 由所有线程共享。 password_stream、hex_hash和digest未本地化到线程 没有测试自己,但试试这个: while (flag) { #pragma omp parallel for num_threads(NUM_THREADS) for (unsigned long long i = 0; i <= 9999999999ULL; ++i) { std::ostringstream password_stream; // moved inside the loop password_stream << std::setfill('0') << std::setw(10) << i; std::string password_str = password_stream.str(); unsigned char local_digest[MD5_DIGEST_LENGTH]; // changed to local MD5(reinterpret_cast<const unsigned char*>(password_str.c_str()), password_str.length(), local_digest); std::ostringstream hex_hash; // moved inside the loop for (int j = 0; j < MD5_DIGEST_LENGTH; ++j) { hex_hash << std::hex << std::setw(2) << std::setfill('0') << (int)local_digest[j]; } std::string hex_hash_str = hex_hash.str(); if (hex_hash_str == target) { #pragma omp critical { std::cout << "Original password: " << password_str << std::endl; flag = false; } } if (i % 100000 == 0) { #pragma omp critical { std::cout << "Wrong: " << password_str << " " << hex_hash_str << " Trying again..." << std::endl; } } #pragma omp flush(flag) // improved if (!flag) break; } }

回答 1 投票 0

完成 Brotli 压缩时出现分段错误

我使用 https://github.com/dropbox/rust-brotli 创建我自己的压缩器。 pub 使用 brotli::CompressorWriter; pub 使用 brotli::DecompressorWriter; 为 CompressorWr 实现 Coder...

回答 1 投票 0

Symfony 学说数据加载分段错误

我正在学习 Symfony Jobeet 教程,并且在尝试从我的装置文件加载数据时遇到分段错误。 PHP 5.2.6-1+lenny8 与 Suhosin-Patch 0.9.6.2 (cli), S 交响乐

回答 4 投票 0

内部有另一个结构的结构数组

我试图在C中声明一个数组,但问题是该数组的类型是一个struct Client,它内部有一个struct Register类型的变量。 typedef 结构客户端 { 注册 *

回答 1 投票 0

违反AVL树平衡期间的分段错误

我尝试实现一个程序来说明 AVL 树的基本操作。之前我将该代码制作为二叉搜索树,并将其操作扩展为 AVL。这个问题每次都会出现...

回答 1 投票 0

虚幻引擎 5 无法在 Ubuntu 22.04 上启动

在从服务器 ISO 全新安装的 Ubuntu 22.04 上(Ubuntu 22.04.3 LTS x86_64 5.15.0-91-generic),UE5 无法以 libc.6.so 中的 SIGSEGV 启动。引擎没有告诉任何有关功能的细节...

回答 1 投票 0

调用`IpoptApplication::Initialize()`时出现分段错误

我正在 Ubuntu 20.04.6 上使用 ipopt 3.11.9-2.2build2 构建这个,使用 GCC 9.4.0: #包括 #包括 使用命名空间 Ipopt; /** * @brief 琐碎

回答 1 投票 0

为什么 PyDub 会出现段错误?

我正在运行一个简单的脚本来在 pydub 中录制音频并回放。它正在回放,但回放后,它向我抛出分段错误,我不知道为什么。 导入

回答 1 投票 0

为什么当我返回或更改 for 循环内的值时会出现分段错误?

我想做一个函数来检查选项的值并确定它是肯定还是否定然后返回1、0或-1。 但是,当我更改值时出现分段错误...

回答 1 投票 0

如何在带有参数折叠的可变参数函数中传递不同的数据类型?

制作一个链接列表库,我想传递多个值以使附加项目更容易,所以我创建了一些可变参数函数,在使用 int 值进行测试时,wor...

回答 1 投票 0

为什么 V8 的 Hello World 在 Ubuntu 上会导致分段错误?

我已经在 Ubuntu 14.04 上编译了 V8,现在正在尝试让示例 hello_world.cc 工作,但是,当我执行它时,我遇到了分段错误(核心转储)。 这是我的 hello_world 来源...

回答 1 投票 0

strdup()的用法

假设我们有一个结构: 结构人{ 字符*名称; }; 结构人 *Person_create(char *name){ struct Person *who = malloc(sizeof(struct Person)); 断言(谁!= NULL); 谁->南...

回答 3 投票 0

使用 tcp 套接字发送和接收字符串的线程安全函数

我需要一个线程安全的函数,它可以创建一个 tcp 套接字,也可以使用一个预连接的 tcp 套接字向服务器发送和接收字符串。这个字符串实际上是 linux shell 命令和 ret...

回答 1 投票 0

仅仅尝试在我的程序中使用 opendir() 就会出现分段错误。我在 vscode 上,在我学校的 Linux 服务器上

#包括 #包括 #包括 #包括 #包括 #定义最大100 int copy(char 文件名[], char dirName[]) { ...

回答 1 投票 0

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