我覺得除錯的基本思路,就是要確立兩個元素:
我們一定要首先確定、或者假設一些部分是可信的,一些部分是可疑的。然後在這基礎上去程式設計/筆算出,這種假設下可疑部分的每一步結果應該是怎樣的,再用gdb去不斷輸出結果,和預想進行對比。
例如程式存在兩個部分:
我們如果要進行除錯,一定要先確定/假設,某乙個部分是正確的,錯誤出現在另乙個部分,否則除錯是無法進行的。
如果可信點都需要假設的話,這種情況下基本是絕境了。最後很可能會發展成這樣的情況,可信點為0,整個模組從頭到尾都是可疑點,從頭到尾逐步除錯。。。如果是序列的話還好,我有次除錯乙個找不到可信點的並行程式,我差點調到崩潰。
所以,種種原因下,可信點的確立基本是必須的。要確立可信點,主要需要採用兩種方法:
我那次優化矩陣乘法的經歷,就存在著測試案例設計的太隨便,最後由於浮點數的計算特點,我根本不能確定自己結果的正確,從而心態上崩盤,造成求援**。
程式設計師感悟
在csdn上有程式設計師發表感慨,覺得自己將來也會遇到差不多的情況。看到很多csdner都有同感,並且積極開導lz,我也頗有感悟,先貼一貼他們說的。lz說的 昨天8年前的好友a通過qq告訴我,2000年一同分配到那個國有企業的b已經公升任副局了,昨晚一夜沒有睡好,反思畢業8年來的點點滴滴,不由百感交...
程式設計師感悟
這幾天學習了一下springcloud,微服務,本來以為很難弄,其實用還是很簡單的,畢竟是開發給我這樣的小白用的,太難不會用,沒有開發價值,像白居易的詩一樣,通俗易懂的詩才是好詩,其實 也一樣,不僅僅是給自己看的,也是給人看的,你 寫的漂亮點,你的後人就容易摸索點。到了新公司最大的痛苦不是技術不會,...
程式人生 感悟一
1,關於技術 今天從地鐵裡出來關於技術突然的間想明白一件事,那就是你不但要有技術的廣度更要有技術的深度,好像就是這麼回事。2.關於職業規範 對於自己有點木訥的性格和對技術有那麼一點靈光,貌似走技術路線更適合我,因此給自己的規劃 高階工程師 應用架構師 3.具體做法 需要有乙個能夠體現自己累積的成果即...