Red de conocimiento informático - Problemas con los teléfonos móviles - Versión de lanzamiento del depurador

Versión de lanzamiento del depurador

Cómo "depurar" una versión de lanzamiento de un programa

Obviamente es muy frustrante cuando la depuración tiene éxito pero la versión falla y, a menudo, es difícil comenzar. Si lee el análisis anterior y lo combina con las manifestaciones específicas del error, podrá encontrar el error rápidamente, lo cual es genial. Pero si no lo encuentras en este momento, aquí tienes algunas estrategias para esta situación. 1. Como se mencionó anteriormente, Debug y Release son solo un conjunto de opciones de compilación. De hecho, no existe una definición para distinguirlas. Podemos modificar las opciones de compilación de la versión Release para limitar el alcance del error. Como se mencionó anteriormente, puede cambiar las opciones de lanzamiento una por una a las opciones de depuración correspondientes, como /MD a /MDd, /O1 a /Od, o optimización del tiempo de ejecución a optimización del tamaño del programa. Tenga en cuenta que solo cambie una opción a la vez, vea en qué opción desaparece el error cuando la cambie y luego busque errores relacionados con esa opción. Estas opciones se pueden seleccionar directamente desde la lista en ProjectSettings... y normalmente no es necesario modificarlas manualmente. Dado que el análisis anterior es bastante completo, este método es el más eficaz. 2. Durante el proceso de programación, siempre debe prestar atención a probar la versión de lanzamiento para evitar demasiado código y poco tiempo al final. 3. Utilice el nivel de advertencia /W4 en la versión de depuración para poder obtener la máxima información de error del compilador. Por ejemplo, si (i =0) provocará una advertencia /W4. No ignore estas advertencias, generalmente son causadas por errores en su programa. Pero a veces /W4 traerá mucha información redundante, como advertencias de parámetros de funciones no utilizadas, y muchas funciones de procesamiento de mensajes ignorarán ciertos parámetros. Podemos usar:

#progma advertencia(disable: 4702) //Desactivar//... #progma advertencia(default: 4702) //Volver a permitir para suprimir temporalmente una advertencia, o usar #progma advertencia(push, 3) //Establezca el nivel de advertencia en /W3 //... #progma advertencia(pop) //Restablecer en /W4 Para cambiar temporalmente el nivel de advertencia, a veces solo puede usarlo en la parte del código que crees que es sospechoso /W4. 4. También puede depurar su versión de lanzamiento como Debug, simplemente agregue símbolos de depuración. En Proyecto/Configuración..., seleccione Configuración para la versión Win32, seleccione la pestaña C/C, seleccione General para Categoría y seleccione Base de datos del programa para Información de depuración. Luego agregue /OPT: REF (no pierda las comillas) al final de las opciones del Proyecto de etiqueta de enlace. Esto permite que el depurador utilice los símbolos de depuración en el archivo pdb. Pero al depurar, encontrará que los puntos de interrupción son difíciles de establecer y las variables son difíciles de encontrar. ¿Todos estos han sido optimizados? Afortunadamente, la ventana Pila de llamadas todavía funciona normalmente e incluso si el puntero del marco está optimizado, aún se puede encontrar la información de la pila (especialmente la dirección del remitente). Esto es útil para localizar errores.