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

时间:2012-10-26 20:55:46

标签: linux ubuntu command-line segmentation-fault

有史以来第一次,我在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 :(得分:2)

答案 1 :(得分:1)

尝试一些事情:

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

答案 2 :(得分:0)

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

env -i bash --norc

答案 3 :(得分:-1)

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

sudo apt-get autoremove vim。在此之后,vi file成为正常收益。(但在apt-get install vim之前存在的某些问题再次出现)

所以,请再次sudo apt-get install vimreboot。然后不再有Segmentation fault