/JMC (Débogage de mon code uniquement)

Spécifie la prise en charge du compilateur pour le débogage natif de Just My Code dans le débogueur Visual Studio. Cette option prend en charge les paramètres utilisateur qui permettent à Visual Studio d’effectuer un pas à pas sur le système, l’infrastructure, la bibliothèque et d’autres appels non-utilisateur, et de réduire ces appels dans la fenêtre de pile des appels. L’option /JMC du compilateur est disponible à partir de Visual Studio 2017 version 15.8.

Syntaxe

/JMC[-]

Notes

Les paramètres Visual Studio Just My Code spécifient si le débogueur Visual Studio effectue des étapes sur le système, l’infrastructure, la bibliothèque et d’autres appels non-utilisateur. L’option /JMC du compilateur active la prise en charge du débogage Just My Code dans votre code C++ natif. Lorsqu’il /JMC est activé, le compilateur insère des appels à une fonction d’assistance, __CheckForDebuggerJustMyCodedans le prologue de fonction. La fonction d’assistance fournit des hooks qui prennent en charge les opérations de débogueur Visual Studio uniquement à l’étape Mon code. Pour activer Just My Code dans le débogueur Visual Studio, dans la barre de menus, choisissez Options d’outils>, puis définissez l’option dans Débogage>Général>Activer Uniquement mon code.

L’option /JMC nécessite que votre code soit lié à la bibliothèque runtime C (CRT), qui fournit la __CheckForDebuggerJustMyCode fonction d’assistance. Si votre projet n’est pas lié au CRT, vous pouvez voir l’erreur de l’éditeur de liens LNK2019 : symbole externe non résolu __CheckForDebuggerJustMyCode. Pour résoudre cette erreur, liez-vous au CRT ou désactivez l’option /JMC .

Lorsque l’option /JMC est activée, le fichier PDB est annoté avec des informations de numéro de ligne supplémentaires. Dans les versions antérieures à Visual Studio 2019 version 16.8, ces informations peuvent apparaître dans les rapports de couverture du code comme se produisant à la ligne 15732480 (0xF00F00) ou 16707566 (0xFEEFEE). Ces numéros de ligne fictifs sont utilisés comme marqueurs pour délimiter le code utilisateur à partir de code non utilisateur. Pour inclure du code non utilisateur dans les rapports de couverture de code sans ces numéros de ligne inattendus, générez votre code avec l’option /JMC- .

Par défaut, l’option du /JMC compilateur est désactivée. Toutefois, à partir de Visual Studio 2017 version 15.8, cette option est activée dans la plupart des modèles de projet Visual Studio. Pour désactiver explicitement cette option, utilisez l’option /JMC- sur la ligne de commande. Dans Visual Studio, ouvrez la boîte de dialogue Pages de propriétés du projet et remplacez la propriété Support Just My Code Debugging dans la page de>propriétés de configuration C/C++>General sur Non.

Pour plus d’informations, consultez C++ Just My Code in Specify to debug only user code using Just My Code in Visual Studio, and the Visual C++ Team Blog post Announcing C++ Just My Code Stepping in Visual Studio.

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Général.

  3. Modifiez la propriété Support Just My Code Debugging .

Pour définir cette option du compilateur par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC