![](/img/trans.png)
[英]How can I debug a C++ DLL function, called from VBA, using Visual Studio
[英]How to debug a dll using Visual Studio?
如何使用 Visual Studio 調試 dll?
我有 DLL 源、pdb 等。
我嘗試了這些選項:
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
void DebugBreak();
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
//...
}
break;
case DLL_PROCESS_DETACH:
{
//...
}
break;
}
);
return TRUE;
}
它啟動 exe 但不注入 DLL,默認情況下,此 exe 不加載 DLL,我手動注入它。
Visual Studio 可以附加 DLL 嗎? 並能夠在其上放置斷點、查看崩潰時的調用堆棧等?
解決此問題的最快方法是通過調試器中的模塊 Window:
在您的LoadLibrary
調用之后放置一個斷點。
Go 到菜單欄中的Debug->Windows->Modules以調出 Modules window。
在列表中搜索您的 dll 文件。 在符號狀態列中,它應該顯示“無法找到或打開 PDB 文件”。
右鍵單擊 dll 並從上下文菜單中選擇加載符號。
將其指向正確的 pdb 文件。
符號狀態現在應更改為“已加載符號”。
您現在應該能夠從 dll 進入函數並放置斷點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.