问题标签 [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.
mysql - 访问 MySQL 数据库时出现 RoR 段错误
我在 Solaris 10 服务器上运行 Ruby on Rails。我今天刚刚重新安装了 Ruby,以使我的 MySQL 系统能够正常工作,这样我就可以添加一个我一直在研究的新应用程序。我还更新了我的宝石和系统。MySQL 是这个系统中唯一最近没有更新的东西,它的版本是 5.1.25。
当我运行 Mongrel 服务器时,系统可以正常工作几个负载,有时甚至更多。在重新加载我的一个脚手架的索引几次,或添加一个新项目并加载其显示页面后,服务器报告分段错误并退出。除了:“Segmentation Fault (core dumped)”之外,没有调试输出。所有其他输出显示正常。
我在我的服务器上创建了几个新应用程序,这些应用程序显示相同的错误。创建禁用数据库的应用程序不会出现此问题。
非常感谢任何帮助或建议!
更新:不幸的是,降级到 MySQL 5.0.45 并重新安装 mysql gem 并没有解决问题。如果您有其他建议,请告诉我!您可以在此处查看已安装软件及其版本的完整列表。
c++ - 保存结构指针的 STL 列表
我有一个名为 vertex 的结构,并创建了一些指向它们的指针。我想要做的是将这些指针添加到列表中。我下面的代码在尝试将指针插入列表时会产生分段错误。有人可以解释发生了什么吗?
php - 为什么我在这个 PHP 命令行脚本中得到这个分段错误?
这只是我称之为“心理日志文件”的消息的快速脚本。只是为了在我迷失方向并让自己重新开始工作时跟踪我的想法。无论如何,它在大多数情况下都可以正常工作,但每隔一段时间我就会遇到分段错误。在 C 中听说过它们,但以前从未在 PHP 中使用过它们。这是脚本:
这是我在几次运行中得到的:
知道我在这里可能做错了什么吗?即使在产生分段错误的运行中,该文件似乎也按预期正确更新。我正在运行 Ubuntu 9.04 Jaunty。
提前致谢。
c++ - 调用 Gtkmm textBuffer->insert 时出现段错误
我只是在学习 gtkmm for c++。我无法获得一个简单的 TextBuffer 来添加新的文本行。我有一个名为 OutputBox 的类,它是一个带有 TextViewer(称为消息)和 TextBuffer(称为 textBuffer)的 HBox。
这是 OutputBox 类的一小部分:
现在我希望当我将一个字符串传递给 addText 时,新字符串将被添加到缓冲区中,但是我得到了一个 seg 错误。
通过 gdb 运行它后,我看到错误来自这里的 gtkmm 库:
我也不确定这在告诉我什么。我假设我错误地使用了这个类。
c - Linux mmap() 错误
我有一个内存映射文件,我希望从中解析缓冲区的内容。mmap() 返回成功,我可以使用 fprintf 成功将缓冲区内容打印到文件中。但是,当我尝试直接在程序中将缓冲区作为数组访问时,会出现分段错误。为什么会这样?这是代码:
perl - 在 Perl 中调试分段错误有哪些好的方法或步骤?
有两种情况我的代码不会导致分段错误:
- 当我在至少一处使用Smart::Comments时
- 运行调试器。
我已经追踪到这个电话:
其中each_pair
在另一个模块中定义为:
- 现在我知道我可以用List::MoreUtils::natatime 替换 each_pair(虽然我听说这有一些错误),他们最近才允许这个模块进入我们的环境,我仍然对这个调用为什么会导致感兴趣分段错误——或者其他 Perl 程序员由于调试分段错误而导致的错误。
我在这方面浪费了一些时间。
编辑
我有其他模块使用此功能,有些人希望能够使用$a
and $b
,它也在同一模块的其他地方工作,用于另一个列表。我可以更改对它的调用,我可以为这个文件更改它,但是为每个成功使用它的地方更改它,可能比我在这么晚的时间允许做的更改更多。
c++ - 使用共享库的分段错误
我有一个与 cpp/h 文件关联的共享库(即 libXXX.so)。它们包含许多函数指针(指向 .so 函数入口点)和一个将这些函数包装为所述类的方法的类。
即:.h 文件:
.cpp 文件
然后我有另一个共享库(我自己制作),它调用:
导致分段错误。分段错误似乎发生在
但有一个奇怪的行为:一旦我到达
我得到了 okUsbFrontPanel_Construct() 的递归。
有谁有想法吗?
编辑:这是通过 gdb 运行获得的回溯。
等等...恕我直言,由于某种堆栈溢出,我遇到了段错误。递归调用太多,出了点问题..
顺便说一句,我使用的是 Scientific Linux 4 发行版(基于 RH4)。
编辑2:
用于函数 okUsbFrontPanel_Construct 输出的 libokFrontPanel.so 的 objdump:
在 933e 确实有一个对 <_ZN16okCUsbFrontPanelC1Ev@plt> 的调用。这个调用是否与我的 .cpp 中的调用混淆了?
c - 确定循环中发生的分段错误?
在运行以下脚本时,出现分段错误。输出由“here 5a”组成。但除此之外什么都没有。关于可能出现问题的任何建议?
更新
c - 为什么在 fclose 上出现段错误?
我显然错过了一些东西。有人可以解释为什么会发生这种情况吗?
c++ - 编译后确定静态初始化顺序?
在 C++ 中,我知道编译器可以选择以它选择的任何顺序初始化静态对象(受一些约束),并且通常您无法选择或确定静态初始化顺序。
但是,一旦程序被编译,编译器必须决定初始化这些对象的顺序。有没有办法从带有调试符号的编译程序中确定静态构造函数的调用顺序?
上下文是这样的:我有一个相当大的程序,当它在一个新的工具链下构建时,它在 main() 之前突然出现段错误。这是一个静态初始化顺序问题,或者它正在加载的库之一有问题。但是,当我使用 gdb 进行调试时,崩溃位置只是简单地报告为原始地址,没有任何符号信息或回溯。我想通过在第一个静态初始化对象的构造函数处放置一个断点来确定这两个问题中的哪一个,但我不知道如何判断是哪个对象。