DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: ZMskyuza
今日帖子: 28
在线用户: 12
导航: 论坛 -> lazarus/fpc/Free Pascal 斑竹:liumazi,sephil  
作者:
男 souledge (souledge) ★☆☆☆☆ -
普通会员
2024/5/14 17:33:20
标题:
使用fpc编写linux下的服务程序慎用-O2优化 浏览:288
加入我的收藏
楼主: 最近在做一个信创的项目,有几个服务程序需要在银河麒麟linux下跑,也就是linux + aarch64

这些服务总是莫名其妙的出现内存访问错误导致崩溃,检查了无数遍代码,使用gdb调试发现每次崩溃的地方几乎都不一样,耗时至少一个星期,我非常确定不可能是我的代码引起的问题

后来无意中把编译选项改了下,把 -O2 改为 -O1 然后重新生成服务程序,跑压力测试居然再也没出现内存访问错误了

个人猜测,-O2优化估计使用了什么比较激进的手段,导致某些内存管理代码在多线程环境不太稳定

以上测试使用的 fpc 是使用 fpcupdeluxe-x86_64-win64.exe 和最新的 fpc 源码生成的,这本身并不是 fpc 的稳定版本,所以有一些问题也能理解,希望以后发行稳定版之后不会再有类似的问题吧
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2024/5/14 19:12:12
1楼: 很久以前,LLVM使用-O3也有类似的问题,让我困惑不已。这种基本的编译参数,无论如何不应该有错呀。只能说和人生一样,要接受现实,吃一堑长一智。另外还可以说你在Linux下的经验偏少,我没说错吧?
----------------------------------------------
只有偏执狂才能生存!
作者:
男 fausten (fausten) ★☆☆☆☆ -
盒子活跃会员
2024/5/15 8:22:50
2楼: 在麒麟信安的操作系统下都用O4,暂时没有发现问题
----------------------------------------------
-
作者:
男 ay1116 (Beginner) ★☆☆☆☆ -
盒子活跃会员
2024/5/15 13:52:00
3楼: 虽然暂时用不上,谢谢楼上的兄弟些~
----------------------------------------------
-
作者:
男 bighawk (Hawk) ★☆☆☆☆ -
盒子活跃会员
2024/5/17 22:45:15
4楼: 这个应该是线程时序安排不妥当导致的问题。建议还是仔细查查内部逻辑
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行62.5毫秒 RSS