[Windows編程] 使用.local 重新導向DLL 載入路徑

來源:互聯網
上載者:User

在調試DLL或COM程式的時候, DLL檔案可能會被其他程式佔用,而無法被替換。 在WinXP,Vista 上, 可以通過建立.local 檔案夾來重新導向DLL 的載入路徑

 

步驟(假設你的EXE為MyApp.exe, 要調試的DLL為 MyModule.dll):

1) 在 MyApp.exe 的目錄下建立一個 MyApp.exe.local

2) 把你希望載入的 MyModule.dll 複製到 MyApp.exe.local 目錄下

3) 運行 MyApp.exe

 

原來的 E:/Test/MyApp.exe 載入的DLL

ModLoad: 00400000 00432000   MyApp.exe
ModLoad: 7c800000 7c8f4000   C:/windows/system32/kernel32.dll
ModLoad: 77c10000 77c68000   C:/windows/system32/msvcrt.dll

ModLoad: 00440000 00c80000   C:/windows/system32/MyModule.dll
ModLoad: 77dd0000 77e6b000   C:/windows/system32/ADVAPI32.dll

 

建立.local 檔案夾之後,E:/Test/MyApp.exe 載入的DLL

ModLoad: 00400000 00432000   MyApp.exe
ModLoad: 7c800000 7c8f4000   C:/windows/system32/kernel32.dll
ModLoad: 77c10000 77c68000   C:/windows/system32/msvcrt.dll

ModLoad: 00440000 00c80000   E:/Test/MyApp.exe.Local/MyModule.dll
ModLoad: 77dd0000 77e6b000   C:/windows/system32/ADVAPI32.dll

 

注意: 要開啟.local這個功能,需要在註冊表設定DevOverrideEnable值,並且重啟機器

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options]" DevOverrideEnable"=dword:00000001 【小竅門】 可以在命令列輸入以下命令來設定註冊表:reg add "HKLM/Software/Microsoft/Windows NT/CurrentVersion/Image File Execution Options" /v DevOverrideEnable /t REG_DWORD /d 1 /f --
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.