segmentation-fault相关内容

libsigsegv 和响应堆栈溢出

我们正在尝试测试学生代码,并且为了自动化该过程,我们想检测学生的代码是否溢出堆栈. 我使用 libsigsegv 库及其相应的 stackoverflow_install_handler 取得了一些成功.它运行得非常好,直到学生的代码两次爆栈. 例如,下面是一些示例输出: [# ~]$ ledit ./interpreter->(使用解决方案)->(乐趣 1 2)***检测到堆栈溢出 ..
发布时间:2022-01-12 16:20:08 其他开发

C++ 为调试目的创建 SIGSEGV

我正在开发一个无锁共享变量类,我希望能够生成一个 SIGSEGV 错误,以查看我的实现是否按计划工作.我尝试创建一个修改指针并读取它 100 次的函数.然后我在两个线程中调用这个函数并让线程在我的程序中无限运行.这不会产生我想要的错误.我该怎么做呢? 编辑我根本不处理段错误,但是如果我删除锁,它们会在我的程序中生成.我想使用无锁设计,因此我创建了一个使用 CAS 保持无锁的共享变量类.有没有 ..
发布时间:2022-01-12 16:19:53 C/C++开发

return 语句之前/期间的 C 分段错误

我在 return 语句之前打印我正在返回的值,并告诉我的代码在函数调用之后打印返回的值.但是,在我的第一个 print 语句之后和第二个之前,我得到了一个分段错误(值得注意的是,这总是在第三次调用函数时发生;从来没有第一次或第二次,从来没有第四次或更晚).我尝试打印出我正在处理的所有数据,以查看我的其余代码是否在做一些它可能不应该做的事情,但到目前为止我的数据看起来还不错.函数如下: int ..
发布时间:2022-01-12 16:19:27 其他开发

特定线程上的 gdb nostop SIGSEGV

我有一个程序故意在一个线程上出现段错误,但我遇到另一个线程出现段错误的问题,我想用 GDB 捕捉它,我发现我可以: 句柄 SIGSEGV nostop noprint 但我只想在故意这样做的线程上这样做.. 可能吗? 我会解释:我有 2 个线程,一个线程是 segfaulting(并且恢复(mprotect 只读然后释放内存)),工作正常,另一个线程做其他事情,但遗憾的是,有一个错误,它 ..
发布时间:2022-01-12 16:19:19 服务器开发

PHPUnit分段错误11

我今天早上尝试运行 PHPUnit,但它产生了 Segmentation Fault 11 错误(使用命令 phpunit unit/ - 如果我使用 Selenium 在我的功能测试中运行 PHPUnit,那么一切正常,它只是受影响的单元测试,我在这里尝试了其他线程中的选项,但没有解决问题,我尝试在本地重新安装 MAMP 并通过 PEAR 重新安装 PHPUnit.我还尝试在命令上切换 PHP ..
发布时间:2022-01-12 16:19:11 PHP

为什么我在使用 libexpect.so 的简单 c++ 程序中出现分段错误?

我正忙于一个项目,我必须在 bash 或 ssh 中自动化一些进程,所以我决定使用 libexpect.so 库.如果您不知道 libexpect 是什么,它提供了一个我可以在 c++ 程序中使用的 expect 扩展,而 expect 只是一个程序,您可以在其中为 ssh 之类的东西运行自动化脚本.因此,我可以执行一个脚本,该脚本尝试在某处进行 ssh ......当通过期望找到密码提示时,我可 ..
发布时间:2022-01-12 16:19:03 C/C++开发

Android 致命信号 7 (SIGBUS)

我遇到了一些难以追踪的 SIGBUS (7) 和 SIGSEGV (11) 崩溃问题. 似乎导致崩溃的线程主要用于加载要显示的图像,这是有道理的,因为日志表明 SkJPEGImageDecoder 出现故障. 我根据此 Bitmaps 重新使用内存"noreferrer">指南 会不会跟这个有关? LogCat 输出: 05-20 13:46:09.775:A/libc( ..
发布时间:2022-01-12 16:18:48 Java开发

在静态变量初始化中使用 cout 时出现 C++ 分段错误

我有一个程序,我使用 cout 来发出调试信息.代码在静态全局变量的初始化中执行,即在程序执行的早期.当我使用自己的构建脚本构建程序时,它在第一次使用 cout 时出现段错误(只有一个字符串文字被转移到 cout,所以它不能是值).我使用 valgrind 检查早期对无效位置的写入,但没有(也没有可能生成这些写入的代码,我在输出之前没有做太多).当我将源代码复制到 Eclipse 项目并让 Ecl ..
发布时间:2022-01-12 16:18:15 C/C++开发

C中退出代码11的含义?

C 中退出代码 11 的一般含义是什么?我环顾四周,找不到明确的答案,所以我想我会在这里问.当我尝试将元素添加到向量时,它就会出现. 解决方案 您没有找到明确的答案,因为没有.由程序的作者决定他们希望使用哪些退出代码.标准 C 只说 exit(0) 或 exit(EXIT_SUCCESS) 表示程序成功,而 exit(EXIT_FAILURE) 表示某种错误.(从 main 返回一个值等同 ..
发布时间:2022-01-12 16:18:08 其他开发

操作系统内部究竟发生了什么导致分段错误

我已经阅读了很多关于虚拟地址和分页的信息.让我先告诉大家我的理解.当一个进程想要执行某事时,它会尝试将数据从硬盘加载到内存中.为此,它使用虚拟地址.所以我们的 MMU 验证虚拟地址查找 TLB 以找到相应的物理页面,如果它没有找到它会查找 Inverted Page Table,如果它没有找到那里的条目,最后它会查找页表它会产生页面错误,并且所有页面交换都已完成,并且所有表都将被更新.当我阅读时, ..
发布时间:2022-01-12 16:17:52 其他开发

G++ 中的 C++ - 不使用指针时出现分段错误

我正在尝试使用 G++ 编译一些 C++ 代码.它似乎在其他编译器中工作正常,但无论出于何种原因,G++ 都不会产生工作输出. 披露:这是家庭作业的一部分,但我觉得这更像是一个编译器问题,因为它适用于其他编译器. 这是造成严重破坏的片段: sett1,t2; 这很奇怪,因为下面的代码可以正常工作: set*t1 = 新集合();设置*t2 = 新集合 ..
发布时间:2022-01-12 16:17:42 C/C++开发

我可以执行驻留在数据段(ELF 二进制文件)中的代码吗?

在理解二进制文件(虚拟内存布局、执行等)的过程中,我编写了一个 C 代码,它声明了一个包含可执行代码字节的全局字符串,然后我通过在 main() 中声明一个指针 (PTR),使用一个简单的技巧将 main() 函数的返回地址覆盖到该可执行代码这是在堆栈上保留的本地内存区域 2 WORDS 远离 main() 的返回地址,所以我所做的就是将返回地址的地址分配给该指针 (PTR=(int*)&PTR+ ..
发布时间:2022-01-12 16:17:36 其他开发

如何使用 GDB 从多个文件中找到分段错误

我在一次采访中被问到如何使用 GDB 调试 C 程序中的分段错误. 我告诉他们我们可以使用 -g 选项编译我们的程序,以便将调试信息添加到二进制文件并可以读取核心转储文件,但是面试官告诉我他是否有 3 到 4 个文件一起编译,但其中一个导致分段错误,那么我们如何在 GDB 中调试? 解决方案 $ gcc -ggdb s1.c s2.c s3.c -o myprog$ gdb mypr ..
发布时间:2022-01-12 16:17:02 其他开发

graphviz 分段错误

我正在构建一个包含许多节点的图形,大约 3000 个.我编写了一个简单的 python 程序来使用 graphviz 来解决这个问题,但是它给了我分段错误,我不知道为什么,如果图形太大或如果我错过了什么. 代码是: #!/usr/bin/env python# 导入graphviz导入系统sys.path.append('..')sys.path.append('/usr/lib/grap ..
发布时间:2022-01-12 16:16:32 Python