Wenn du schon einmal zugesehen hast, wie ein Agent versucht, einen Fehler zu beheben, dann hast du gesehen, wie er rät. Er liest den Code, stellt eine Theorie auf, nimmt eine Änderung vor und hofft. Manchmal hat er recht. Sehr oft bekommst du eine Lösung, die selbstbewusst aussieht und leise den eigentlichen Bug versteckt.
Debug Mode haben wir genau dafür entwickelt. Anstatt nur über den Code nachzudenken, sammelt der Agent Beweise darüber, was der Code tut, wenn er ausgeführt wird.
So funktioniert der Ablauf
- Der Agent stellt mehrere Hypothesen auf und beginnt mit der vielversprechendsten.
- Dann wird Logging hinzugefügt, um eine Hypothese zu testen (ohne die Implementierung zu berühren).
- Ein kleiner Debug-Server sammelt die Laufzeitausgabe in
.cursor/debug.log, während dein Programm läuft. - Du reproduzierst den Bug, und der Agent kann jetzt die Logs lesen und verstehen, was passiert ist, anstatt raten zu müssen.
- Cursor findet die Ursache in den Logs, behebt den Fehler und entfernt das hinzugefügte Logging.
Hier siehst du es an einem echten Bug, beschleunigt auf etwa eine Minute:
Wie das Team es nutzt
Einige interessante Dinge, die wir intern mit dem Debug Mode gelöst haben:
- Eine Race-Condition, die nur bei 1 von 20 Durchläufen auftrat. Sie beschädigte Git-Metadaten in unseren Best-of-N-Läufen. Debug Mode hat sie in unter einer Stunde eingegrenzt.
- Ein Memory-Leak, in einem Durchlauf aufgespürt. Es lag an einer falschen Verwendung unseres Frontend-Frameworks. Die Lösung war eine einzige Zeile.
- Ein nativer Absturz tief in C++. Ein Electron-Absturz, den Leute normalerweise umgehen würden. Die Logs machten ihn auffindbar.
- Ein SSR-Flackern, das bereits aufgegeben worden war. Ein Rendering-Bug, den niemand anfassen wollte, wurde behoben, sobald der Agent sehen konnte, was die Seite zur Laufzeit tat.
Probiere es mit Shift+Tab aus (es ist auch in der CLI über /debug verfügbar).
Ich bin sicher, dass Leute es auf Weisen nutzen, die ich mir nicht vorgestellt habe, also lass es mich wissen!





