Estoy intentando crear un archivo de volcado para mi aplicación cada vez que se cuelga. Actualmente estoy usando procdump.exe con el indicador -e para hacerlo, así que si tengo una excepción no controlada en mi aplicación, procdump crea un archivo de volcado para mí.Crear un archivo de volcado para una aplicación cada vez que se cuelga
Pensé que había terminado, pero luego descubrí que mi aplicación falla y procdump no crea un archivo de volcado. Después de algunas investigaciones, descubrí que el uso no válido de vector :: front causa un error de tiempo de ejecución. Encendí el indicador _SECURE_SCL_THROWS y después de eso procdump.exe -e atrapó el bloqueo y creó un archivo de volcado.
Ahora a mi pregunta: ¿Ahora es procdump.exe -e siempre creará un archivo de volcado cuando se bloquea mi aplicación? ¿Cómo puedo garantizar que no tengo otros escenarios donde procdump -e no es bueno para mí?
¿Por qué está utilizando 'GetProcAddr' para' MiniDumpWriteDump' cuando puede solo incluya DbgHelp.h desde DebuggingTools SDK ?? –
Porque IAT (Tabla de direcciones de importación) puede estar ya dañado cuando se produce el bloqueo. En tales controladores de bloqueo, ¡lo único que se puede hacer es vincularse con las bibliotecas usted mismo! –
@ ПетърПетров Pero entonces, ¿cómo vas a llamar a 'LoadLibrary'? Si el IAT está dañado, entonces probablemente ya estás jodido. – LHLaurini