¿Cómo puedo detener el programa antes de cargar cualquiera de los archivos DLL vinculados?Cómo establecer el punto de interrupción al principio de la ejecución del programa
He tratado de establecer LoadLibraryExW
función en la opción de depuración Break At Function
y se detiene en esa función, pero antes de que he lo siguiente en ventanas de salida de 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 ---
Entonces, ¿cómo puedo detener la programa en el depurador antes de cargar el ntdll.dll
? Ok, no antes de cargar, pero antes de ejecutar cualquiera de las funciones DllMain
y antes de inicializar cualquiera de los objetos estáticos.
He intentado esto y Process Explorer me muestra que el proceso ya ha asignado alrededor de 30 objetos GDI en este momento. Pero en este momento esto es lo mejor que puedo obtener. –
Puede usar la herramienta GFlags del Kit del depurador de Windows para editar fácilmente el registro automáticamente. Se puede encontrar en las herramientas de depuración para Windows en http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx que también incluye muchas otras herramientas de depuración útiles, incluido WinDbg, de forma gratuita desde microsoft. – StarPilot