aborted linux

2017-07-09 10:36:59 upuil 阅读数 19177
  • OpenLDAP介绍

    服务器配置介绍以及图形管理的安装。 TLS/SSL加密的部署以及访问权限控制ACL。 OpenLDAP的同步介绍以及主从,镜像,多主同步的实现。 一个Linux账号集中管理的示例

    37人学习 臧雪园
    免费试看
在百度谷歌了无数次之后,看了许多关于Aborted (core dumped)的解决方法后,终于找到一个解决办法。文章来自

http://blog.163.com/wujiaxing009@126/blog/static/71988399201718112716751/
如图

2011-12-20 15:37:30 lidongtang 阅读数 4026
  • OpenLDAP介绍

    服务器配置介绍以及图形管理的安装。 TLS/SSL加密的部署以及访问权限控制ACL。 OpenLDAP的同步介绍以及主从,镜像,多主同步的实现。 一个Linux账号集中管理的示例

    37人学习 臧雪园
    免费试看

RedHat 4 重启机器出现

EXT3-fs error(device hda3) in start_transaction:Journal has aborted 

进入不了系统,强制关闭机器后,再次重启进入到了repair filesystem

fsch  /dev/VolGroup00/LogVol00

一直按回车,终于把文件系统修复好

reboot后,机器能正常启动

出现磁盘坏道问题的原因不明:我现在想可能是在reboot时,有文件正在写操作。这几天经常无故断电

2017-06-05 19:42:43 sevennineeleven 阅读数 10498
  • OpenLDAP介绍

    服务器配置介绍以及图形管理的安装。 TLS/SSL加密的部署以及访问权限控制ACL。 OpenLDAP的同步介绍以及主从,镜像,多主同步的实现。 一个Linux账号集中管理的示例

    37人学习 臧雪园
    免费试看

前段时间在别人的代码基础上添加新的功能,自测的时候出现进程退出(进程退出后会再带起来,所以很难发现),经过仔细测试发现aborted错误。我把自己添加的代码挂起后,再进行测试发现问题还在,说明是别人的代码有问题。这样就增加了排查难度。其实这类错误一般是内存越界访问造成的,一般不会立即出现,往往是在运行一段时间的时候,恰好内存访问到哪里出现。所以报错的时候你可以添加打印缩小范围,例如确定到某个函数就简单许多了。接着你就要重点关注memcpy(),strncpy(),strcpy()函数。还有就是memset()和malloc()等内存操作,这些需要重点关注,一般问题就是出现在这些地方。我遇到的问题就是分配的内存是malloc(strlen(str)),结果在memset的时候却是memset(str,0,strlen(str+1))。以上是我的经验,愿给大家带来帮助。


2013-03-25 11:57:26 hjx_1000 阅读数 2734
  • OpenLDAP介绍

    服务器配置介绍以及图形管理的安装。 TLS/SSL加密的部署以及访问权限控制ACL。 OpenLDAP的同步介绍以及主从,镜像,多主同步的实现。 一个Linux账号集中管理的示例

    37人学习 臧雪园
    免费试看
linux环境下调试一些嵌入式设备时出现Aborted、segmentation fault、卡死的问题,这些问题可能的原因为:
1、Aborted的问题,例如:
# ./logUtils0322
[UnitTest.cpp]:will init log
[cfgfile.cpp]: logfile open suc
[LogUtils.cpp]:NOTICE  OPen configue file SUC
[LogUtils.cpp]:NOTICE suc OpenLogFile()
[LogUtils.cpp]:NOTICE  suc Log_Init()
Aborted
这个问题是由于访问内存错误造成的,例如一次时因为循环越界,导致访问界外内存时出现过此种问题。

2、程序卡死的问题,就是程序的进程还在,但是却卡在那里什么都不做,该问题可能也是内存访问越界造成的;另外还可能是多线程中混合使用C和C++的函数造成,例如:某些嵌入式linux平台对C++支持的不好,这时候如果在多线程中混合使用printf和cout,就会造成此问题

3、segmentation fault的问题也是访问非法内存造成的。

造成上述问题的主要原因就是内存操作引起的,因此在开发过程中,使用指针一定特别留心;
1、申请指针变量时一定将其赋值为NULL;
例如:
Itest* pTest = NULL;
pTest = GetInstance();

2、使用指针之前一定先判断有效性;
例如:
if(NULL != pTest)
    pTest->Display();

3、避免重复释放,在释放内存之前一定先判断是否已经为空;
4、释放内存之后一定将指针赋值为NULL;

例如:
if(NULL != pTest)
{
    delete pTest;
    pTest = NULL;

}


开发过程中,多费点事多写两行必要的代码,会在关键时候帮很大的忙。

2014-04-30 17:44:05 Charein 阅读数 2766
  • OpenLDAP介绍

    服务器配置介绍以及图形管理的安装。 TLS/SSL加密的部署以及访问权限控制ACL。 OpenLDAP的同步介绍以及主从,镜像,多主同步的实现。 一个Linux账号集中管理的示例

    37人学习 臧雪园
    免费试看
1、Aborted的问题,例如:
# ./logUtils0322
[UnitTest.cpp]:will init log
[cfgfile.cpp]: logfile open suc
[LogUtils.cpp]:NOTICE  OPen configue file SUC
[LogUtils.cpp]:NOTICE suc OpenLogFile()
[LogUtils.cpp]:NOTICE  suc Log_Init() 
Aborted
这个问题是由于访问内存错误造成的,例如一次时因为循环越界,导致访问界外内存时出现过此种问题。

2、程序卡死的问题,就是程序的进程还在,但是却卡在那里什么都不做,该问题可能也是内存访问越界造成的;另外还可能是多线程中混合使用C和C++的函数 造成,例如:某些嵌入式linux平台对C++支持的不好,这时候如果在多线程中混合使用printf和cout,就会造成此问题

3、segmentation fault的问题也是访问非法内存造成的。

造成上述问题的主要原因就是内存操作引起的,因此在开发过程中,使用指针一定特别留心;
1、申请指针变量时一定将其赋值为NULL;
例如:
Itest* pTest = NULL;
pTest = GetInstance();

2、使用指针之前一定先判断有效性;
例如:
if(NULL != pTest)
    pTest->Display();

3、避免重复释放,在释放内存之前一定先判断是否已经为空;
4、释放内存之后一定将指针赋值为NULL;

例如:
if(NULL != pTest)
{
    delete pTest;
    pTest = NULL;

}

转载自:http://houjixin.blog.163.com/blog/static/3562841020132250329295/