簡體   English   中英

如何使用 Visual Studio 調試 dll?

[英]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:

  1. 在您的LoadLibrary調用之后放置一個斷點。

  2. Go 到菜單欄中的Debug->Windows->Modules以調出 Modules window。

  3. 在列表中搜索您的 dll 文件。 符號狀態列中,它應該顯示“無法找到或打開 PDB 文件”。

  4. 右鍵單擊 dll 並從上下文菜單中選擇加載符號

  5. 將其指向正確的 pdb 文件。

  6. 符號狀態現在應更改為“已加載符號”。

您現在應該能夠從 dll 進入函數並放置斷點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM