Compartir a través de


Cómo: Depurar una versión de lanzamiento

En este artículo se explica qué opciones de compilador y enlazador configurar para permitirle depurar una versión de lanzamiento de una aplicación.

Hay disponible una mejor experiencia a partir de la versión 17.14 de Visual Studio 2022 que permite depurar código optimizado como si se compilara sin optimizar, a la vez que conservaba la velocidad del código optimizado. Para obtener más información, vea depuración dinámica de C++ (versión preliminar).

Cómo depurar una compilación de versión

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Haga clic en el nodo C/C++. Establezca Formato de información de depuración en Compatible con C7 (/Z7) o Base de datos de programa (/Zi).

  3. Expanda Enlazador y haga clic en el nodo General. Establezca Habilitar vinculación incremental en No (/INCREMENTAL:NO).

  4. En Enlazador, seleccione el nodo Depuración. Establezca Generar información de depuración en Sí (/DEBUG).

  5. En el nodo Enlazador, seleccione Optimización. Establezca Referencias en No (/OPT:NOREF) y Habilitar plegado COMDAT en No (/OPT:NOICF).

  6. Ahora puede depurar la aplicación de la compilación de versión. Para encontrar un problema, ejecute paso a paso el código (o use la depuración Just-in-Time) hasta que encuentre dónde se produce el error y, a continuación, determine los parámetros o el código incorrectos.

    Si una aplicación funciona en una compilación de depuración, pero falla en una compilación de lanzamiento, una de las optimizaciones del compilador puede estar exponiendo un defecto en el código fuente. Para aislar el problema, deshabilite las optimizaciones seleccionadas para cada archivo de código fuente hasta que encuentre el archivo y la optimización que están causando el problema. (Para acelerar este proceso, puede dividir los archivos en dos grupos, deshabilitar la optimización en uno de los grupos y, cuando encuentre un problema en un grupo, continuar dividiéndolo hasta que aísle el archivo problemático).

    Use /RTC para intentar exponer estos errores en las compilaciones de depuración.

    Para obtener más información, vea Optimizar el código.

Consulte también

Solucionar problemas de versiones de lanzamiento