问题标签 [segmentation-fault]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
2226 浏览

c - 段错误发生在什么时候?

以下代码是否在数组 [10] = 22 或数组 [9999] = 22 处出现段错误?
我只是想弄清楚整个代码是否会在出现段错误之前执行。(在 C 语言中)。

0 投票
5 回答
168 浏览

c - For 循环缺少几个带有段错误的索引

应用程序的输出(底部)如下:

元素索引号:0 元素内容:22
元素索引号:1 元素内容:22
元素索引号:2 元素内容:22
元素索引号:3 元素内容:22
元素索引号:4 元素内容:22
元素索引号:22元素内容:134513712

为什么标记为 5 - 21 的索引元素会丢失?我知道由于数组的边界溢出,这段代码可能会出现段错误,它旨在做到这一点,我对为什么这段代码不好,只是为什么跳过某些索引不感兴趣。

0 投票
2 回答
21967 浏览

c++ - pthread_mutex_lock 上的分段错误

我尝试做时遇到分段错误

这真的很奇怪,我不确定是什么原因造成的。我已经在构造函数中初始化了 _mutex

我能做什么?

0 投票
5 回答
11929 浏览

c - 为什么这段代码修改字符串不起作用?

使用 c 风格的字符串,如何将 char 分配给字符指针指向的内存地址?例如,在下面的示例中,我想将 num 更改为“123456”,因此我尝试将 p 设置为 '0' 所在的数字,并尝试用 '4' 覆盖它。谢谢。

0 投票
4 回答
14734 浏览

c - 分段错误 - 字符指针

在下面的代码中,该行:

给出分段错误。我在这里问了一个类似的问题,但我不确定这是否是因为我有两个 num 副本。请解释为什么它是段错误。谢谢你。

0 投票
3 回答
4218 浏览

c++ - Xerces-C 问题;调用对象析构函数的段错误

我一直在使用Xerces-C XML 库。

我有一个我正在玩的简单例子。

我似乎无法让它在没有内存泄漏和段错误的情况下运行。这是一个或另一个。

当我在“清理”下删除解析器对象时,总是会发生段错误。

我尝试过使用 2.8 和 2.7 版本的库。

注意:我从代码中取出了所有异常检查,使用它和不使用它都得到相同的结果。为了可读性和简单性,我从下面的代码中删除了它。

那里有任何精通 Xerces 的人愿意提出一些建议吗?

从后面的跟踪中我真的不能说太多,它只是跳入超类析构函数并在那里发生段错误。

回溯:

编码:

0 投票
1 回答
363 浏览

c++ - string::string 构造函数中出现奇怪的“总线错误”

当一个奇怪的错误开始弹出时,我一直在测试负责填充多图对象的部分代码:

在 FreeBSD 5.4 中的非 root 用户下工作正常,但在 root 下运行时因“总线错误”而崩溃。

0 投票
2 回答
1166 浏览

xcode - 在 root 下运行时,Xcode“索引已损坏,将重建”消息后跟“分段错误”

任何人都可以向我解释以下消息的原因,也许还有关于如何解决它的建议?

我在 root 下运行 XCode,sudo <path to xcode因为我需要调试一个必须以 root 身份运行的守护进程。

我已经成功完成了几次,但是现在当我尝试在 Xcode 中打开项目时,我从 XCode 收到以下消息:

其他项目可以正常打开,并且该项目在 Xcode 的非根实例中可以正常打开。

我尝试重新启动计算机并从项目内部删除所有 root 的 pbxuser 文件等。

此外,如果现在我进入并尝试在我自己的用户下运行的 Xcode 中重建索引,我会收到以下断言失败。如果我点击继续 Xcode 崩溃。

0 投票
7 回答
3703 浏览

c - C 编程:seg 错误、printf 和相关怪癖

正如许多年轻的程序员所做的那样,我学会了在代码的不同点插入大量“here1”、“here2”等打印到控制台的语句来找出我的程序何时出错的有用性。在我的 CS 学习过程中,这种蛮力调试技术为我节省了很多很多次。然而,当我开始用 C 编程时,我偶然发现了一个有趣的问题。如果我试着跑

当然,我得到一个段错误,因为我没有为 testChar 分配内存。但是,从逻辑上讲,您会认为“hello world”会在段错误发生之前打印,因为这是代码的流程,但根据我的经验,总是首先发生段错误,并且“hello world” " 根本不会打印到控制台。(我无法测试这个确切的例子,但我在linux机器上使用gcc多次遇到这种情况。)我猜这与编译器重新排列一些东西和/或printf有关使用某种异步刷新的缓冲区,因此不是立即的。这完全是我的猜测,因为我真的不知道为什么会发生。在我使用过的任何其他语言中,无论出现什么问题,“testChar =...

我的问题是为什么在我编写 C 语言时会发生这种情况?为什么不先打印hello world?其次,是否有比这更好的 C 编程调试技术来完成相同的基本任务?例如,一种简单/直观的方法来查找有问题的代码行?

编辑:我偶然给出了一个工作示例哈哈。我现在拥有的应该会导致段错误。有趣的是,当我想要一个段错误时,我通常会得到一个,而现在当我真正想要一个时,我会编写合法代码!

0 投票
4 回答
451 浏览

recursion - 返回 0 后的段错误;

我编写了一个程序来测试我的二叉树,当我运行它时,程序似乎崩溃了(btree.exe 已停止工作,Windows 正在检查解决方案......)。

当我通过调试器运行它并将断点放置在我怀疑导致它的函数 destroy_tree() 上时,它似乎按预期运行并返回到主函数。反过来,Main 从程序中返回,但随后光标跳回 destroy_tree() 并在其自身内反复循环。

下面是最小的代码示例,因此可以立即运行。我的编译器是 MinGW,我的调试器是 gdb(我正在使用 Code::Blocks)。

顺便说一句,我打算从 Code::Blocks 内置调试​​器切换到 DDD 来调试这些问题。我听说 DDD 可以直观地显示指向对象的指针,而不仅仅是显示指针的地址。您认为进行转换是否有助于解决这些类型的问题(数据结构和算法问题)?