看板 Soft_Job 關於我們 聯絡資訊
不知道po在這邊合不合適 若不合適請版主自行處置 XD 小弟在trace code上面遇到了一些問題, 今天已有一份程式,有 UML圖 class diagram 甚至於 OID圖等等文件, 但是遇到實際的bug還是不能locate出來問題出在哪, 小弟我 雖然大概知道說問題出在控制哪個行為的部分, 可是實際去trace時, 總是冒出很多看來 看去也看不出他的意義的變數跟function或是class, 不是名稱上的問題, 因為從名稱 看的出來"大概"做什麼的, 舉個例子好了例如RecalTotalSize 這個function名稱, 依照看文件跟scheme如果作delete或是add 物件就有可能會用到這個function, 但是 在delete可能有呼叫這個function,但是在另外一個卻找不到! 這是一個例子, 就是這種 感覺, 依照文件應該要有, 但是又不是這樣, 尤其加上C++ OO觀念之後............ 媽押 習慣C一條路貫通的那種trace方式根本就不行, 哪裡用個polymorphysm, 這裡包成 什麼東西, 跟程式外在的行為表現有時候真的連不太起來.... 有時候前輩這樣說:"這裡使用到物件自己知道自己該做的事情的想法, 當這個事件發生時 所有該對這件事情發生反應的人,都會作出各自的反應,例如有人說該吃飯囉~~~所有肚子 餓的人就用自己的方式去吃飯了....懂了媽? 試試看 這裡有個Bug你練習練習 "XD XD...... 還是trace不出來 XD 很苦惱當中...........請大家給我建議阿~~~讓我能早日獨立作業 各位前輩是否能以在業界 以比較淺顯的實際例子說明該如何trace code呢? trace到眼睛快脫窗了..... 感謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.2.226
kvjo:你中間 只有提及名稱的地方是事實 其他你是說 你感覺、好像 03/07 00:26
kvjo:話說 我們學長前幾天在我後面 開心的喊著 我猜對了 ! 03/07 00:27
kvjo:我們就笑說: 現在資訊人員 是用猜的 也太神奇 03/07 00:27
kvjo:至於你前輩說的話 我也不太了 是說 觀察者架構? 03/07 00:29
kvjo:這段程式最好能有 原作者來稍微給妳指點一下基本背景 比較好 03/07 00:29
chihyi1980:哈..我看到他前輩那一段也想到Observer Pattern.. 03/07 00:36
chihyi1980:疑? 一樓的id好熟啊XD 北科那邊生活還好嗎? 03/07 00:36
kvjo:= = 學長? 同學? 哈囉 03/07 00:38
iincho:怪了...通通卡break point不就結了? 就耐心啊.... 03/07 01:02
nobody1:可能有問題的mark掉 complie一次就知道那些地方用到他了 03/07 09:47
stevin09:吃飯的例子,應該是要指design pattern中的,observer吧.. 03/07 20:37
meltice:最疑惑的是那些#ifdef 到底程式碼會跑哪一塊都不知道 03/08 22:02
meltice:一堆ifdef包來包去根本也搞不清楚開頭結尾 03/08 22:04
meltice:然後又註冊一堆function pointer 所以你根本無法從表面 03/09 11:51
meltice:看出誰call了哪個function 03/09 11:51
meltice:如果想看call(er) graph 可以試試看Doxygen 03/09 11:53
meltice:它會幫你畫出漂亮的圖 不過不保證正確 也不保證你看的懂 03/09 11:54
meltice:而且它還是無法trace出像function pointer這種call 03/09 11:54
meltice:doxygen要畫圖好像還要配合另一套graphviz的東西 03/09 11:56