小華的部落格: 2009/1/18 - 2009/1/25

搜尋此網誌

網頁

星期三, 1月 21, 2009

老程式也有它的好處

大家都知道debug.com的用法,不過他還有一個應用的方式是我經常使用的!
剛好前陣子公司同事也有分享這個用法,所以就順便把他在做個簡單的介紹。

老程式Debug.com 有支援輸入/輸出導向,也就是以前DOS下的 ">" 跟"<" 符號所做的事情, 而他的用法很簡單,你只要在一個文字檔中先寫好你要做的事情,然後導入到Debug.com中 就可以了,而Debug.com就會依照你的文字檔的動作去做事情! 例如原本你使用debug.com時你做了下面的動作 -d
-q

那麼你就可以寫成一個Test.txt,然後裡面的內容是:
d
q

接著進入DOS Cmd prompt ,導入這個文字檔給debug.com 例如:
C:\> debug < test.txt

這樣子debug就會自動幫你執行d指令,還有q 離開debug.com.

而下面是一個Dump PIRQ的批次檔,我會自己去F Segment內找到'$PIR' 的位址,然後透過D指令去Dump 這個記憶體,接著把Dump的內容寫到一個檔案中:

@ECHO OFF
REM ============= Find PIRQ ===================
ECHO. s f000:0 ffff '$PIR' > FindPIRQ.txt
ECHO. q >> FindPIRQ.txt
debug <> PIRQAddr.txt

REM ============= Set variable ===================
FOR /F %%A in ('FINDSTR /C:"F000" PIRQAddr.txt') do SET FSEG=%%A

REM ============= Dump PIRQ ===================
ECHO. d %FSEG% > DumpPIRQ.txt
ECHO. d >> DumpPIRQ.txt
ECHO. d >> DumpPIRQ.txt
ECHO. d >> DumpPIRQ.txt
ECHO. d >> DumpPIRQ.txt
ECHO. q >> DumpPIRQ.txt

debug <> Pirq.txt

ECHO.
ECHO. Output: PIRQ.txt
ECHO.

DEL FindPIRQ.txt
DEL PIRQAddr.txt
DEL DumpPIRQ.txt
pause


底下是我產生的文字檔內的內容:
- d F000:DE80

F000:DE80 24 50 49 52 00 01 60 01-FF FF 00 00 86 80 2E 12 $PIR..`.........
F000:DE90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
F000:DEA0 00 00 00 F8 DE 00 F8 DE-00 F8 DE 00 F8 DE 00 00 ................
F000:DEB0 00 38 60 E0 1C 00 F8 DE-00 F8 DE 00 F8 DE 00 00 .8`.............
F000:DEC0 00 08 60 E0 1C 00 F8 DE-00 F8 DE 00 F8 DE 00 00 ..`.............

星期日, 1月 18, 2009

人生無常

『人生無常』~ 以前總覺得『無常』是無法接觸到的,是看不到摸不到的! 一旦它讓你看到/接觸到時真是令人難以承受之痛!

去年,2008.11.18 我敬愛的叔叔走了,當時很難過;一個我從小當成典範的長輩一個疼愛我的長輩離開了我,但想到他能夠自癌病中解脫,能夠到達另一個世界去未嘗不是一種新的祝福!

但人生就是如此無常,二個月後的昨天2009.01.18,我自小照顧我的奶奶因為心肌梗塞突然送進加護病房急救,在我回到苗栗時奶奶就已經走了! 最後一面沒有見到,心好痛! 在陪伴著、看著她安詳的躺在那時,淚水一直停不下來!

『人生無常』,希望大家能夠好好珍惜身邊的親友與你最愛的人! 平凡的幸福才是真正的幸福,一早起來你的親友和你愛的人能夠笑著跟你打聲招呼,這種平凡的幸福在此刻的我真的難以擁有啊!