为什么DEBUG的这么慢?

创业
程序员 2024-10-1 06:48:42 53 0 来自 中国
记载两个Debug方面的事故,有点启发
1.  我本身的A模块的验证环境编译标题
本日debug了A模块的IT环境,上周五卡在了编译上,就表现计划代码里lib库里有个什么不匹配的标题,直觉上也知道肯定不是当前这个文件错误。但是就是找不到标题地点,内心田的归因是“大概是计划的代码有一些标题”。而且,拉来了leader一块看,她也大概看了一下,大面儿上也没有啥标题 ,而且恰恰别的一个模块的计划过来说A模块的综合还没过,这更加让本身“笃定”是计划RTL的标题比力多,以是末了就是等待计划职员休假返来。
然而,本日计划返来之后,一顿线上review,给了一点指引,末了根因真的就是在本身,而且就是由于一个文件的ifdef endif 配对的标题,由于本身之前本身Review不过细以及对本身的盲目自尊,以致于由于现实上比力显着的疏漏导致的编译标题,就这么硬生生地卡了半天。
回首一下定位的思绪,发现本身debug本事还真是有待进步:本身遇到了lib里报了配对的错误之后,就有点手足无措了,抓不到根因,瞥见奇怪的标题,就顺着RTL往内里追,效果越追大概越是暗昧,中心到是也会遇到“明显是ldata下面的路径但是终极会link到RO的sdata上”的“不测劳绩”,但显着本身的思索方向就错了。固然本身也发现了诸如宏界说的标题,但是还是缺少了比力全面、机动的定位思绪
计划给本身的指引:
(1)起首打扫RTL版本的标题。这一点上,本身倒是开始有这个意识,也是按照顶层的filelist挨个模块的更新代码。但是,本日线上计划猜疑本身NOC代码没有更新,一更新发现还真是,这是为什么?是周末NOC的计划更新了代码,还是本身其时就疏漏了?
(2)解耦计划和验证的代码。计划可以只带着RTL的filelist就可以跑编译的。这是一个本身不常用的本事,从前也没如许用过。而面对A模块如许大的一个IT,本身没有如许的debug本事和意识,就阐明程度还不敷。果不其然,单独跑计划的filelist,把本身没更新的代码都对齐到了最新,之后就编译过了,至此就阐明计划的RTL现实上没标题。
(3)验证环境的单独编译。接着(2),既然单独计划已经没有标题,那么就要看环境,这里单独DEBUG环境就又是一个新的履历了,幸亏本身按照计划的指引,找到了A的Dummy RTL,挂到环境上,编译就跑的很快了,很快就袒露了错误。在这个过程中,也是大概用“二分法”大概“层层递进”“地毯式”地排查就比力高效了。
末了发现,就是本身手动新增修改的macro的define文件,末了没有加endif,导致了不配对,末了导致了背面很长的奇怪的错误。而且,很轻易误导人,让人去改RTL的各种文件。说白了,根因也是很简朴的一个错误,只是由于文件条理稍微多那么几个,本身就疏漏了,总是以为“本身这么认真,写的应该都没啥标题吧”
2. 资助新人办理标题
本日一个隔壁组的刚工作两年的小伙过来找我讨教我接办的一个IP的标题。我听他说了半天,也听不懂他说的东西,以致于末了跑到他的座位上对着他的波形和代码,现场给他解说了一番。本身当了一把小小的“FAE”终极给他表明确了,本身竟然另有点小小的成绩感了,由于本身从来没带过徒弟,以是感受还挺显着的:
(1)看到这个入职两年的小伙的状态,想到了当年的本身。这小伙脑筋智商不低,名校毕业,但是显着思绪不对,而且整个感觉也不对,有点本身当年的感觉。
(2)新人的标题之一是:形貌标题形貌不清晰,不能厘清和被讨教人的界面,上来就问“这个怎么回事”,但是却不能提供富足的底子信息,必要别人猜。
(3)新人的标题之二:对业务、体系级电路不认识,没有履历,且没有精确的思绪。代码条理一多、向上集成的一多,就慌了,思绪乱,没有清晰的主线,以是不绝左找右找各种其他缘故原由,肯定是找不到的。本身确实也是履历丰富了,在没有预先看文档的环境下,直接就看到了标题条理地点,直接波形上解说给其思绪,终极办理标题。
联合本身本日乌龙般地debug和资助新人办理标题,有一些启发:
(1)“顶层”信息的对齐起首是第一步,需求、根本东西(宏、filelist、版本)等起首先明确,和相干职员对齐,不要一上来就开始咣咣跑代码,未必高效。
(2)遇到不那么好弄的BUG,思绪肯定要清晰、机动,不要按照惯常的做法就“硬抗”,举行不下去了就轻易放弃,本日计划职员把“计划和验证环境单独编译”的思绪就帮了大忙,职员这一点本身做为一个验证没有起首想到,就是程度和履历不敷,下次必须先想起来。
(3)总结、沉淀、积累履历,很告急。看到新人的乱定位一气,还讲不明确布局,本身就忽然感受到着实本身已经是某些方面很多有履历了,以是就很有谁人感觉,由于富足认识。那么本身的履历和感觉那里来的呢?肯定是这么几年本身不停的做不经意间总结的。以是,总结和沉淀很告急,履历多了甚至就会形成直觉了。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 19:26, Processed in 0.137273 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表