天天看點

DLL 找不到指定的程式 過程分析

場景說明

    将斷點定位在上面的HMODULE instance = ::LoadLibrary(filename.c_str());函數,當加載test.dll的時候,發現句柄為空,然後通過添加如下代碼:DWORD dwError = GetLastError();

在該函數的背後,收集到加載失敗的錯誤碼:〖127〗-找不到指定的程式。點選VS菜單,然後選擇工具,點選錯誤查找,輸入127。

解決分析:

1)  一般的情況是程式采用了動态加載的方式來運作,在加載DLL的過程,發現程式需要調用的函數在DLL中無法找到,進而引發錯誤。

2)   從這裡可以看出是某一個方法在DLL中被修改,但是在調用的時候,通過頭檔案記錄的又不是這麼回事。

    本文轉自fengyuzaitu 51CTO部落格,原文連結:http://blog.51cto.com/fengyuzaitu/1949483,如需轉載請自行聯系原作者