一、聯接目標檔(OBJ Files)
程式完成以後,相互間的聯結,越大越難。有時是結構的改變,有時是檔名的變動。不論什麼因素,在在都需要加以維護,而且對工作效率關係重大。
因此,需先建立一個 DO.BAT 的執行檔,其內容為: 1:LINK/M @XXXX 此 XXXX 為一記錄檔,其中記載所有需聯結的目標檔名,如果有任何異動,直接更改此檔即可。 在聯結時,執行 DO 即可。
例如:要製作 DRAW.EXE 檔,已有 DR1.OBJ .. DRn.OBJ 以及DR-SEG.OBJ 等檔,則此 XXXX 檔內容應為: 1: DR-SEG+ 2: DR1+DR2+.. DRn 3: DRAW,DRAW,, 在執行 DO 後,如果沒有錯誤,所產生的 DRAW.EXE 以及DRAW.SYM 即可供測試。
也可在第三條後加入: 4: SYMDEB (或僅用 S)DRAW.EXE DRAW.SYM 似此,在發展初期,立即可以測試。如果不需再次聯結,將第四條另外作一 .BAT 檔,隨時執行亦可。
另外有一點需要注意的是,為了要讓可執行的程式由指定的起點開始,應在原始檔 .ASM 的結束格式標記‘END ’後,加一起點的標題名稱。 此標記不論有多少,聯接目標檔時,會以第一個找到的標題為唯一的入口。如果程式很多,參與工作的程式師也多,在分開測試時,經常使用自己的入口,一旦聯接在一起,就可能發生錯誤。 解決的方法是由負責聯接的程式師,事先準備好前述XXXX記錄檔,將帶有入口標記的程式放在最前面即可。當然,將其他程式標記後的標題刪除亦可,但不如前法效率高。
二、目標檔偵錯及工具
在使用 DEBUG時,因為名稱簡短,用法也簡單。若使用「標題偵錯」SYMDEB.EXE則不然,因為首先要生成.MAP檔,測試時,輸入文字也較多。對不斷使用的人來說,難免嫌煩。簡化的方法,是先製作執行檔:S.BAT 及 SM.BAT
S.BAT 是專供指定程式偵錯用,內容為: 1:SYMDEB %1.SYM %1.EXE 這是指已經有了原檔的 .MAP 時,如果程式剛聯接完畢,且在聯接檔中,沒有生成 .MAP 的語句,則應製作 SM.BAT 如下: 1:MAPSYM %1.MAP 使用「標題偵錯」工具有很多優點,其功能較 DEBUG強得多。但是使用者必須注意,需要測試的標題,應該在程式中宣告PUBLIC,否則無法直接跳到該處。 尚有些特殊效果的程式,也應備妥測試的工具,甚至以利用「監視器」的方式,用另外一台電腦來控制。有一些通訊軟件,如 XTALK加上SYMDEB.EXE,通過串行埠(Serial Port )可以聯機調試,其手續如次:
1,先在待調程式的主機上輸入通訊指令: C:\>MODE COM1:9600,N,8,1 C:\>SYMDEB MYFILE.EXE
2,再於已與主機經串行埠聯接的副機上輸入: C:\>XTALK 進入指令輸入狀態,再輸入: C:\>SP 表示設定傳輸速度,一般多採用9600,但視主機而定。 C:\>9600 最後,輸入操作指令: C:\>GO LO 表示用區域網絡,即串行埠口。 這時等待聯機成功的訊號,見到螢幕上出現“-”,即可 開始偵錯。
3,在主機方面,尚要輸入: C:\>=COM1 ( 或COM2,端視雙方的通訊口而定 )
4,至於偵錯方式,與利用一台電腦時相同,只是此時在主機上出現的是執行後的結果,而由副機控制偵錯步驟。
|