Wenn Sie ein Problem mit CodeCharter haben, helfen uns die richtigen Logs, die Diagnose abzukürzen.
CLI-Verbose-Log
Der wichtigste Datenpunkt. Führen Sie den Problemfall mit --verbose aus
(analyze erwartet den Pfad zu einer .sln-, .slnx- oder .csproj-Datei):
codecharter analyze MySolution.sln --verbose 2> codecharter.log
In codecharter.log steht:
- Welches Regelverzeichnis verwendet wurde und wie viele Regeln daraus geladen wurden
- Wie viele Typen und Methoden analysiert wurden
- Stack-Traces, wenn die Analyse fehlschlägt
Wenn die Analyse hängt oder ungewöhnlich langsam ist, ergänzen Sie zusätzlich
--progress. Das gibt einen Live-Fortschritt pro Projekt und pro Regel auf
stderr aus und lässt sich mit --verbose kombinieren.
Hängen Sie die Datei an, wenn Sie uns schreiben.
VS-Code-Extension-Log
View → Output, im Dropdown "CodeCharter" auswählen, Inhalt kopieren. Der
Befehl "CodeCharter: Show language server output" in der Befehlspalette öffnet
denselben Kanal direkt.
Der Output-Kanal enthält das Log des Language-Servers. Um das Startverhalten zu reproduzieren, führen Sie einmal "CodeCharter: Restart language server" aus und kopieren dann den Inhalt. Beachten Sie: "CodeCharter: Analyze workspace" startet die CLI in einem VS-Code-Terminal, die Ausgabe erscheint also im Terminal und nicht im Output-Kanal.
Für detaillierte Kommunikationslogs zwischen VS Code und dem Language-Server
setzen Sie in den VS-Code-Einstellungen codecharter.trace.server auf
messages oder verbose, reproduzieren das Problem und kopieren den Inhalt
des Output-Kanals.
CI-Logs
Bei einem CI-Problem:
- GitHub Actions: den Workflow-Run anklicken, "View raw logs" klicken, Inhalt als .txt speichern.
- GitLab: Job-Detail-Seite, "Show complete raw" oben rechts.
- TeamCity: Build-Detail, "Build Log" Tab, "Download".
- Andere: äquivalent.
Bei großen Logs reicht oft ein Ausschnitt um die relevante Stelle plus 20 Zeilen Kontext.
CLI-Version und System-Info
codecharter --version
dotnet --info
uname -a # Linux / macOS
systeminfo # Windows
Schicken Sie das ebenfalls mit. Es hilft uns, plattformspezifische Probleme einzugrenzen.
Solution-Info ohne sensitive Daten
# Zählt Projekte ohne Pfade preiszugeben (Linux / macOS)
find . -name "*.csproj" | wc -l
# Windows (PowerShell)
(Get-ChildItem -Recurse -Filter "*.csproj").Count
Wenn Sie eine konkrete Datei meinen, können Sie eine minimale Repro extrahieren, die kleinste Code-Stelle, die das Problem zeigt:
// minimal-repro.cs
using System;
public class Example
{
public void Demo()
{
// Hier passiert das Problem
}
}
Eine Solution mit einem Projekt mit dieser Datei reicht uns. Wir brauchen Ihre echte Codebasis nicht.
Networking-Logs
Wenn Sie Probleme mit dem CLI-Download haben:
# Ersetzen Sie IHR_KEY_HIER durch Ihren echten Key. Achtung: curl -v schreibt
# alle Request-Header, einschließlich des Authorization-Headers mit Ihrem Key,
# in network.log. Maskieren Sie ihn, bevor Sie die Datei verschicken.
curl -v -H "Authorization: Bearer IHR_KEY_HIER" \
https://codecharter.tools/api/v1/cli/linux-x64/latest \
-o codecharter.tar.gz 2> network.log
-v erzeugt den vollständigen HTTP-Trace. Bevor Sie network.log an uns
schicken: Prüfen Sie, ob dort noch ein API-Key sichtbar ist. Der
Authorization-Header ist im Request-Trace sichtbar. Ersetzen Sie ihn durch
***, bevor Sie die Datei anhängen.
Plattformregel- und Lizenzprobleme
Wenn das Problem Plattformregeln oder Bundles betrifft, hängen Sie Ihre
codecharter.lock.json und die Ausgabe von codecharter verify an. Der Befehl
prüft den lokalen Bundle-Cache gegen das Lockfile und beendet sich mit
Exit-Code 1, wenn er eine Abweichung erkennt.
Wenn die CLI wegen eines Lizenzproblems nicht startet, beendet sie sich
immer mit Exit-Code 6 und gibt eine Meldung License error: ... auf stderr
aus. Schicken Sie diese Meldung mit; sie benennt die Ursache meist direkt.
Portal-seitige Logs
Wenn das Problem im Portal liegt (Login geht nicht, Download bricht ab), können wir auf Anfrage nachschlagen, ob bei uns ein Fehler aufgetreten ist. Schicken Sie uns:
- Die ungefähre Zeit (UTC)
- Die E-Mail-Adresse, mit der Sie eingeloggt waren
- Den Browser-Stack (Chrome 121, Firefox 122, ...)
Was wir NICHT brauchen
- Ihre komplette Codebasis (auch nicht unter NDA, wir wollen sie schlicht nicht).
- Klartext-API-Keys. Wenn ein Log einen Key zeigt, maskieren Sie ihn.
- Klartext-Passwörter. Passwörter werden bei uns nur als Hashes gespeichert. Schicken Sie uns niemals ein Passwort.
Wie Sie das alles verschicken
E-Mail an [email protected] mit Logs als .txt- oder .log-Anhänge. Wenn die Dateien groß sind (mehrere MB), gerne als gzip oder zip.
Wir antworten in der Regel innerhalb von 24 Stunden an Werktagen.