首页 > TAG信息列表 > segmentation-fault

关闭导致分段错误的文本文件,并在Linux下在Linux下检测到“ glibc”

我有一个日志类,该类包含一个定义为:流日志文件的流和一个互斥体,以确保每次只有一个线程写入文件(程序是多线程的). 该类定义为: #define LOG_NAME "log.txt" using namespace std; class Log { private: pthread_mutex_t mutex_write; ofstream logfile; public: L

linux中的分段错误(C中的套接字编程(TCP))

我只是通过一些网站学习Linux上的套接字编程,这是使用TCP在服务器端的部分代码: #define BufferLength 100 #define SERVPORT 3111 int main() { /* Variable and structure definitions. */ int sd, sd2, rc, length = sizeof(int); int totalcnt = 0, on = 1; char temp;

linux:“真正的”分段故障处理程序在哪里?

如果我读/写/跳转到umpapped地址即. .text .global _start _start: movl $1,%edx jmp *%edx 这会导致分段错误. 我想知道,系统(内核)的实际部分是什么 拦截对未映射地址的读取/写入(如何?)并抛出“用户模式”信号?解决方法:一切都从体系结构陷阱表中流出.这通

如何在ANSI C中使用glDrawVertex()函数

我正在尝试使用glDrawArrays(),但是在glDrawArrays调用中我总是遇到分段错误.难道我做错了什么? /*MESH*/ struct Mesh { GLsizei numVertices; GLfloat vertices[48]; } m; static void meshCreate(struct Mesh *mesh) { mesh->vertices[0] = 0.000000f; mesh->vertices[1] =

wxPython因分段错误而崩溃

我很困惑为什么我的应用程序因分段错误而崩溃.我有一个使用wxPython作为前端的python应用程序.我的应用程序因分段错误而随机崩溃,我知道它必须是wxPython,因为我具有相同代码的控制台版本,并且不会崩溃.前端是一个只读表,其中包含从线程自动填充的项目. 我正在使用wxPython2.8和py

python-Kivy代码分段错误

有谁知道为什么这段代码会给出分段错误? 来自nodeapp.py from kivy.app import App from kivy.uix.widget import Widget from kivy.uix.floatlayout import FloatLayout class Node(Widget): def __init__(self): pass inputs = 1 function = "add" cla

索引“已分配”数组时出现分段错误

我已经为这个问题苦苦挣扎了几个小时,而我对所发生的事情一无所知.这是program.c的代码: #include <stdio.h> #include <stdlib.h> #include <assert.h> #define SPACE 32 #define INITIAL 4 typedef struct { char *town; char *country; } town_t; typedef struct {

PHP中的细分错误错误,使用SOAP连接到SalesForce

我正在使用SalesForce PHP工具包将软件(PHP)与SalesForce集成. 到目前为止,一切工作都很好,但是当我开始编写代码以调用convertLead()时,出现了“ Segmentation Fault”错误. 这是我正在运行的代码: require_once('../salesforce/SforceEnterpriseClient.php'); ini_set('soap.wsdl

c-boost :: multi_array上的分段错误

以下代码给出了分段错误: #include <iostream> #include <fstream> #include "binItr.h" #include <boost/multi_array.hpp> using namespace std; int main(){ const char * xifile = "results/feretxiG1155V0P5T231K10.bin"; const ui

c-删除指针时出现分段错误(内核已转储)

我正在尝试从链接列表中删除重复项,并且遇到了一个问题,该问题可能很明显而且很直接,但是我已经很多年没有使用C了,因此我无法通过阅读类似的问题来找出我做错了什么. 以下是我的代码的一部分.我删除了不相关的部分(例如,构造函数,其他方法等). template<class T> class Node {

c-分段错误取决于字符串长度?

我正在编写一个程序,该程序将使用getline将infile中的行读取为字符串,将字符串转换为包含字符串的前m个非空白字符的c字符串,然后将c字符串连接为单个char数组. 一个示例文件可能看起来像这样: 5 //number of rows and columns in a grid 2 //number of grids XXXXX XXXXX XX

c-识别导致内存错误的变量

因此,我现在几次遇到一个奇怪的错误,我正在寻找一些确定问题的指导. 基本上我看到的是段错误.症状如下: >仅在程序处于发布模式而不是调试时才会发生. >它看起来像是段错误,GDB告诉我它在函数末尾位于_list_release / _free()/ free()中. 程序收到信号SIGSEGV,分段故障. 来自/usr/qn

c-使用我自己的Point类自定义CGAL内核

我想将自定义Point类与CGAL约束的delaunay三角剖分一起使用.但是,使用以下MyPoint类(其行为应与CGAL :: Point_2否完全相同?),我遇到了分段错误.如果将MyKernel中的Point_2 typedef设置为CGAL :: Exact_predicates_inexact_constructions_kernel :: Point_2,它会完美地工作.我究竟做

android-mmap之后在memcpy中获取分段错误SIGSEGV

我编写了一个简单的Android本机函数,该函数获取文件名和更多参数,并通过映射(mmap)内存来读取文件. 因为它是mmap,所以我真的不需要调用“ read()”,所以我只是从mmap()返回的地址使用memcpy(). 但是,在某个地方我得到了SIGSEGV,可能是因为我试图访问不允许的内存.但是我不明白为什

c-指向矢量元素的指针崩溃

vector<int> v; v.push_back(1); int * p = &v[0]; for (int i = 2; i <= 100; ++i) { v.push_back(i); } *p = 5; 我知道vector重新分配了一块新的内存以增加容量,但是p只是指向某个内存地址的指针,而p本身并没有改变.即使向量重新分配

c-试图将父指针动态分配给函数内的子代会导致分段错误

我一直在努力理解多态性和指针,但是这个概念使我有些不解.幸运的是我有stackoverflow和google,所以我的大多数问题都可以轻松解决.但是,我已经尝试修复这个分割错误了好几个小时了,但是没有运气,我不确定发生了什么.我已经精简了所有内容以尝试了解问题所在,但我认为我缺少动态分配

c – 如何调试分段错误?

它在循环中将每个元素设置为0或entry_count-1时有效. 当我设置它以使entry_count很小时,它可以工作,我用手写而不是循环(sorted_order [0] = 0; sorted_order [1] = 1; …等). 请不要告诉我如何修复我的代码.由于非常具体的原因,我不会使用智能指针或向量.而是专注于这个问题:什么样

php – “[通知]子pid XXXX退出信号分段错误(11)”在apache error.log中

首先:这没有重复,因为提供的解决方案与类似问题的任何解决方案不同,“[notice] child pid XXXX exit signal Segmentation fault (11)” in apache error.log不接受任何更多答案.我还不能对SO发表评论. 我刚刚从PHP-7.0升级到PHP-7.3(或任何版本组合),现在我正在使用 [notice] chi

在调用inb_p()时导致分段错误的原因是什么?

尝试使用inb_p()读取端口时出现分段错误.我正在英特尔D525双核系统(Advantech PCM 9389 SBC)上运行2.6.6内核的Debian系统上进行编译.这是一个示例程序,说明了段错误. 可能的原因是什么?我该如何解决? 目前,我没有任何设备连接.这会导致段错吗?我本来希望得到一个零或一些随机字节,但

c – 将std :: filesystem :: path传递给函数段错误

当我尝试使用std :: filesystem :: path作为函数参数时,它会在我的机器上发生段错误.这是一个最小的例子: #include <filesystem> void thing(const std::filesystem::path& p) { return; } int main() { thing("test"); return 0; } 此代码段会导致以下来自gdb的回

c – GDB不显示函数名称

我正在使用gdbserver从嵌入式设备进行调试: ./gdbserver HOST:5000 /home/test_app 在我的电脑中,我以这种方式执行gdb: arm-none-linux-gnueabi-gdb test_app 一旦应用程序执行,我收到我想要调试的Segfault,但是不可能知道它产生了什么行: Program received signal SIGSEGV, Seg

C中指针的分段错误

我正在尝试构建一个struct的对象,但在分配值时会出现分段错误.构建对象后,它将通过指针传递到列表中.这是我的实现: struct clientInfo { int client, a, b; }; List *info=new List(); void thread(int which) { clientInfo *cI; cI->client=which; cI->a=4; cI->b=5;

python – 捕获崩溃的子进程的“分段错误”消息:在调用communication()之后没有输出和错误

我在使用子进程模块获取崩溃程序的输出时遇到问题. 我正在使用python2.7和subprocess来调用带有奇怪参数的程序,以获得一些段错误为了调用程序,我使用以下代码: proc = (subprocess.Popen(called, stdout=subprocess.PIPE, stde

c – 确定导致分段错误的代码行?

我们如何确定导致segmentation fault的代码中的错误在哪里? 在编写了一些代码后,为了确定我的分段错误,我的编译器(gcc)可以告诉我程序中的错误位置吗?解决方法:海湾合作委员会不能这样做,但GDB肯定可以.使用-g开关编译程序,如下所示: gcc program.c -g 然后使用gdb: $gdb ./a.out (

c – 堆栈溢出是否会导致除分段错误之外的其他内容?

在一个已编译的程序中(假设C或C,但我想这个问题可以扩展到任何带有调用堆栈的非VM语言) – 很常见当你溢出堆栈时,you get a segmentation fault: Stack overflow is [a] cause, segmentation fault is the result. 但这总是如此吗?堆栈溢出是否会导致其他类型的程序/操作系统行为