Compartir a través de


Cambios y limitaciones admitidos en el código (C++)

Con Visual C++, Editar y continuar controla la mayoría de los tipos de cambios del código. Sin embargo, algunos cambios no se pueden aplicar durante la ejecución de programa. Para aplicar estos cambios, debe detener la ejecución y compilar una versión nueva del código.

Consulte Editar y continuar (Visual C++) para obtener información sobre cómo trabajar con Editar y continuar con C++ en Visual Studio.

En este artículo

Cambios no admitidos

Escenarios no admitidos

Limitaciones de la vinculación

Limitaciones de los encabezados precompilados

Limitaciones de los atributos IDL

Cambios no admitidos

Los cambios siguientes en C/C++ no se pueden aplicar durante una sesión de depuración:

  • La mayoría de los cambios en datos globales o estáticos.

  • Cambios en los ejecutables copiados de otro equipo y no compilados localmente.

  • Cambios en un tipo de datos que afectan al diseño de un objeto, por ejemplo los miembros de datos de una clase.

  • Agregar más de 64 KB de código o datos nuevos.

  • Agregar variables que requieran un constructor en un punto anterior al puntero de instrucción.

  • Cambios que afecten a una sección del código que requiera una inicialización en tiempo de ejecución.

  • Agregar controladores de excepciones, en algunos casos.

  • Cambios en archivos de recursos.

  • Cambios en el código de archivos de solo lectura.

  • Cambios en código sin un archivo PDB correspondiente.

  • Cambios en código que no tiene un archivo de objeto.

Si realiza alguno de estos cambios y, a continuación, intenta aplicarlos, aparecerá un mensaje de error o advertencia en la Ventana de salida.

  • Editar y continuar no vuelve a actualizar las bibliotecas estáticas. Si realiza un cambio en una biblioteca estática, la ejecución continuará con la versión anterior y no se emitirá ninguna advertencia.

Escenarios no admitidos

La opción Editar y continuar de C/C++ no se encuentra disponible en los siguientes escenarios de depuración:

  • Depurar aplicaciones nativas compiladas con /Zo (Enhance Optimized Debugging)

  • Depurar componentes o aplicaciones de la Tienda Windows.

  • Depurar en Windows 98.

  • Depuración en modo mixto (nativa o administrada).

  • Depuración de JavaScript.

  • Depuración de SQL.

  • Depurar un archivo de volcado de memoria.

  • Edición de código tras una excepción no controlada, cuando no se ha seleccionado la opción Desenredar la pila de llamadas de las excepciones no controladas.

  • Depure una aplicación utilizando Adjuntar a en lugar de ejecutar la aplicación desde la opción Iniciar del menú Depurar.

  • Depuración de código optimizado.

  • Depurar una versión anterior del código cuando no ha sido posible generar una nueva versión debido a errores de compilación.

Volver al principioEn este artículo

Limitaciones de la vinculación

Opciones del vinculador que deshabilitan Editar y continuar | Volver a vincular automáticamente las limitaciones

Opciones del vinculador que deshabilitan Editar y continuar

Las siguientes opciones del vinculador deshabilitan Editar y continuar:

  • La definición de /OPT:REF, /OPT:ICF o /INCREMENTAL:NO deshabilita Editar y continuar con la advertencia siguiente:

    LINK : advertencia LNK4075: se omite /EDITANDCONTINUE debido a la especificación /OPT

    especificación

  • La definición de /ORDER, /RELEASE o /FORCE deshabilita Editar y continuar con esta advertencia:

    LINK : advertencia LNK4075: se omite /INCREMENTAL debido a la especificación /option

    especificación

  • La configuración de alguna opción que impida la creación de un archivo de base de datos de programa (.pdb) deshabilita Editar y continuar sin ninguna advertencia específica.

Volver a vincular automáticamente las limitaciones

De forma predeterminada, Editar y continuar vuelve a vincular el programa al final de una sesión de depuración para crear un ejecutable actualizado.

Editar y continuar no puede volver a vincular el programa si realiza la depuración desde una ubicación distinta de la ubicación de compilación original. Un mensaje le indica que debe recompilar el programa manualmente.

Editar y continuar no recompila bibliotecas estáticas. Si realiza cambios en una biblioteca estática mediante Editar y continuar, deberá recompilar la biblioteca manualmente y volver a vincular las aplicaciones utilizando la biblioteca.

Editar y continuar no invoca pasos de compilación personalizada. Si el programa usa pasos de compilación personalizada, conviene recompilarlo manualmente para que se pueda llamar a dichos pasos. En ese caso, puede deshabilitarse la revinculación después de Editar y continuar para asegurarse de que se le pide confirmación antes de recompilar manualmente.

Para deshabilitar la revinculación después de Editar y continuar

  1. En el menú Depurar, elija Opciones y configuración.

  2. En el cuadro de diálogo Opciones, bajo el nodo Depuración, seleccione el nodo Editar y continuar.

  3. Desactive la casilla Volver a vincular cambios de códigos después de depurar.

Volver al principioEn este artículo

Limitaciones de los encabezados precompilados

De forma predeterminada, Editar y continuar carga y procesa los encabezados precompilados en segundo plano con el fin de acelerar el proceso de los cambios en el código. La carga de encabezados precompilados requiere la asignación de memoria física, lo cual puede constituir un problema si la compilación se lleva a cabo en un equipo con memoria RAM limitada. Es posible saber si esto causará problemas mediante la utilización del Administrador de tareas de Windows para determinar la cantidad de memoria física disponible mientras se lleva a cabo la depuración. Si esta cantidad es mayor que el tamaño de los encabezados precompilados, Editar y continuar no debería presentar ningún problema. Si es inferior al tamaño de los encabezados precompilados, puede evitar que Editar y continuar cargue dichos encabezados en segundo plano.

Para deshabilitar la carga en segundo plano de los encabezados precompilados para Editar y continuar

  1. En el menú Depurar, elija Opciones y configuración.

  2. En el cuadro de diálogo Opciones, bajo el nodo Depuración, seleccione el nodo Editar y continuar.

  3. Desactive la casilla Permitir compilación previa.

Volver al principioEn este artículo

Limitaciones de los atributos IDL

Con el modo Editar y continuar no se pueden regenerar los archivos de definición de interfaz (IDL). Por tanto, los cambios realizados en los atributos IDL no se reflejarán durante la depuración. Para ver el resultado de los cambios en los atributos IDL, debe detener la depuración y recompilar la aplicación. Editar y continuar no genera ningún error o advertencia si cambian los atributos IDL. Para obtener más información, vea Atributos IDL.

Volver al principioEn este artículo

Vea también

Otros recursos

Editar y continuar (Visual C++)