DOSBox debugger初步指南

0.這是什么東西?

DOSBox debugger是一款由DOSBox原作者為DOSBox量身打造的調(diào)試器蒿褂,幾乎所有運行于DOSBox上的程序都可以用它進行調(diào)試圆米。0.74-3版本的下載地址為http://source.dosbox.com/dosbox-74-3-debug.exe

dosbox_debugger的界面

1.為什么選擇DOSBox debugger?

不同的人可能有不同的理由,我的理由是為了學習16位和32位masm匯編啄栓。在64位操作系統(tǒng)上學習匯編有很多方式娄帖,那么為什么是dosbox及其debugger?

(1)開門見山地說吧昙楚,最重要的一點近速,就是在masm-code插件的加持下,dosbox debugger可以完美地兼容于vscode

vscode堪旧,永遠滴神削葱!

(2)VS上同樣可以寫masm,而且VS自帶的調(diào)試器功能更強大淳梦,界面更友好析砸,那為啥不用VS?一是因為VS實在太大了爆袍,二是因為vscode永遠滴神

三是因為VS配置起來比較麻煩首繁,而我比較懶

(3)emu8086?畢竟是8086螃宙,不支持32位

(4)masm for windows蛮瞄?本體就是個文本編輯器,主要原因是丑

眾所周知谆扎,好看的工作環(huán)境有利于提高工作效率

(5)Red asm/Visual asm/等等挂捅?別問,問就是vscode天下第一

(6)為什么不用dosbox原本的debug.exe?功能少而且難以查看32位寄存器

2.安裝

dosbox怎么裝我就不說了堂湖,網(wǎng)上一大堆闲先。從上面那個鏈接下載了debugger之后状土,將其放在dosbox.exe同一個文件夾下,就基本ok了伺糠,雙擊該exe就可以打開了蒙谓。

如果是使用了masm-code的vscode,那么就放在C:\Users\你的名字\AppData\Roaming\Code\User\globalStorage\kaixa.masm-code這個文件夾里训桶,并把這個debugger的文件名改成DOSBox.exe累驮,把原來的DOSBox.exe改成另外的名字。這樣就可以讓你在使用vscode時通過ctrl+shift+p或者F1直接啟動dosbox及其debugger
在這里啟動

彈出dosbox窗口后舵揭,輸入debug xxxx.exe并按下回車谤专,dosbox debugger就會開始工作了。

3.使用

這款調(diào)試器有別于現(xiàn)在的大多數(shù)高級語言調(diào)試器午绳,鼠標基本是完全沒用的置侍,想要操作它必須得用鍵盤上的各種鍵或者在其里面敲命令。下面就講講幾個常用的鍵位:
單步運行 F10
查看數(shù)據(jù)段內(nèi)存 alt+D(記得等程序?qū)?shù)據(jù)段地址傳給DS之后)
然后沒了拦焚。由于本人能力所限蜡坊,目前常用的就這兩條。當然赎败,還是把其他的鍵或指令都展示一下:

F3 / F6-歷史記錄中的上一個命令秕衙。
F4 / F7-歷史中的下一個命令。
F5-運行螟够。
F9-設(shè)置/刪除斷點灾梦。
F10 / F11-跨步/追溯到指令。
ALT + D / E / S / X / B-將數(shù)據(jù)視圖設(shè)置為DS:SI / ES:DI / SS:SP / DS:DX / ES:BX妓笙。
esc-清除輸入行若河。
上/下-移動代碼視圖光標。
Page Up / Down-滾動數(shù)據(jù)視圖寞宫。
Home / End-滾動日志消息萧福。
BP [段]:[偏移]-設(shè)置斷點。
BPINT [intNr] *-設(shè)置中斷斷點辈赋。
BPINT [intNr] [ah] *-用ah設(shè)置中斷斷點鲫忍。
BPINT [intNr] [ah] [al]-使用ah和al設(shè)置中斷斷點。
BPM [段]:[偏移量]-設(shè)置內(nèi)存斷點(內(nèi)存更改)钥屈。
BPPM [選擇器]:[偏移量]-設(shè)置pmode內(nèi)存斷點(內(nèi)存更改)悟民。
BPLM [線性地址]-設(shè)置線性內(nèi)存斷點(內(nèi)存更改)。
BPLIST-列出斷點篷就。
BPDEL [bpNr] / *-刪除斷點nr /全部射亏。
C / D [段]:[偏移量]-設(shè)置代碼/數(shù)據(jù)視圖地址。
DOS MCBS-顯示內(nèi)存控制塊鏈。
INT [nr] / INTT [nr]-執(zhí)行/跟蹤到中斷智润。
LOG [num]-寫入cpu日志文件及舍。
LOGS / LOGL [num]-寫入長/短的cpu日志文件。
HEAVYLOG-在dosbox退出時啟用/禁用自動cpu日志窟绷。
ZEROPROTECT-啟用/禁用零代碼執(zhí)行檢測锯玛。
SR [reg] [value]-設(shè)置寄存器值
SM [seg]:[off] [val] [。] ..-用以下值設(shè)置存儲器兼蜈。
IV [seg]:[off] [name]-為內(nèi)存地址創(chuàng)建var名稱攘残。
SV [filename]-將var列表保存在文件中。
LV [filename]-從文件加載var列表为狸。
ADDLOG [消息]-將消息添加到日志文件肯腕。
MEMDUMP [seg]:[off] [len]-將內(nèi)存寫入文件memdump.txt。
MEMDUMPBIN :[o] [len]-將內(nèi)存寫入文件memdump.bin钥平。
SELINFO [segName]-顯示選擇器信息。
INTVEC [文件名]-將中斷向量表寫入文件姊途。
INTHAND [intNum]-將代碼視圖設(shè)置為中斷處理程序涉瘾。
CPU-顯示CPU狀態(tài)信息。
GDT-列出GDT的描述符捷兰。
LDT-列出LDT的描述符立叛。
IDT-列出IDT的描述符。
PAGING [頁面]-顯示頁面表的內(nèi)容贡茅。
EXTEND-切換其他信息秘蛇。
TIMERIRQ-運行系統(tǒng)計時器。
HELP-幫助

來源:https://www.vogons.org/viewtopic.php?t=3944

4.結(jié)語

其實也沒啥好說的顶考,這個debugger還是比較傻瓜的赁还。
當然,感謝dosbox及其debugger的作者驹沿,感謝我的舍友Wgagaxnunigo讓我知道了這款強大的調(diào)試器艘策,感謝masm-code的作者kaixa,感謝我在vscode上寫匯編的引路人wz大佬(有空可以去看看她的關(guān)于vscode配置masm環(huán)境的文章https://zhuanlan.zhihu.com/p/105268949
由于本人水平所限渊季,此片文章中可能存在一些錯誤或繁瑣之處朋蔫,還望各路大佬多多指教。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末却汉,一起剝皮案震驚了整個濱河市驯妄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌合砂,老刑警劉巖青扔,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡赎懦,警方通過查閱死者的電腦和手機雀鹃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來励两,“玉大人黎茎,你說我怎么就攤上這事〉被冢” “怎么了傅瞻?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盲憎。 經(jīng)常有香客問我嗅骄,道長,這世上最難降的妖魔是什么饼疙? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任溺森,我火速辦了婚禮,結(jié)果婚禮上窑眯,老公的妹妹穿的比我還像新娘屏积。我一直安慰自己,他們只是感情好磅甩,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布炊林。 她就那樣靜靜地躺著,像睡著了一般卷要。 火紅的嫁衣襯著肌膚如雪渣聚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天僧叉,我揣著相機與錄音奕枝,去河邊找鬼。 笑死彪标,一個胖子當著我的面吹牛倍权,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捞烟,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼薄声,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了题画?” 一聲冷哼從身側(cè)響起默辨,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苍息,沒想到半個月后缩幸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壹置,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年表谊,在試婚紗的時候發(fā)現(xiàn)自己被綠了钞护。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡爆办,死狀恐怖难咕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情距辆,我是刑警寧澤余佃,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站跨算,受9級特大地震影響爆土,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诸蚕,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一步势、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧背犯,春花似錦立润、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泉哈。三九已至蛉幸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間丛晦,已是汗流浹背奕纫。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烫沙,地道東北人匹层。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像锌蓄,于是被迫代替她去往敵國和親升筏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • layout: wikititle: Windbg調(diào)試筆記categories: Debugdescription...
    超哥__閱讀 19,379評論 0 17
  • 在上篇文章中我們具體介紹了匯編語言的一些背景, 以及 8086匯編 工作原理, 在這篇文章中具體講解8086匯編指...
    Lin__Chuan閱讀 2,746評論 0 2
  • 王爽匯編全書知識點大綱 第一章 基礎(chǔ)知識 機器語言 匯編語言的產(chǎn)生 匯編語言的組成 存儲器 cpu對存儲器的讀寫 ...
    2c3ba901516f閱讀 2,407評論 0 1
  • Android新攻防技術(shù)研究與應(yīng)用通用軟件保護手段C++模板元常量字符串混淆調(diào)試檢測常用調(diào)試器進程名檢測/二進制匹...
    超哥__閱讀 3,128評論 1 4
  • 命令簡介 cmd是command的縮寫.即命令行 瘸爽。 雖然隨著計算機產(chǎn)業(yè)的發(fā)展您访,Windows 操作系統(tǒng)的應(yīng)用越來...
    Littleston閱讀 3,314評論 0 12