/JMC
Depuración Solo mi código
Especifica la compatibilidad del compilador con la depuración nativa Solo mi código en el depurador de Visual Studio. Esta opción admite la configuración de usuario que permite a Visual Studio pasar por el sistema, el marco, la biblioteca y otras llamadas que no son de usuario, y contraer esas llamadas en la ventana de pila de llamadas. La opción del compilador /JMC
está disponible a partir de la versión 15.8 de Visual Studio 2017.
Sintaxis
/JMC
[-
]
Comentarios
La configuración de Visual Studio Solo mi código especifica si los pasos del depurador de Visual Studio a través del sistema, el marco, la biblioteca y otras llamadas que no son de usuario. La opción del compilador /JMC
habilita la compatibilidad con la depuración Solo mi código en el código nativo de C++. Cuando /JMC
está habilitado, el compilador inserta llamadas a una función auxiliar, __CheckForDebuggerJustMyCode
, en el prólogo de la función. La función auxiliar proporciona enlaces que admiten las operaciones de paso Solo mi código del depurador de Visual Studio. Para habilitar Solo mi código en el depurador de Visual Studio, en la barra de menús, elija Herramientas>Opciones y, a continuación, establezca la opción en Depuración>General>Habilitar Solo mi código.
La opción /JMC
requiere que el código se vincule a la biblioteca en tiempo de ejecución de C (CRT), que proporciona la función auxiliar __CheckForDebuggerJustMyCode
. Si el proyecto no se vincula a CRT, es posible que vea el error del enlazador LNK2019: unresolved external symbol __CheckForDebuggerJustMyCode. Para resolver este error, vincule a CRT o deshabilite la opción /JMC
.
Cuando la opción /JMC
está habilitada, el archivo PDB se anota con información adicional del número de línea. En versiones anteriores a La versión 16.8 de Visual Studio 2019, esta información puede aparecer en los informes de cobertura de código que se producen en la línea 15732480 (0xF00F00) o 16707566 (0xFEEFEE). Estos números de línea ficticios se usan como marcadores para delinear el código de usuario del código que no es de usuario. Para incluir código que no sea de usuario en los informes de cobertura de código sin estos números de línea inesperados, compile el código con la opción /JMC-
.
De forma predeterminada, la opción /JMC
del compilador está desactivada. Sin embargo, a partir de la versión 15.8 de Visual Studio 2017, esta opción está habilitada en la mayoría de las plantillas de proyecto de Visual Studio. Para deshabilitar explícitamente esta opción, use la opción /JMC-
en la línea de comandos. En Visual Studio, abra el cuadro de diálogo Páginas de propiedades del proyecto y cambie la propiedad Support Just My Code Debugging en la página Propiedades de configuración>C/C++>General a No.
Para obtener más información, vea Solo mi código de C++ en Especificar si se va a depurar solo el código de usuario con Solo mi código en Visual Studio y la entrada de blog del equipo de Visual C++ Announcing C++ Just My Code Stepping in Visual Studio.
Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio
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.
Seleccione la página de propiedades Propiedades de configuración>C/C++>General.
Modifique la propiedad Support Just My Code Debugging.
Para establecer esta opción del compilador mediante programación
- Vea AdditionalOptions.
Consulte también
Opciones del compilador de MSVC
Sintaxis de línea de comandos del compilador de MSVC