NX Open in VS Code debuggen

James Lindsey at Ecology of Commanster, CC BY-SA 2.5, via Wikimedia Commons

Inhaltsverzeichnis

Hintergrund

In einem anderen Artikel hatte ich gezeigt, wie NX Open Programme mit dem Quellcodeeditor VS Code (Visual Studio Code) erstellt und kompiliert werden können1.

Ein wichtiges Werkzeug bei der Programmentwicklung und Fehlersuche ist der Debugger. VS Code und die C# Erweiterung zielen in erster Linie auf .NET Core und nicht das .NET Framework, das für die NX Open Entwicklung benötigt wird. Dennoch lassen sich auch .NET Framework Applikationen debuggen2.

Voraussetzungen

Das hier beschrieben Vorgehen ist nur zum Debuggen von kompilierten NX Open Applikationen geeignet. Ein Debuggen von Journalen3 ist unter VS Code nicht möglich.

Das Aufsetzen der Entwicklungsumgebung wird in 1 beschrieben.

Anpassen des NX Open Projektes

Zunächst muss das Projektfile *.csproj angepasst werden. Es ist wichtig, dass als PlatformTarget x64 angegeben ist und als DebugType portable.

...
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformTarget>x64</PlatformTarget><!-- To enable debugging with vs code-->
    <DebugType>portable</DebugType><!-- To enable debugging with vs code-->
 </PropertyGroup>
...

Erstellen einer Startkonfiguration

Zum Erstellen einer Debug-Konfiguration muss die Datei launch.json um einen entsprechenden Eintrag erweitert werden. Falls diese Datei noch nicht existiert, muss sie im Verzeichnis .vscode neu angelegt werden (siehe z.B. 4).

Debugkonfiguration in launch.json.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to process",
            "type": "clr",
            "request": "attach",
            "processId" : "${command:pickProcess}"
        }
    ],
    "compounds": []
}

Debuggen

Zunächst wird NX regulär gestartet. Danach kann mit F5 die Debug-Sitzung in VS Code gestartet und der NX Prozess ausgewählt werden.

Debug-Sitzung starten

Beim Ausführen der NX Open Applikation werden jetzt Break-Points angesprungen.

Breakpoint im Code.

  1. NX Open und VS Code: https://www.ib-boettcher.de/de/post/nxopen-vscode/ ↩︎ ↩︎

  2. Desktop .NET Framework: https://github.com/OmniSharp/omnisharp-vscode/wiki/Desktop-.NET-Framework ↩︎

  3. Der Begriff Journal wird im erweiterten Sinn häufig auch für NX Open-Programme allgemein verwendet. Hier sind aber ausschließlich in VB.NET oder C# realisierte Programme gemeint, die direkt als Quellcode ausgeführt werden. ↩︎

  4. stackoverflow, feO2x: https://stackoverflow.com/a/53271098 ↩︎

Ähnliches