如何在加載任何鏈接的DLL之前停止程序?如何在程序執行開始時設置斷點
我試圖設置LoadLibraryExW
功能在Break At Function
調試選項,它會停止運行的功能,但在此之前,我已經在Visual Studio中的輸出窗口如下:
'test.exe': Loaded 'C:\Windows\System32\ntdll.dll', Symbols loaded (source information stripped). 'test.exe': Loaded 'C:\Windows\System32\kernel32.dll', Symbols loaded (source information stripped). 'test.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Symbols loaded (source information stripped). 'test.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Symbols loaded (source information stripped). 'test.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Symbols loaded (source information stripped). ---- plus about 30 DLLs ---
所以,我怎麼能停止在加載ntdll.dll
之前在調試器中編程?好吧,不要在加載之前,而是在執行任何DllMain
函數之前以及初始化任何靜態對象之前。
我已經試過這個,並且Process Explorer顯示我已經在這個過程中分配了大約30個GDI對象。但在這一刻,這是我能得到的最好的。 – 2011-04-08 08:04:01
您可以使用Windows Debugger Kit中的GFlags工具自動爲您自動編輯註冊表。可以在http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx 的Windows調試工具中找到它。它還包含許多其他有用的調試工具,包括WinDbg,免費從Microsoft獲得。 – StarPilot 2012-11-28 21:33:54