首页 文章

使用标准linux命令进行分段错误

提问于
浏览
2

有史以来第一次,我在Ubuntu中运行标准Linux命令时遇到了麻烦 . 例如,当我尝试使用VI编辑文件时(例如 vi /path/to/file ),我收到了分段错误错误 . 类似于 curl -I http://some.domain.com 等命令 . 在curl的情况下,我使用gdb读取核心转储并得到以下内容:

PROMPT>> gdb -c core-curl-11-0-0-4954-1351282891
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-50.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
.
[New Thread 4954]
Core was generated by `/usr/bin/curl http://alfred.conviocloud.com'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007feedbb74721 in ?? ()

我最近把4GB内存放入我的电脑,我想知道这是不是问题 . 也就是说,我100%确定我使用了正确的型号,而且我的电脑可以支持升级 .

任何帮助调试,解决这个问题将非常感激 . 谢谢!

4 回答

  • 0

    最有可能的是它的硬件 - Try bitwizard -- the Sig11 problem.

  • 2

    偶然尝试:

    *)检查您是否进行了重大升级 . 如果你这样做,那可能会导致它 .
    *)删除并重新安装vim或任何其他简单的实用程序 . 看看他们是否失败了 . 如果它们失败了,请使用ldd查看它们所链接的内容 . 查看是否有任何库具有最近的时间戳 .
    *)从gdb查看错误堆栈 . 它告诉你coredumped的位置和库 .
    *)从cd重新启动,看看vi或任何实用程序是否失败 .

  • -1

    一种可能性可能是您在shell中设置的某些环境变量严重影响了您尝试运行的程序 . 如果您可以通过标准Linux命令(例如,vi)可靠地生成核心转储,那么请尝试在没有定义任何内容的shell中运行该命令 . 要创建一个定义了最小变量集的shell,请正常打开终端,然后输入:

    env -i bash --norc
    
  • 1

    我有 sudo apt-get install vim ,然后你的问题发生在 reboot 之后 .

    sudo apt-get autoremove vim . 就在那之后, vi file 成为正常的收益 . (但是在_2891544之前存在的一些问题再次出现)

    所以,再做 sudo apt-get install vimreboot . 然后没有 Segmentation fault .

相关问题