三. 庫的調試與查看

由於庫文件不能單獨執行,因而在按下F5(開始debug模式執行)或CTRL+F5(運行)執行時,其彈出如圖3所示的對話框,要求用戶輸入可執行文 件的路徑來啓動庫函數的執行。這個時候我們輸入要調用該庫的EXE文件的路徑就可以對庫進行調試了,其調試技巧與一般應用工程的調試一樣。

 

   通常有比上述做法更好的調試途徑,那就是將庫工程和應用工程(調用庫的工程)放置在同一VC工作區,只對應用工程進行調試,在應用工程調用庫中函數的語 句處設置斷點,執行後按下F11,這樣就單步進入了庫中的函數。第2節中的libTest和libCall工程就放在了同一工作區,其工程結構如圖4所 示。

 

       比如當我們調試.arx文件時,可以把它關聯到AutoCAD應用程序進程。

 

上述調試方法對靜態鏈接庫和動態鏈接庫而言是一致的。所以本文提供下載的所有源代碼中都包含了庫工程和調用庫的工程,這二者都被包含在一個工作區內,這是筆者提供這種打包下載的用意所在。

動態鏈接庫中的導出接口可以使用Visual C++的Depends工具進行查看,讓我們用Depends打開系統目錄中的user32.dll,看到了吧?紅圈內的就是幾個版本的MessageBox了!原來它真的在這裏啊,原來它就在這裏啊!

 

  當然Depends工具也可以顯示DLL的層次結構,若用它打開一個可執行文件則可以看出這個可執行文件調用了哪些DLL。別外網上還有很多DLL查看器,裝上後能在文件屬性中看到調用和導出。

 

發佈了27 篇原創文章 · 獲贊 1 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章