日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

UNIX系統(tǒng)開(kāi)發(fā)-SDB調(diào)試技術(shù)( 三 )


可用于設(shè)置對(duì)某個(gè)變量的觀察點(diǎn) 。此處變量i為被監(jiān)視的變量 。而用:

* 0x00400000:m

則可將地址0x00400000 處設(shè)置成觀察點(diǎn),而0x00400000將成為被監(jiān)視的地址 。

在設(shè)置了觀察點(diǎn)之后,sdb會(huì)同處理S命令一樣開(kāi)始程序的單步執(zhí)行,并在變量的值或指定地址單元的內(nèi)容被改變時(shí)停止程序的執(zhí)行 。由于變量值的改變或地址內(nèi)容的變化,或者其他什么原因而使程序的執(zhí)行中止,包括因?yàn)橛龅綌帱c(diǎn)而使程序停止的情形,都將使得所設(shè)置的觀察點(diǎn)被sdb自動(dòng)刪掉 。被觀察的變量必須是當(dāng)前函數(shù)的局部變量或者是當(dāng)前函數(shù)所能夠訪問(wèn)的變量 。

其他命令

除了上面介紹的五類(lèi)主要命令之外,sdb還支持其他一些命令 。使用這些命令,可以完成其他一些輔助性的工作 。分別介紹如下 。

. !Shell Command

此命令可以使sdb去執(zhí)行指定的Shell Command 。這里Shell Command是一個(gè)合法命令 。例如可以輸入:

* ! ls -l

sdb將執(zhí)行指定的ls -l 命令,并將其輸出顯示出來(lái) 。

使用:
* ! sh

能夠生成一個(gè)新的Shell進(jìn)程 。在此新的Shell中可以完成某些工作,然后用exit命令返回到sdb中 。

指示sdb從文件FileName中讀取sdb調(diào)試命令,并且逐個(gè)執(zhí)行之 。

"SomeString
指示sdb顯示出某個(gè)字符串 。常用此命令給出某些提示信息,
 k 此命令將使當(dāng)前對(duì)程序的調(diào)試終止,之后仍可用r命令重新啟動(dòng)被調(diào)試的程序 。如:

* k
1111:killed
*
這里1111是被調(diào)試進(jìn)程的進(jìn)程號(hào) 。
* q
此命令將使sdb停止其自身的運(yùn)行而返回至原Shell提示符下 。在調(diào)試完程序之后一般都要使用此命令 。

推薦閱讀