┌┐┌┐∞
     ●┘└┘└┘             每集一句:
┌───────────┐          花錢要花在刀口上
│  拷貝心得第二十五集  │          而不是用來填海。
└───────────┘
                              本集是簡介TURBO DEBUGGER的用法。
===========================================================================
┌─────┐
│ 1-1 前言 │
└─────┘
       現今的電腦軟體已趨向大容量記憶體 ,並且逐漸由原來的單色改為彩色營幕
     搭配SVGA加硬碟 ,所以對於喜好軟體除錯的人 ,更需要良好的裝備。

       以TURBO DEBUGGER來說吧 ,如有386 + VGA + 4MBRAM + HD 的話 ,更能讓您
     得心應手。

┌───────┐
│ 2-1 所須配備 │
└───────┘
       286 以上機種(386更佳)一部以上
       RS-232 含COM1 + LPT1
       1MB 以上記憶體(2MB以上更好)
       硬碟一部
       單色營幕 (EGA VGA更好 ,CGA不適用)

┌───────┐
│ 2-2 檔案介紹 │
└───────┘
系統
       TD286.EXE    TURBO DEBUG 286 Only (需有2MB RAM才能用)
       TD386.EXE    TURBO DEBUG 386 Only (需有2MB RAM才能用)
       TDINST.EXE   安裝檔
       TDH386.SYS   80386 硬體除錯驅動程式
       TD.EXE       遠程搖控TDEBUG (用來聯接兩部PC來除錯)
       TDRF.EXE     遠程搖控發信用
       TDREMOTE.EXE 遠程搖控接收用 (用來聯接兩部PC來除錯)
       -------------------------------------------------------
其它   TDHELP.TDH
       README.COM
       TDSTRIP
       TDUMP.EXE                  沒啥用....略過
       TDCONVRT.EXE
       TDMAP
       TDPACK
       -------------------------------------------------------

┌───────────┐
│ 3-1 何時須用到此功能 │
└───────────┘
       由於 TURBO DEBUG 非常佔記憶體 ,會造成您不夠記憶體來 TRACE 軟
     體 ,此時您就須要用到此種方式來偵錯了。


┌──────────┐
│ 3-2 用兩台PC來除錯 │
└──────────┘
       硬體:
         一條 CABLE 線 ,能連接兩部 PC 的 COM1 ,且有一頭的2.3腳的線要
         交換位置。
          1 ──────── 1
          2 ───┐┌─── 2       如圖所示
                ┌─┘
          3 ──┘└──── 3

       軟體:
         TDREMOTE ,TDRF ,TDEBUG

┌───────┐
│ 3-3 簡介軟體 │
└───────┘
       [1] TDREMOTE /? or TDREMOTE /h for HELP
                    /rs1 9600BPS (傳送速度)
                    /rs2 or rs3 for 40000、115000
                    /rp1 or rp2 for COM1、COM2

           此乃設定以多少速度來控制電腦資料傳輸
           隨時可按 Ctrl-Break 回到 DOS。

       [2] TDRF    傳送資料用....詳情請看書

       [3] TDEBUG.EXE 除錯工具

┌─────┐
│ 3-4 玩法 │
└─────┘
       先將欲偵錯的軟體放於兩部 PC 上 ,遠程那台執行 TDREMOTE  
     即可。自己這台則執行 TDEBUG ,即可使用遠程偵錯。
       (如:TDREMOTE -rs1 -rp1 )

       其執行結果會出現在遠程那台上 ,您可以隨時按 Ctrl-Break 中斷程式執
     行 (即使程式本身不允許Break亦可中斷) ,相信這些特點很迷人吧 ?

       其它TD操作法同單台 PC 追蹤程式的方法.....略過不談....因太多了。

     PS:最好使用386機種 ,並在CONFIG.SYS掛上TD的DRIVER


  Turbo Debugger Installation V1.0  (C) 1988 Borland International, Inc. MENU
┌─────────────────────────────────────┐
│Colors                                                                    │
│Display                                                                   │
│Options  <-----選這個                                                     │
│┌─────────────────────┐                            │
││Editor...                                 │                            │
││Source directories...                     │                            │
││Turbo directory..                         │                            │
││Keys                                      │                            │
││Prompting                                 │                            │
││Remote debugging  <--------------------------啟動遠程追蹤模式           │
││OS Shell Swap Size...   64K               │                            │
││Language             Source               │                            │
││Case ignore              No               │                            │
││ID switching            Yes               │                            │
││Use expanded memory     yes               │                            │
│└─────────────────────┘                            │
│                                                                          │
│                                                                          │
└─────────────────────────────────────┘



┌───────┐
│ 4-1 系統簡介 │
└───────┘

  Turbo Debugger Installation V1.0  (C) 1988 Borland International, Inc. MENU
┌─────────────────────────────────────┐
│Colors                                                                    │
│Display  <---- 選這個                                                     │
│┌─────────────────────┐                            │
││Startup display                Source  ─── 顯示程式格式              │
││User screen updating             Swap  ─── 註一.                     │
││Display swapping                Smart  ─── 註二.                     │
││Integer format                   Both  ─── 註三.                     │
││Log list length...                 50  ─── 保留數                    │
││Tab column width...                 8  ─── 跳格數                    │
││Maximum tiled watc...               6  ─── 顯示視窗的列數            │
││Fast screen update                 No  ─── 快速更新畫面              │
││43/50 line mode startup            No  ─── EGA/VGA Only              │
││Permit 43/50 line mode            Yes  ─── 視窗緩衝                  │
││Complete grapics save             Yes  ─── 註四.                     │
│└─────────────────────┘                            │
│                                                                          │
│                                                                          │
└─────────────────────────────────────┘

    [1] 營幕更新
        Flip     TD 顯示的選擇頁 ,採多頁顯示方式 ,僅 VGA 可選此項
        Swap     單色 ,或偵測的軟體有用到多頁顯示者適用
        Other    若您同時接有單、彩色營幕 ,可以讓您在一個營幕上觀
                 看執行結果 ,另一個營幕觀看 TD 除錯程式。

    [2] 顯示交換
        NONE     軟體純為文字模式適用
        Smart    讓您隨時可切換『執行結果 & TD』的營幕
        Always   定時更新畫面 ,當Smart失效時才用

    [3] 整數格式
        Hex      16進制表示法
        Decimal  10進制表示法
        Both     同時顯示兩者

    [4] 若正在除錯的軟體有使用繪圖模式 ,則可將整個圖型暫存 ,使之與 TD
        程式本體做顯示頁的切換。


┌───────┐
│ 5-1 硬體偵錯 │
└───────┘
    如果您是使用 386 ,您可以在 CONFIG.SYS 內加上 DEVICE=TDH386.SYS
    這樣 TD 便能夠使用 386 才有的除錯暫存器來除錯。

    中斷點視窗區域功能表: (僅列出部份...筆者功力不足看不懂)
     Set Action
             Break               設定中斷點
             Log                 表示式的中斷點
             Execute             執行時的中斷點

     Condition
             Always              非條件中斷點
             Changed Memory      記憶體變更時
             Expression True     表示為真時

     Cycle Type
             Read Memory         讀取記憶體時
             Write Memory        寫入記憶體時
             Input  I/O          I/O 輸入時
             Output I/O          I/O 輸出時
             Both   I/O          I/O 輸出入時

     Data
             Enable/Disable      中斷點開關
             Add                 加入一個中斷點
             Global              增加一個全區域中斷點
             Remove              移去被標明的中斷點
             Delete All          刪除所有中斷點
             Inspect             監視中斷點的程式碼

===========================================================================
結論:
    TURBO DEBUG 是一個非常強勁的除錯工具 ,喜歡除錯的人不妨玩玩看。

    筆者接觸 TD 不到一個月 ,所以僅列出所知道的部份 ,若您想要知道更
    詳盡的資料 ,可至書局購買相關書籍觀賞 ,可學到更多的技巧。

    本次內容略嫌簡陋 ,請多多包涵。
===========================================================================
廣告時間:軟體蛀虫 (02) 812-0060
          SysOp : Dekuo Guo