場景說明
将斷點定位在上面的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,如需轉載請自行聯系原作者