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;

}

转载自:http://houjixin.blog.163.com/blog/static/3562841020132250329295/
当FLUENT遇到Segmentation fault错误,这可能是由于程序访问了未分配的内存或者访问了无效的内存地址导致的。下面是一些可能的解决方法: 1. 检查程序的运行环境:确保你的程序和FLUENT的版本兼容,并且在正确的操作系统上运行。确保你的系统满足FLUENT的系统要求。 2. 检查输入文件和模型:检查输入文件和模型是否有错误或者不一致的地方。确保文件没有被损坏或者遗漏了关键信息。 3. 检查UDF代码:如果你在使用UDF(用户定义函数),请检查你的代码是否有错误。确保你的代码没有访问未分配的内存或者越界访问数组等问题。可以参考FLUENT的编程手册和示例来确保你的UDF正确编写。 4. 确保程序没有被其他进程干扰:确保FLUENT程序运行没有其他进程干扰,例如病毒扫描程序或者其他应用程序。确保你的计算机资源足够,避免过多的负载。 5. 使用管理员权限运行程序:尝试使用管理员权限运行程序,这可能会解决一些权限相关的问题。 如果以上方法都无效,你可以尝试联系FLUENT的技术支持团队,他们可能会提供更详细的解决方案以帮助你解决Segmentation fault错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Fluent最全fatal signal分析:received a fatal signal(aborted)(segmentation fault)](https://blog.csdn.net/weixin_55334018/article/details/124580707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Program received signal SIGSEGV, Segmentation fault.](https://blog.csdn.net/yujiajun13/article/details/116972713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值