作者guest0079 (火辣辣的大姊姊)
看板Soft_Job
標題Re: [請益] 有關看code trace code的問題
時間Sun Mar 9 14:47:11 2008
等等又要去上班了 以下只能用沒系統的方式隨便說說
請先把你的心態調整一下
文件只是輔助 有文件就要偷笑了
文件是假的 只有程式碼才是真的
不要期待文件內容跟程式碼存在一個完整的依存關係
程式不會有模糊不清的地方
它是你在混亂的工作環境中 最後的一塊淨土
不管別人跟你說什麼 不管文件怎麼寫 不管測試報告說什麼 都不要相信
你會聽到別人說:老闆永遠是對的! 客戶永遠都是對的!
↑以上完全是狗屁
只有程式碼才是唯一的真理 請把程式碼當成神來看待
那如果程式有錯怎麼辦?
笨! 程式是神 神是不會出錯的 錯的是寫程式的人
是愚蠢的人們曲解了神的旨意
另外 你有提到多型 同樣一段程式碼可以呼叫的東西可能完全不同!!!
↑ 還加三個驚嘆號
這沒什麼好奇怪的 會這麼說可見你對神的認知還太淺了
猜不透神的旨意對新教徒來說是很正常的 大家都是這麼走過來的
只是請你不要對神有任何一點點的懷疑
而跑去相信什麼文件寫的資料 相信老闆或是客戶說的話
那些異教徒只會亂了你的心智
等你了解多型 就知道那只是眾多神跡之一罷了
注意! 文件、老闆、客戶、撒旦 都是必須拒絕的邪惡
好了 我要上教堂做禮拜了
※ 引述《saladim (殺拉頂)》之銘言:
: ※ 引述《yangfan (小羊)》之銘言:
: : 先釐清產生bug的資料流為何
: : 整理出一份流程圖出來,包含所有include的class
: 已納入第一步 XD
: : 將程式碼中看不懂的變數全寫進log檔中
: : 然後丟變數進去看log檔中的數值變化為何
: 可是若是像 class的行為
: class的指標等等
: 那個變數不純粹是個 value, 就很難用這種方式.....無法確定要dump哪些資料
: 一往打盡時間又不夠......
: : 確保每個class最後產出的值是符合預期的
: : 你可能會問
: : 公司不是已經有文件了
: : 幹麻還要自己去整理
: : 因為文件所描述的邏輯與實際的程式會有差異
: : 尤其是老系統 大家修修改改的 所有的rule都不一樣了
: : 所以前輩們都會說 文件都寫在code裡面
: 其實蠻難描述我目前遇到的瓶頸, 前面我舉的只是一個例子, 就是在有文件的情況下
: 去trace code, 老是會有東西覺得不應該這樣出現, 或是有永遠搞不懂的東西冒出來,
: 另務大大們提到的observer, 是Design pattern的東西, 無奈合還未拜讀, 雖然他的精
: 神前輩們說的很清楚, 但是在code方面怎麼實現的就完全沒頭緒, 這也是我覺得可能是
: code看不懂的原因之一(所謂的用了一些技巧吧), 還有多型的應用, 同樣一行code可以
: 呼叫到的東西可能完全不同!!!
: 的確還需要再磨練一下 XD
: 還是感謝各位前輩給的一些意見 努力融會貫通中
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.103.43
推 smallworld:這位神父所言甚是 哈雷路亞 03/09 16:20
推 missionary:我是火辣辣的大姊姊的信徒,懇請大姊姊賜我火辣辣的照片 03/09 21:49
推 zekly:雖然我是偏無神論者,不過這段比喻真是妙^^YA 03/09 22:00
推 joy830:阿們 03/10 00:18
推 leicheong:神父所言甚是. 阿們. 03/10 09:31
推 ggg12345:一直好奇是出了甚麼BUG還是程式已不符現況找不到下手的地 03/10 12:11
→ ggg12345:方改.知道部位不就插樁逼近,不會是time-depend error 吧! 03/10 12:14
推 ledia:很多東西都不容易 debug 呀, 和硬體相關的 資料量過大的 03/10 18:45
→ ledia:reproduce 一次要兩天的 03/10 18:45
→ ledia:... etc. 03/10 18:46
推 leicheong:嗯嗯... 還有在dev server沒出現,只在production server 03/10 21:17
推 leicheong:出現的問題, 但production server不是自己的的時候... 03/10 21:25
推 ggg12345:處理的量之後出問題還是可以用snapshot凍結在某狀態,做完 03/11 06:37
→ ggg12345:checkpoint就能從某正確點再生,耗時重生就可免.環境變了 03/11 06:41
→ ggg12345:從起點或影響輸入的狀態記錄差異就比對出來還是歷史蹤跡. 03/11 06:45
推 iincho:呃..請各訴我怎麼在Production server上snapshot... 03/11 10:37
→ iincho:就算是memory dump也沒這麼神啊.... 03/11 10:38
推 ggg12345:production server還是可以用Vmware/XEN執行選擇snapshot 03/11 13:27
推 globelin:最好是商用的production ap灌在vm上..還可以給你snapshot 03/11 16:29
推 ledia:哈哈 不用跟不活在現實生活中的人爭論這種小事啦 03/19 14:18