运行环境:

程序是在Linux环境中的 qt 运行的。
遇到过两种出错情况:一. 程序运行后中止,出现上述错误。二. 程序在当前Linux版本上编译后可运行,放到其它Linux版本上不能够运行,出现上述错误。简意就是,本Linux系统版本上编译的可执行程序只能在同Linux系统版本运行。
**第一种情况:**出现stack smashing detected,即栈溢出,但不会定位到哪里出现溢出。
1.原因:C语言比较“宽松、灵活,语法检查不严格”,在遇到数组越界、栈溢出等问题时编译时不会报出来,等到程序运行时才知道有这个错!不,程序运行时也不一定能注意到栈溢出。
2.解决:查找所有定义的数组,特别是初始化一定大小后,又赋值过多次,或者拼接等操作的数组,很可能发生操作过程越界;
3.下面是我遇到的问题:

char strModelNumber[40];
sprintf(strModelNumber, "%s", id.mn);

这是经过查找发现有问题的地方,由于id.mn 中可能夹杂乱码等字符导致长度可能超过40。因为我只用到字符前20位,所以没有即使发现数组长度不够。
其它例子:

char str[] = "123";
char str2[] = "abc";
strncat1(str, str2, 2);

第二种情况: 按照正常情况,应该也是有数组越界问题,但是由于在不同版本运行没有问题,且时间问题,还没有去排查数组,所以暂时按版本发布程序,之后有机会排查测试再更新内容。

[error]stack smashing detected相关推荐

  1. C语言 *** stack smashing detected *** 问题的解决

    在编写C语言程序时,偶尔会遇到这样的报错,*** stack smashing detected ***: terminated 实质上,这是数组访问越界造成的,而C语言在编译时,本身没有数组越界检测 ...

  2. 报错stack smashing detected ***:terminated

    运行程序时出现 stack smashing detected :terminated //检测到堆栈粉碎:已终止 或者buffer overflow detected :terminated //检 ...

  3. *** stack smashing detected *** 是什么意思?怎么破

    一.问题来源?这是什么? 首先这个错误提示是linux上,c/c++程序中linux上运行时出错的问题. 二.这样的崩溃不处理行不行? 首先,某些测试用例对这样的崩溃不处理是可以完全通过的.但是通常情 ...

  4. *** stack smashing detected ***: unknown terminated Aborted (core dumped)

    今天在写一个简单TCP server的时候,出现了如下的错误: 数据传输正常,但在结尾报了该错误,并引发了coredump,然后我的首先反应是调试该core dump(因为之前才了解如何用gdb调试c ...

  5. signal 6 (SIGABRT), code -6 (SI_TKILL) Abort message: ‘stack corruption detected (-fstack-protector

    在测试调用native的rw_i93.cc文件的rw_i93_sm_format函数时,出现程序crash,报错信息如下 12-18 11:19:39.056  1453  2114 I WifiSt ...

  6. An unexpected error has been detected by Java Runtime Environment

    最近团队内部遇到一个非常奇怪的问题.网上有人说是sun公司的bug,我在这里贴一下,有兴趣的同志可以研究一下. 据说,换一个java版本就好了,团队内部正在进行升级java版本. sun公司官网解释: ...

  7. not syncing : corrupted stack end detected inside scheduler解决办法 以及高版本的激活码!

    且看下面两个图: not syncing : corrupted stack end detected inside scheduler解决办法 就是版本低的原因! 12版本才支持16.04. 升级V ...

  8. Error: No controllers detected :问题解决

    1.1 HP   hpssacli 无法发现raid控制器问题解决 [root@localhost /]# hpssacli ctrl all show Error: No controllers d ...

  9. Tomcat执行时报A fatal error has been detected by the Java Runtime Environment:SIGSEGV (0xb)

    在Linux下,执行时Tomcat生成一份.log文件,Tomcat 的 log 文件也有报错,报的很清新: # # A fatal error has been detected by the Ja ...

最新文章

  1. 第三章 C#程序结构 (3.3 循环结构)
  2. ASP.NET中Cookie的使用(实战教程)
  3. C#_完整的RSA操作类
  4. 日期格式php用点隔离,PHP学习之校验日期格式合法性?(使用strtotime()和date())...
  5. python控制台输出到文件_Python print 立即打印内容到重定向的文件
  6. Docker Java+Tomcat 环境搭建
  7. 用matlab画图将原点显示,[转帖] Matlab plot画图时,让原点在图中心
  8. 三点弯曲弹性模量怎么计算公式_腰背肌锻炼:五点支撑和三点支撑(视频)
  9. 解决eclipse反编译乱码
  10. 从零搭建Pytorch模型教程(一)数据读取
  11. hikaricp mysql_HikariCP数据库连接池
  12. 电脑wincc服务器配置文件,WinCC客户端与冗余服务器配置步骤
  13. apkg格式怎么打开_jpg怎么转换成pdf?再不学就晚了
  14. 关于银河麒麟服务器操作系统里使用TongWeb做为应用服务器出现的前台提交中文后台获取到的是乱码的问题处理思路
  15. 助力奈雪,发掘茶饮品牌元宇宙新玩法
  16. [机缘参悟-13]:菩提心,一切“利他”之心
  17. 旋转方阵So easy
  18. postgresql计算两点距离
  19. Qt编写可视化大屏电子看板系统14-标准曲线图
  20. 韬光逐薮 含章未曜#新学期 新FLAG#

热门文章

  1. 玩转华为ENSP模拟器系列 | 配置基于VLAN的二层协议透明传输示例
  2. 熟悉计算机信息处理的基础知识,信息处理技术员学习指导—考试内容
  3. HBuilder打包失败:Could not reserve enough space for 1048576KB object heap
  4. 德国VS瑞典 2:0
  5. 童年小游戏三子棋(C语言数组实现)
  6. 前端—vue项目—版本介绍
  7. camunda入门教程及实现原理
  8. 人工智能第五章知识总结
  9. 什么是WordPress网站的密码泄露?
  10. JavaSE基础知识(五)--面向对象思想概述