分段错误(核心转储)在两个不同的 Linux 发行版上发生和不发生

分段错误(核心转储)在两个不同的 Linux 发行版上发生和不发生

我是 Linux 操作系统的新手,我安装了 Ubuntu 14.04 LTS(64 位)来做一个 C++ 项目。不幸的是,当我的老师给我一个 C++ 代码时,我在 Ubuntu 上运行它时出现了分段错误(核心转储),但当我让我的朋友在他的 Elementary OS(32 位)上运行它时 - 另一个 Linux 发行版,代码运行得很好。所以我想问几个问题:

  1. 程序是否可能在 32 位版本上运行良好,但无法在 64 位版本上运行(在我的情况下是 Core Dump)?
  2. 我的电脑是64位机器,可以安装32位版本的Ubuntu吗?
  3. 我是否应该尝试 Ubuntu 15 看看它是否会出现同样的错误(核心转储)?

答案1

最好的办法可能是学习如何使用 gdb 调试代码。使用 -g 标志(启用调试符号)构建代码,然后在 gdb 中运行,例如

gdb ./nameofyourprogram

当出现分段错误时,输入“where”,你会看到它崩溃的位置。学习调试代码与学习编码同样重要。使用在线调试器来快速掌握调试器可能也是一个好主意入门指南

相关内容