Skip to content

Guide Debugger

GitHub Actions edited this page Jan 25, 2026 · 2 revisions

VelinScript Debugger Tutorial

Der VelinScript Debugger ermΓΆglicht es, VelinScript-Programme direkt in VS Code zu debuggen.

Installation

Der Debugger ist Teil der VelinScript VS Code Extension. Stelle sicher, dass die Extension installiert ist.

Debugger starten

Automatisch (VS Code)

  1. Γ–ffne eine .velin Datei
  2. Setze Breakpoints durch Klick auf den linken Rand
  3. DrΓΌcke F5 oder gehe zu "Run and Debug"
  4. WΓ€hle "Debug VelinScript" aus der Konfiguration

Manuell (Command Line)

velin-debugger start --port 4711

Debug-Konfiguration

Erstelle eine .vscode/launch.json Datei:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "velin",
            "request": "launch",
            "name": "Debug VelinScript",
            "program": "${workspaceFolder}/main.velin",
            "stopOnEntry": false,
            "args": []
        },
        {
            "type": "velin",
            "request": "attach",
            "name": "Attach to VelinScript",
            "port": 4711,
            "host": "localhost"
        }
    ]
}

Breakpoints

Breakpoints setzen

  • Klicke auf den linken Rand neben einer Zeilennummer
  • Oder verwende F9 auf der aktuellen Zeile
  • Breakpoints werden als rote Punkte angezeigt

Conditional Breakpoints

Rechtsklick auf einen Breakpoint β†’ "Edit Breakpoint" β†’ Bedingung eingeben:

x > 10

Logpoints

Rechtsklick auf einen Breakpoint β†’ "Add Logpoint" β†’ Log-Nachricht eingeben:

Variable x = {x}

Debugging-Features

Step Over (F10)

FΓΌhrt die aktuelle Zeile aus und pausiert bei der nΓ€chsten Zeile.

Step Into (F11)

Tritt in Funktionsaufrufe ein.

Step Out (Shift+F11)

VerlΓ€sst die aktuelle Funktion und pausiert bei der aufrufenden Funktion.

Continue (F5)

Setzt die AusfΓΌhrung fort bis zum nΓ€chsten Breakpoint.

Restart (Ctrl+Shift+F5)

Startet das Debugging neu.

Stop (Shift+F5)

Beendet das Debugging.

Variablen inspizieren

Variables Panel

Im "Variables" Panel siehst du alle Variablen im aktuellen Scope:

  • Lokale Variablen
  • Funktionsparameter
  • Globale Variablen

Watch Expressions

FΓΌge AusdrΓΌcke zum "Watch" Panel hinzu, um sie wΓ€hrend des Debuggings zu ΓΌberwachen:

x + y
user.name
list.length()

Hover

Bewege die Maus ΓΌber eine Variable, um ihren aktuellen Wert zu sehen.

Call Stack

Das "Call Stack" Panel zeigt die Aufrufkette:

main() - main.velin:10
  createUser() - main.velin:25
    validateEmail() - validation.velin:5

Debug Console

Die Debug Console ermΓΆglicht es, AusdrΓΌcke wΓ€hrend des Debuggings zu evaluieren:

> x
42
> x + 10
52
> getUserName()
"John"

Beispiel

fn calculateTotal(items: List<Item>): number {
    let mut total = 0.0;  // Breakpoint hier
    
    for (item in items) {
        total = total + item.price;  // Breakpoint hier
    }
    
    return total;  // Breakpoint hier
}

fn main(): void {
    let items = List<Item>([
        Item { name: "Apple", price: 1.5 },
        Item { name: "Banana", price: 2.0 }
    ]);
    
    let total = calculateTotal(items);  // Breakpoint hier
    // Inspect: total should be 3.5
}

Tipps

  1. Verwende Conditional Breakpoints fΓΌr wiederholte Schleifen
  2. Nutze Logpoints statt println fΓΌr temporΓ€res Logging
  3. Watch Expressions fΓΌr komplexe Berechnungen
  4. Call Stack um den AusfΓΌhrungsfluss zu verstehen

Troubleshooting

Debugger startet nicht

  • PrΓΌfe, ob velin-debugger im PATH ist
  • PrΓΌfe die Port-Konfiguration (Standard: 4711)
  • PrΓΌfe die VS Code Extension Logs

Breakpoints werden nicht getroffen

  • Stelle sicher, dass der Code kompiliert wurde
  • PrΓΌfe, ob Debug-Informationen generiert wurden
  • Stelle sicher, dass der Code tatsΓ€chlich ausgefΓΌhrt wird

Variablen werden nicht angezeigt

  • PrΓΌfe, ob du an einem Breakpoint pausiert bist
  • Stelle sicher, dass die Variablen im aktuellen Scope sind
  • PrΓΌfe, ob die Variablen initialisiert wurden

← ZurΓΌck zur Übersicht

Clone this wiki locally