Actualmente llamamos MiniDumpWriteDump
con los indicadores MiniDumpNormal | MiniDumpWithIndirectlyReferencedMemory
. Eso funciona bien para compilaciones internas en la configuración de depuración, pero no proporciona tanta información como necesitamos en la configuración de la versión.¿Qué configuraciones debo usar con Minidumps?
En Release, los datos del minivolcado contienen suficiente información de la pila para que el depurador averigüe en qué parte del código se produjo la falla, pero no otros datos. No me refiero simplemente a que faltan variables locales debido a que están optimizadas, como era de esperar en una compilación de versión. Es decir, no hay nada útil excepto la pila de llamadas y la línea de código actual. Sin registros, sin locales, sin globales, sin objetos apuntados por los lugareños - nada. Ni siquiera tenemos 'esto' que nos permita ver el objeto actual. Ese fue el punto de usar MiniDumpWithIndirectlyReferencedMemory
- debería haber incluido la memoria a la que hacen referencia los locales y las variables de la pila, pero parece que no.
¿Qué banderas deberíamos usar en su lugar? No queremos usar MiniDumpWithFullMemory
y comenzar a generar volcados de 600MB +, pero con gusto expandiríamos los volcados algo más allá de los 90KB que tenemos actualmente si eso significara obtener datos más útiles. Tal vez deberíamos estar usando MiniDumpWithDataSegments
(globales) o ...?
¿Qué tipo de excepción se produjo al bloquear su programa? – HelloWorld