如何進行DLL除錯

2021-06-18 14:01:20 字數 1332 閱讀 8218

dll除錯有以下3種方法 

1.同時使用dll和應用程式的工程來除錯 

將2個工程放在乙個workspace裡,可以使用project/insert   project   into   wordspace...彈出對話方塊選擇,也可以在開啟1個工程的情況下,直接使用file/new...選擇project建立另乙個新工程,選中,add   to   current   workspace

為了除錯,2個工程都使用win32   debug(或者   unicode   debug)版本,在project/settings/link   都選中generate   debug   info

如果是隱式鏈結dll,需要從dll中獲得匯出資訊的標頭檔案和編譯生成的導入庫lib檔案。標頭檔案用#include加入,project/add   to   project/files.

..加入lib檔案

2.使用應用程式的工程來除錯dll 

project/settings/debug/category選擇additional   dlls,新增要除錯的dll檔案,如果是遠端除錯(build/debugger   remote   connection...中設定),必須給出完整的網路路徑。

這個dll必須是編譯成win32   debug(或   unicode   debug)版本的,包含有除錯資訊,這樣儘管dll的源程式不是這個工程的組成部分,也可以在應用程式和dll中設定斷點。

3.使用dll的工程來除錯dll 

開啟dll工程,project/settings/debug/category選擇general,為這個dll指定1個可執行程式,可以就是另外開發的的使用該dll的使用者程式。

具體除錯過程中,可以從應用程式單步跟蹤到dll中,在dll中設定斷點,在應用程式中呼叫dll中的程式,執行到這個斷點時,就會中斷,便於檢查此時dll的狀態。通過改變、設定應用程式執行環境和不同執行路徑,為dll程式除錯提供多種檢查方式。

我的方法:

兩個·工程  乙個dll   乙個exe程式

把兩個整在乙個工程裡,exe程式設定dll

在程式中呼叫這個dll   用絕對路徑loadlibrarya("c:\\***x\\***\\***x\\***.dll");

在exe dll中下斷  即可除錯了

今天偶然發現新大路了   除錯時直接 在dllmain下 面來個__asm int 3 ; 就能附加除錯了!

例子:

IDEA如何進行遠端除錯

測試題外話 win10 idea2021.1.4 centos7 tomcat9.0.43 我對springboot專案打了war包,有版本依賴 spring boot starter parent 2.3.4.release spring boot starter web tomcat embed...

ipad上如何進行頁面除錯?

以前用ios5的時候ipad上還可以通過safari中的開發人員工具裡面開啟控制台,檢視console.log的日誌列印資訊來進行除錯。但是從公升級為ios6後就找不到這項了,這裡可以借助與firebug工具來進行頁面除錯。在head裡面加入 然後再html中加入debug true,就可以在開啟頁...

vs下如何進行遠端除錯

當需要在客戶機上進行軟體除錯時,如果客戶機上沒有安裝程式設計環境,這時就需要使用遠端除錯功能。vs對遠端除錯提供了強大的支援,vs的安裝目錄下有乙個remote debugger的資料夾,如 d program files x86 microsoft visual studio 14.0 commo...