ToolBeta

Runtime Inspector

Live-Inspection von Variablen, State und Memory während der Programmausführung.

Starten

# Programm mit Inspector starten
velin run main.velin --inspect

# Mit Web-UI auf Port 9229
velin run main.velin --inspect --port 9229

# Pausieren beim Start
velin run main.velin --inspect-brk

Features

Variable Watch

Live-Überwachung von Variablenwerten

State Snapshots

Zustand zu beliebigem Zeitpunkt speichern

Memory View

Heap-Analyse und Allocation Tracking

Time Travel

Zurück zu vorherigen Zuständen springen

Network Monitor

HTTP-Requests und Responses inspizieren

Expression Eval

Code im laufenden Kontext auswerten

Code-Annotations

use inspect

fn processData(items: List<Item>) {
    // Variable zur Laufzeit beobachten
    @watch
    let total = 0;
    
    for item in items {
        // Bedingter Breakpoint
        @breakpoint(item.price > 1000)
        total += item.price;
        
        // Snapshot erstellen
        @snapshot("after_item_" + item.id)
    }
    
    // Assertion zur Laufzeit
    @assert(total > 0, "Total sollte > 0 sein")
    
    return total;
}

CLI-Befehle

# Verbindung zum laufenden Prozess
velin-inspect connect --port 9229

# Alle Variablen anzeigen
> vars

# Spezifische Variable inspizieren
> inspect myVariable

# Expression auswerten
> eval users.filter(u => u.active).length

# Snapshot erstellen
> snapshot "before_crash"

# Memory-Dump
> heap-dump > memory.heapsnapshot

VS Code Integration

Die VS Code Extension bietet eine grafische Oberfläche für den Runtime Inspector:

  • Watch-Panel für Variablen
  • Memory-Graph in der Sidebar
  • Inline-Werte direkt im Editor
  • Call Stack Navigation

Konfiguration

velin.tomltoml
[tools.inspector]
# Standard-Port
port = 9229

# Automatisch pausieren bei Exceptions
break_on_exception = true

# Memory-Tracking aktivieren
track_allocations = true

# Maximale Snapshot-Anzahl
max_snapshots = 50