DLL的除錯 (轉)
假設:
要hook.dll hook.h hook.lib
1。建立一個新工程Test,將hook整個工程目錄複製到Test目錄下
2。在Test工程中需要用到hook.dll的源中(或stdafx.h中)加入
#include ".hookhook.h"
這樣在該原始檔中使用"::"就可以到hook.h中所有的匯出、
變數以及類
3。在Test的工程設定->Link->/library modules中加入
./hook/de/hook.lib
4。編譯連線好Test之後,發現未找到hook.dll. 這需要設定path.
可以在工程設定->Debug->Working directory中加入
e:Testhookdebug
也可以在autoexe.bat中設定路徑
5。透過工程->Insert Project into Workspace將hook.dsp工程加入
Test專案中。
6。設定hook工程為活動工程,在工程>Debug>Executable for
Debug session中加入:
e:testdebugtest.exe
7。現在設定斷點,按F5可以正常除錯了
注意:當除錯的DLL被對映到其他的應用(非TEST)程式空間並執行時,在該DLL中設定的斷點無效,當然可以透過MessageBox來檢視變數,若該DLL是MFC擴充套件DLL,則還可以用TRACE或afxDump來檢視變數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Visual Studio 來除錯 dll 檔案除錯
- _findnext()除錯中斷,發生訪問錯誤,錯誤定位到ntdll.dll除錯
- FioriLaunchpadTile點選後跳轉的除錯技巧除錯
- win10怎麼刪除dll檔案_win10dll檔案刪除的方法Win10
- dll檔案刪除不了
- 除錯Go語言的核心轉儲(Core Dumps)除錯Go
- IsDebuggerPresent的反除錯與反反除錯除錯
- 除錯篇——除錯物件與除錯事件除錯物件事件
- Fiori Launchpad Tile點選後跳轉的除錯技巧除錯
- 10.3 除錯事件轉存程式記憶體除錯事件記憶體
- IDEA 報錯Failed to load JVM DLLIdeaAIJVM
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯
- win10怎樣強制刪除dll檔案 win10系統強制刪除dll檔案的步驟Win10
- [轉載]VS2017除錯閃退之Chrome除錯Chrome
- ABAP巨集的除錯除錯
- Flutter Tools的除錯Flutter除錯
- chrome的除錯技巧Chrome除錯
- nodejs的除錯debugNodeJS除錯
- 【前端除錯】- 斷點除錯的正確開啟方式前端除錯斷點
- 【Intellij IDEA】開啟IDEA時錯誤:Failed to load JVM DLL ...\jvm.dllIntelliJIdeaAIJVM
- Python 程式碼除錯—使用 pdb 除錯Python除錯
- 【轉載】Linux核心除錯之使用模組引數Linux除錯
- 北京Profinet轉Modbus閘道器配置除錯詳解除錯
- nginx 錯誤除錯Nginx除錯
- 啟動 idea 彈出“Failed to load JVM DLL\bin\server\jvm.dll”錯誤的解決方法IdeaAIJVMServer
- Chrome DevTools 的 Sources 除錯Chromedev除錯
- Pycharm的斷點除錯PyCharm斷點除錯
- Flutter的命令列除錯Flutter命令列除錯
- Linux下的除錯工具Linux除錯
- win10強制刪除dll檔案的解決方法Win10
- 前端除錯前端除錯
- python 除錯Python除錯
- LLDB除錯LLDB除錯
- postman除錯Postman除錯
- Linux除錯Linux除錯
- 除錯toybox除錯
- gdb除錯除錯
- udev如何除錯,如何看udev的輸出日誌?udev除錯的坑?dev除錯
- python五種除錯或排錯的方法Python除錯