/JMC (Nur mein Codedebugging)

Gibt die Compilerunterstützung für das systemeigene Just My Code-Debugging im Visual Studio-Debugger an. Diese Option unterstützt die Benutzereinstellungen, mit denen Visual Studio System-, Framework-, Bibliotheks- und andere Nichtbenutzeraufrufe durchlaufen und diese Aufrufe im Aufrufstapelfenster reduzieren kann. Die /JMC Compileroption ist ab Visual Studio 2017, Version 15.8, verfügbar.

Syntax

/JMC[-]

Hinweise

Die Visual Studio Just My Code-Einstellungen geben an, ob der Visual Studio-Debugger Schritte über System-, Framework-, Bibliotheks- und andere Nichtbenutzeraufrufe ausführt. Die /JMC Compileroption ermöglicht die Unterstützung für das Debuggen von "Just My Code" in Ihrem systemeigenen C++-Code. Wenn /JMC diese Option aktiviert ist, fügt der Compiler Aufrufe einer Hilfsfunktion __CheckForDebuggerJustMyCodein das Funktionsprolog ein. Die Hilfsfunktion stellt Hooks bereit, die Visual Studio-Debugger nur "Mein Code"-Schritt-Vorgänge unterstützen. Um "Just My Code" im Visual Studio-Debugger zu aktivieren, wählen Sie auf der Menüleiste "Extras" die Option "Extras>" aus, und legen Sie dann die Option unter "Allgemein>>" "Nur meinen Code aktivieren" fest.

Die /JMC Option erfordert, dass Ihr Code mit der C-Runtime-Bibliothek (C Runtime Library, CRT) verknüpft ist, die die __CheckForDebuggerJustMyCode Hilfsfunktion bereitstellt. Wenn Ihr Projekt nicht mit dem CRT verknüpft ist, wird möglicherweise ein Linkerfehler LNK2019 angezeigt: nicht aufgelöstes externes Symbol __CheckForDebuggerJustMyCode. Um diesen Fehler zu beheben, verknüpfen Sie entweder mit dem CRT, oder deaktivieren Sie die /JMC Option.

Wenn die /JMC Option aktiviert ist, wird die PDB-Datei mit zusätzlichen Zeilennummerninformationen kommentiert. In Versionen vor Visual Studio 2019, Version 16.8, werden diese Informationen möglicherweise in Codeabdeckungsberichten angezeigt, die in Zeile 15732480 (0xF00F00) oder 16707566 (0xFEEFEE) auftreten. Diese fiktiven Zeilennummern werden als Markierungen verwendet, um Benutzercode von Nicht-Benutzercode zu delineieren. Um Nichtbenutzercode in Codeabdeckungsberichte ohne diese unerwarteten Zeilennummern einzuschließen, erstellen Sie Ihren Code mit der /JMC- Option.

Standardmäßig ist die /JMC Compileroption deaktiviert. Ab Visual Studio 2017, Version 15.8, ist diese Option jedoch in den meisten Visual Studio-Projektvorlagen aktiviert. Um diese Option explizit zu deaktivieren, verwenden Sie die /JMC- Option in der Befehlszeile. Öffnen Sie in Visual Studio das Dialogfeld "Eigenschaftenseiten des Projekts", und ändern Sie die Eigenschaft "Nur Meinen Codedebugging unterstützen" auf der Eigenschaftenseite "Konfigurationseigenschaften>C/C++>Allgemein" in "Nein".

Weitere Informationen finden Sie unter C++ Just My Code in Specify whether 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.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Navigieren Sie zur Eigenschaftenseite Konfigurationseigenschaften>C/C++>Allgemein.

  3. Ändern Sie die Support Just My Code Debugging-Eigenschaft .

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

MSVC-Compileroptionen
MSVC-Compiler-Befehlszeilensyntax