源码
网站源码
APP源码
小程序源码
当前位置:
首页
>
APP源码
>嵌入式软件,进行代码重构需要慎重考虑!
嵌入式软件,进行代码重构需要慎重考虑!
2026-04-03 06:45:08
嵌入式软件,进行代码重构需要慎重考虑!
我是老温,一名热爱学习的嵌入式工程师
关注我
,一起变得更加优秀!
很多嵌入式工程师在接手别人的代码的时候,通常都会面临一种困惑局面:以前的代码结构混乱,维护难度高,想进行代码重构,却经常被公司的资深老鸟劝阻。
其实,并不是不让重构,而是嵌入式软件相较于PC或移动端软件,其对硬件适配性和稳定性的要求更高,嵌入式软件代码重构,是一个需要慎重考虑的过程。
搞嵌入式开发的都知道,嵌入式软件通常与硬件外设深度绑定且高度适配,二者的关联性极强,重构的过程如果出现适配偏差,轻则导致运行异常,重则系统宕机,设备变砖。
在考虑进行嵌入式软件代码重构之前,需要充分考虑以下三点:
一、重构易破坏代码与硬件的适配关系。
在嵌入式代码里面,有时候有些看似冗余的代码片段,实际上可能是适配硬件特性的关键逻辑,重构的时候如果误删或者修改此类代码,可能会导致硬件无法正常运行。
比如,某直流电机控制,有一行表面上看似无关重要的延时代码,它的作用是为电机启动提供0.5秒的缓冲时间,避免电机因为瞬时冲击电流而损坏,这一行代码是保障硬件正常运行的重要逻辑。
但是,如果工程师在重构时误判该代码无用并将其删除,或者更改了延时的机制,则有可能会导致电机启动异常,或者导致机械结构损坏。
二、代码的稳定性,远高于规范性和美观度
工程师重构嵌入式软件代码的初衷,基本上都是为了改善旧代码混乱、命名不规范、结构不清晰的问题,从而提升代码的可读性和可维护性。
但是,嵌入式软件的核心关键是长期稳定运行,有时候即使代码结构不够简洁,命名不够规范(俗称:屎山代码),但设备依然能够正常稳定工作,这份代码即为“合格代码”。
比如,以某款很老旧的工业控制器为例,原来的工程师在开始设计的时候使用了大量的全局变量,某工程师对全局变量进行优化,并且“自以为是”地改进了代码结构,
结果,在测试的时候发现,控制器频繁丢失数据,控制指令延迟执行等问题,经排查得知,全局变量虽然不符合代码规范,但能够让数据同步得到快速响应,所以,真的别随便优化已经稳定运行多年的代码!
(这里并不是提倡大量使用全局变量,原因在这:
实习生写的嵌入式代码,滥用全局变量,被我狠批了一顿!
)
三、重构极易引入故障,某些场景排查难度非常高
嵌入式软件的运行环境非常复杂,有时候需要应对高低温和强电磁干扰等极端工况,很多故障在实验室环境里面难以显现出来,仅仅在特定工况下才会逐一暴露。
在重构过程中,有时候即便是微小的修改,如变量类型的调整、代码执行顺序变更等等,都有可能埋下故障隐患,给系统稳定运行带来风险。
比如,某工程师把一个原来是32位的整型变量改为16位的,他认为当前数据范围无需用到16位,这样可以节省一些系统内存,并且在实验室阶段,设备测试运行一切正常。
然而,在实际的设备工况环境下,由于数据的刷新频率比实验室环境高得多,从而经常出现变量溢出的问题,导致设备偶发黑屏故障,这个故障排查了一周,费时费力。
四、测试周期长,测试成本高
嵌入式软件的测试环节也是软件重构需要慎重考虑的重要原因,普通的APP重构之后,可以对核心功能进行快速测试验证,后续如果出现问题可以进行快速迭代修复,测试成本相对较低。
但嵌入式软件经过重构之后,需要进行全流程测试,包括单个模块测试、模块整合测试、整个系统测试,同时还需要模拟各类极端工况和长期稳定性测试,部分测试周期可达数周甚至数月。
如果重构之后发现故障,还需要重新修改代码并重新开展全流程测试,大幅增加人力和时间成本。
需要明确的是,嵌入式软件并不是不可以重构,当旧代码维护难度极高、故障频发,或者旧的代码架构已经无法适配新的业务需求的时候,代码重构就是必要的优化手段了。
但重构的过程需要循序渐进,并且需要安排必要的评审环节和测试环节,切忌盲目地为了代码的规范性而进行大面积的代码修改,也就是,能稳定运行的“屎山代码”,不要随便修改!
以下几点,是嵌入式软件代码重构的关键步骤,希望能帮助各位老铁降低踩坑的概率:
1、明确原有代码与硬件之间的适配逻辑,记录关键的硬件适配功能,避免误删误改。
2、对原有的源代码,编译环境,测试环境,进行完整备份,以便于发生故障时能迅速回滚。
3、划分模块,划分阶段,小幅度推进模块重构,单个模块重构完成后即可进行布局测试。
4、依次完成局部模块测试、系统整合测试、系统功能测试、可靠性测试,重点验证极端工况下的长期运行稳定性。
5、总结重构过程中的经验,完善代码注释,编写软件相关的文档并进行评审保存,提升后续的可维护性。
总而言之,嵌入式软件重构,就好像为之前稳定运行的设备更换零部件,不能直接停机硬拆硬换,而是需要小心翼翼循序渐进地更换,同时需要全程监控设备的运行情况。
对于嵌入式软件而言,稳定运行是其核心前提,需要遵循科学的重构步骤才能充分发挥代码重构的核心价值,这也是资深的老鸟工程师反复强调“重构嵌入式代码需慎重”的主要原因!
-END-
往期推荐:点击图片即可跳转阅读
我的嵌入式微信群,被腾讯元宝刷屏了!
如何确保发布的嵌入式bin文件,是最终测试通过的版本?
实习生写的嵌入式代码,滥用全局变量,被我狠批了一顿!
我是老温,一名热爱学习的嵌入式工程师
关注我
,一起变得更加优秀!
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。
"盲盒抽取概率虚假"办案思路:核查盲盒app源代码
【程序源代码】 App移动开发框架(含全部源码、前后端、小程序)
最新文章
"盲盒抽取概率虚假"办案思路:核查盲盒app源代码
短视频完美开源源码 后台+APP双端源码
多重影分身:一套代码如何生成多个小程序?
【3款】情侣飞行棋网站源码,可加公众号底部游玩!
网站源码 | 牛赏视频付费打赏程序+双码率新版视频云转码系统源码
网站源码 | 在线教学视频网站模板整站源码
网站源码 | 帝国cms7.5精仿土豪漫画网PC+WAP程序
小说网站源码下载地址
如何卖网站源码月赚上W
网站源码 | PHP聚合通支付系统源码 全开源+国富通+代付模式+代理商模式
热门文章
【网站源码】PHP版本,P2P(理财+借贷)微信公众平台体验金红包加息券+WAP+安卓苹果源源码
2300套PHP网站源码
网站源码 | Thinkphp内核闲云仿歪歪漫画系统网站源码
在线客服系统php网站源码
帝国cms范文库网站源码安装经过分享
今日银价多少钱一克?今日白银最新价格,2026年2月4日,今日白银查询,银价走势图
2月4日全国水泥、砂石、混凝土价格波动汇总
教程丨Codex app不会写代码也能用:把你的工作 SOP 打包成 Codex Skill(附 3 个可直接套用模板)
原来不懂代码也能做独立AI智能体小程序
在线预订与实时查询的场馆预订小程序源码系统
随机文章
10个月宝宝每天需要喝多少奶粉?
支持多场馆多场地管理小程序源码系统
(译)代码如今很廉价,但软件不是
vue程序 视频播放网站 纯前端 vue源码带搭建教程
续-我用AI搞定了全网站自动化功能测试附源码
小程序商城订货系统即拼商城源码开发部署
一键预约,智能支付的洗车小程序源码系统
全功能开源+商用授权,二手交易小程序源码系统
我有代码,你有idea吗?小程序需求征集令
【程序源代码】乡村振兴网站
开发005:笨蛋大学生不写代码全栈开发app?
基本
文件
流程
错误
SQL
调试
请求信息 : 2026-04-07 19:23:58 HTTP/2.0 GET : https://g.sjds.net/a/458024.html
运行时间 : 0.200507s [ 吞吐率:4.99req/s ] 内存消耗:4,579.02kb 文件加载:140
缓存信息 : 0 reads,0 writes
会话信息 : SESSION_ID=9243e553eb838ecb2e670ce3513e7607
/yingpanguazai/ssd/ssd1/www/g.sjds.net/public/index.php ( 0.79 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/autoload.php ( 0.17 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/provider.php ( 0.19 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/common.php ( 0.03 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/app.php ( 0.95 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/cache.php ( 0.78 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/console.php ( 0.23 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/cookie.php ( 0.56 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/database.php ( 2.48 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/filesystem.php ( 0.61 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/lang.php ( 0.91 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/log.php ( 1.35 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/middleware.php ( 0.19 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/route.php ( 1.89 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/session.php ( 0.57 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/trace.php ( 0.34 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/config/view.php ( 0.82 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/event.php ( 0.25 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/service.php ( 0.13 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/AppService.php ( 0.26 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/services.php ( 0.14 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/Request.php ( 0.09 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/middleware.php ( 0.25 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/route/app.php ( 1.72 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/controller/Index.php ( 4.81 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/app/BaseController.php ( 2.05 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/runtime/temp/8321bd4d2de6fe7dffb246d4ae0c61fd.php ( 12.06 KB )
/yingpanguazai/ssd/ssd1/www/g.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
CONNECT:[ UseTime:0.001044s ] mysql:host=127.0.0.1;port=3306;dbname=g_sjds;charset=utf8mb4
SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001498s ]
SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000732s ]
SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000694s ]
SHOW FULL COLUMNS FROM `set` [ RunTime:0.001378s ]
SELECT * FROM `set` [ RunTime:0.000597s ]
SHOW FULL COLUMNS FROM `article` [ RunTime:0.001515s ]
SELECT * FROM `article` WHERE `id` = 458024 LIMIT 1 [ RunTime:0.002197s ]
UPDATE `article` SET `lasttime` = 1775561038 WHERE `id` = 458024 [ RunTime:0.001745s ]
SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000690s ]
SELECT * FROM `article` WHERE `id` < 458024 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001014s ]
SELECT * FROM `article` WHERE `id` > 458024 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001059s ]
SELECT * FROM `article` WHERE `id` < 458024 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001697s ]
SELECT * FROM `article` WHERE `id` < 458024 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.019762s ]
SELECT * FROM `article` WHERE `id` < 458024 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002536s ]
0.204630s