问题标签 [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.
bash - 如何抑制 Fortran 90 程序中的 SIGSEGV 或 SIGFPE 输出?
我有一个 bash 脚本,它运行一个用 Fortran 90 编写的模拟程序,所有输出都重定向到一个文件。如果程序完成没有问题,我设置一个成功参数。代码看起来像这样:
屏幕的输出应该是“正在运行的程序...OK”或“正在运行的程序...不OK”。在某些情况下,仿真程序会因浮点异常或分段错误而崩溃,并发送相应的信号(SIGSEGV / SIGFPE)。输出可能如下所示:
如何抑制由于 SIGFPE 或 SIGSEGV 导致的错误输出,以便我得到
即使有这样的错误?我已经研究过使用陷阱,例如
但后来我仍然得到类似的东西
任何帮助表示赞赏!
c++ - C ++ ctor问题(linux)
环境:linux,通过g++从几个C++文件创建的用户空间应用程序(结果是一个ELF)
遍历构造函数列表时出现问题(SIGSEGV)
(注意:通过此列表调用的代码是每个类的一种系统初始化, 而不是我编写的构造函数代码)
- 当我正确理解每个编译单元(从 .cpp 创建的每个 .o)都会在
当我通过程序通过 GDB 时,问题(SIGSEGV)不存在
为了调试这个我正在寻找一种在调用之前添加自己的代码代码的方法
有什么提示吗?
谢谢,
乌韦
c - 添加变量的段错误
诚然,我是一个纯 C 的新手,但这让我很难过。我正在研究一个链表实现以供练习,我通过简单地向 split_node 函数添加一个变量来得到一个段错误:
此代码编译(gcc -Wall -o list list.c)并运行良好:
但是如果我int foo
在结尾取消注释split_node
,编译并运行,我会得到:
gdb 给了我这个回溯:
为什么添加变量定义会导致段错误?它似乎正在破坏新创建节点的内容指针。我很困惑; 有什么帮助吗?
mysql - DBI 和 MySQL 出现奇怪的 ruby 分段错误
以下代码在最后一行给出了分段错误
这绝对是导致问题的最后一行——下一行的打印语句永远不会被执行。
有谁知道为什么这么简单的尝试会失败?
我在 Windows 上运行它,以防万一。
bash - 在 bash 脚本中临时重定向 stderr
我有一个简单的脚本,用于启动另一个程序。这个其他程序有时可能会产生一个SIGSEGV
,这会破坏我的输出。因此,我添加了几行应该临时将 重定向stderr
到被忽略/dev/null
的行。SIGSEGV
以下是我的代码草稿:
问题是最后一行没有做我想要的。第一行显然有效,并将stderr
. 最后一行应该返回stderr
到它之前的位置(我只认为它与 相同stdout
)。
任何帮助将不胜感激!
c - 将字符串数组作为参数传递给 C 中的函数
我想要一个简单的函数,它接收一个字符串并在解析后返回一个字符串数组。所以,这是我的函数签名:
然后我这样称呼它:
这样我在编译期间会收到警告:
然后在标有 /* sf here */ 的行中执行期间出现分段错误
我的 C 代码有什么问题?
提前致谢
c++ - 为什么这个指针-指针初始化 Seg 错误?
我创建了一个类对象的指针,当我尝试使用指针创建一个新对象时,它会出现段错误。为什么会这样?
士兵类构造函数:
debugging - 分段错误的行数
我可以设置任何 gcc 选项来提供分段错误的行号吗?
我知道我可以:
- 逐行调试
- 将 printfs 放入代码中以缩小范围。
编辑:
bt
/where
on gdb give No stack。- 有用的建议
c++ - 在 Linux 上尝试/捕获分段错误
我有一个 Linux C++ 应用程序,我想在取消引用之前测试一个对象指针的有效性。但是由于分段错误,try/catch 在 Linux 上对此不起作用。如何才能做到这一点?
c - 使用 printf 时的段错误
我正在调试浮点异常的信号处理程序中的一些 Linux C 代码。目标是检查浮点寄存器,打印一些信息,然后中止。尝试 printf 的结果时出现分段错误(char)('0' + phyreg)
。
这不是(char)('0' + phyreg)
问题的计算,因为当我将它移到单独的行并将结果存储在临时变量中时,直到 printf 尝试显示临时变量时我才得到段错误。那么,导致段错误的错误在哪里?