1、調(diào)試dll的概述
由于dll本身是不可執(zhí)行的,所以給開發(fā)和調(diào)試工作帶來了一定得難度,在VC++中如何調(diào)試dll程序呢?提供了兩種解決辦法
2、調(diào)試dll的技巧
打開應(yīng)用程序的工程,選擇【Project】—>【Settings】菜單命令,在彈出對話框的“Debug”標(biāo)簽下,“Category”選擇“General”,在“Program Arguments”中指定應(yīng)用程序命令行參數(shù)。“Category”選擇“Additional dlls”,輸入調(diào)試的dll文件,如果使用遠(yuǎn)程調(diào)試,要給出完整的網(wǎng)絡(luò)路徑。這個dll必須編譯成Debug版本的程序,包含有調(diào)試信息。這樣盡管dll源不是這個工程的組成部分,也可以在應(yīng)用程序和dll的源程序中設(shè)置斷點(diǎn)。同時使用應(yīng)用程序的工程來調(diào)用dll
在同一個工程區(qū)內(nèi)打開dll和應(yīng)用程序,這樣就要求把dll程序的工程添加到應(yīng)用程序的工作區(qū)中。為了能夠調(diào)試dll程序,兩個工程都是用相同版本的Debug。在【Project】—>【Settings】對話框的“Link”標(biāo)簽下選中“Generate debug info”。在【Project】—>【Settings】對話框的“Debug”標(biāo)簽下,“Category”選擇“Additional DLLs”,將要調(diào)試的dll文件加入其中。同時,在【Project】—>【Settings】對話框中選擇應(yīng)用程序的工程依賴于dll的工程,在dll程序調(diào)用時,編譯用戶應(yīng)用程序,可以根據(jù)文件新舊比較把dll的工程也編譯連接。dll工程調(diào)用后,編譯連接生成新版本調(diào)試信息,為了操作方便可以在dll工程的“Project Settings”對話框中的“Post-Build Step”標(biāo)簽下加上將編譯好的dll復(fù)制到應(yīng)用程序訪問到的目錄的一個命令。每編譯一次,就要執(zhí)行一次這個命令,將最新生成的dll文件提交給應(yīng)用程序是用。
通過上面的設(shè)置就可以通過應(yīng)用程序來對dll程序進(jìn)行調(diào)試了,在調(diào)試過程中,可以從應(yīng)用程序單步跟蹤到dll工程中,在dll中設(shè)置斷點(diǎn),在應(yīng)用程序中調(diào)用dll,執(zhí)行到此時,也會中斷,從而達(dá)到了調(diào)試的目的。