【问题标题】:Segmentation fault which is happened when are imported some libraries in Python?在 Python 中导入某些库时发生的分段错误?
【发布时间】:2012-02-21 13:31:34
【问题描述】:

我已经用 linux 2.6.11 (BusyBox) 在我的控制器上安装了 python2.7。我跑了 python2.7 - 一切正常。导入操作系统 - 一切正常。但是,当我从 python2.7\lib-dynload(导入随机、导入 io 等)导入库时,这是必需的共享对象文件,我遇到了分段错误错误。有什么问题 ?

如果我尝试重命名,例如将 _io.so 更改为 _io2.so,则会出现以下错误:

【问题讨论】:

  • 请从gdb发布堆栈跟踪
  • 我无法安装 gdb 而... :(
  • 你自己编译的 Python 好像是用 2004 年发布的 gcc 3.4.3。你为什么用这么老的编译器?
  • 我在旧 linux 上编译了 python(使用类似版本的库)并将文件复制到控制器
  • 这可能就是它出现段错误的原因......您需要使用完全相同的库版本进行编译,否则会发生这样的坏事。

标签: python linux segmentation-fault


【解决方案1】:

找出段错误原因的方法是安装 Valgrind 并使用它运行它。但是,这可能不适用于您的控制器。如果你有一台具有相同架构的更强大的机器,或者甚至是在更强大的机器上的相同 Linux 二进制文件的 QEMU 模拟副本,那么你可以使用它来进行 Valgrind 调试。

【讨论】:

    猜你喜欢
    • 2018-12-19
    • 2014-09-02
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    相关资源
    最近更新 更多