除錯嘛,肯定在Debug模式中由於DLL程式不能生成視窗等等原因不好除錯,所以我們無法瞭解DLL程式的流程是怎麼樣的。下面簡單介紹一個如何來除錯DLL程式。應該知道寫DLL檔案肯定是給某個應用程式使用的,如果沒有程式用到它那它就沒有存在的意義了。既然知道DLL是給某個應用程式使用之後,那麼如果應用程式開始運行了,在載入DLL後,必然會進入到DLL程式內部去,如果這個時候DLL程式中設了斷點,而斷點又是DLL程式執行必經之處,那麼執行到這個地方,應該會停下來的。那麼除錯是在應用程式中進行呢?還是DLL程式中進行呢?當然是DLL了 因為它就是我們除錯的物件嘛。但必須要匯入一個能夠呼叫它的程式進來,透過應用程式的啟動來達到除錯的目的。那麼如何在DLL中設定應用程式呢?很簡單,開啟VC 6.0 在vc裡面開啟要除錯的DLL程式,點選選單Project(中文版可能叫工程)->setting(設定) 可以看到一個對話方塊,左邊Setting For要選Win32 Debug模式,Setting For下面是一個樹形列表,顯示的所有工程資訊,選擇一個你要除錯的工程(不需要開啟選擇下面的.h,.cpp檔案)右邊點選Debug主要設定三個地方:Catagory:GeneralExecutable for debug session:這個目錄很重要,這裡就是選擇應用程式了(這個應用程式必須要用到這個DLL檔案) 比如說 你的DLL檔案目錄在E盤,而你的應用程式在C:\Test\Test.exe這裡,那麼這個目錄就必須填寫C:\Test\Test.exe。Wroking directory:就是填寫工作的目錄,這裡填的應用程式的工作目錄就是C:\Test ,就是包含應用程式的目錄這樣設定好了以後,就可以開始除錯啦,你在DLL中設定斷點,然後點選除錯,可能會出現詢問的一個視窗,不要選擇那個勾,直接OK就可以了。然後應用程式出現後,你就可以模擬各種情況,來觀察DLL中的行為了。OK!打完收工! 還要加一些內容:按F5除錯的時候怎麼輸入命令列引數?int main (int argc, char *argv[]); 就是這個argv,怎麼才能輸入? Project選單中的“Settings…”,Debug選項卡,Program Arguments裡邊添寫命令列引數。
除錯嘛,肯定在Debug模式中由於DLL程式不能生成視窗等等原因不好除錯,所以我們無法瞭解DLL程式的流程是怎麼樣的。下面簡單介紹一個如何來除錯DLL程式。應該知道寫DLL檔案肯定是給某個應用程式使用的,如果沒有程式用到它那它就沒有存在的意義了。既然知道DLL是給某個應用程式使用之後,那麼如果應用程式開始運行了,在載入DLL後,必然會進入到DLL程式內部去,如果這個時候DLL程式中設了斷點,而斷點又是DLL程式執行必經之處,那麼執行到這個地方,應該會停下來的。那麼除錯是在應用程式中進行呢?還是DLL程式中進行呢?當然是DLL了 因為它就是我們除錯的物件嘛。但必須要匯入一個能夠呼叫它的程式進來,透過應用程式的啟動來達到除錯的目的。那麼如何在DLL中設定應用程式呢?很簡單,開啟VC 6.0 在vc裡面開啟要除錯的DLL程式,點選選單Project(中文版可能叫工程)->setting(設定) 可以看到一個對話方塊,左邊Setting For要選Win32 Debug模式,Setting For下面是一個樹形列表,顯示的所有工程資訊,選擇一個你要除錯的工程(不需要開啟選擇下面的.h,.cpp檔案)右邊點選Debug主要設定三個地方:Catagory:GeneralExecutable for debug session:這個目錄很重要,這裡就是選擇應用程式了(這個應用程式必須要用到這個DLL檔案) 比如說 你的DLL檔案目錄在E盤,而你的應用程式在C:\Test\Test.exe這裡,那麼這個目錄就必須填寫C:\Test\Test.exe。Wroking directory:就是填寫工作的目錄,這裡填的應用程式的工作目錄就是C:\Test ,就是包含應用程式的目錄這樣設定好了以後,就可以開始除錯啦,你在DLL中設定斷點,然後點選除錯,可能會出現詢問的一個視窗,不要選擇那個勾,直接OK就可以了。然後應用程式出現後,你就可以模擬各種情況,來觀察DLL中的行為了。OK!打完收工! 還要加一些內容:按F5除錯的時候怎麼輸入命令列引數?int main (int argc, char *argv[]); 就是這個argv,怎麼才能輸入? Project選單中的“Settings…”,Debug選項卡,Program Arguments裡邊添寫命令列引數。