segmentation-fault 相关问题

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

在外部函数中标记化后,字符串数组项出现段错误

我正在尝试构建一个运行时命令行工具,但不明白为什么当我尝试对用户输入的字符串进行标记时会出现分段错误。 在 str_utils.c 文件中,表达式 printf("

回答 1 投票 0

在 C 中的字符串数组中分配字符分段错误

非常困惑为什么我会收到“分段错误(核心转储)”。 常量 int bufSize = 32; char* splitStrings[bufSize]; splitStrings[0][0] = 'a'; splitStrings[0][1] = ' '; printf("测试字符:...

回答 4 投票 0

从文件读取分段错误

我一直在尝试文件读写功能,遇到了分段错误。它似乎与从文件中读取有关。下面是我写的代码。 我写的代码...

回答 1 投票 0

为什么g++要编译这个?

最近很累,写了如下代码: GLfloat* 数组 = new GLfloat(x * y * z); 当然应该是: GLfloat* 数组 = new GLfloat[x * y * z]; (注意正方形

回答 4 投票 0

在带有 strtok 的 C 函数中使用 strcpy 将标记复制到结构字段时出现分段错误

我正在开发一个 C 函数来从文本文件中读取一行,使用 strtok 将其拆分为标记,并将每个标记分配给结构中的特定字段。然而,我遇到了分割......

回答 1 投票 0

C++ - 尝试理解虚函数、虚表以及为什么这个程序会出现段错误

以下程序会导致段错误。 从打印中我看到崩溃之前没有调用 Dtor。 在 gdb 中,我看到每个 Y 对象都包含一个指向其 vtable 的指针。 因此,当尝试删除

回答 1 投票 0

SDL_Init() 在以某种方式调用我的 close() 函数后出现段错误?

为什么这段代码(用 gcc test.c -o test -lSDL2 -Wall -Wextra 编译): #包括 无效关闭(){ printf("这里 ”); SDL_Quit(); } int main() { SDL_初始化(

回答 1 投票 0

SDL_Init 问题

有人知道为什么这段代码(用gcc test.c -o test -lSDL2 -Wall -Wextra编译) 多次打印“HERE”后导致段错误?关闭函数是定义在...

回答 1 投票 0

在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

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