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