VScode: Debugen funltioniert nicht.

Alois

Newbie
Registriert
Jan. 2025
Beiträge
2
Hallo alle,
ich probiere im Moment zum ersten Mal das Debugen und es klappt nicht. Als Code zum Testen habe ich eine einfache Temperaturmessung an einem ESP32 genommen, welche denn auf diesem Teil auch problemlos läuft.
Wenn ich debugen starte, erscheint dann diese Fehlermeldung.
Ich habe die Extention PlatformIO installiert .... kann es sein, dass die das Debugen blockiert.
Screenshot 2025-01-16 072842.png
 
Wenn ich richtig informiert bin, liegt das am jeweiligen ESP32 Modul bzw. wie von diesem die Debuginformationen über die USB-Schnittstelle bereitgestellt werden. Bei den meisten Boards ist das nicht der Fall.
 
Und man muß sich immer vor Augen führen, daß VS Code "nur" ein Editor und keine klassische IDE ist. Es hat mit Extensions etwas als IDE fungieren, hängt aber von der Qualität derer ab.
 
  • Gefällt mir
Reaktionen: BeBur und aragorn92
Danke für die Antwort!
In anderen Worten, du denkst, das das Debugen mit der PlatformIO-Extention nicht möglich ist?
 
Ich kenne jetzt diese Extension nicht genau. Jedoch ist die Qualität der Extensions sehr unterschiedlich, und teilweise nicht gut. Gerade (gutes) Debugging ist nach meiner Erfahrung etwas anspruchsvoller, als nur von Codezeile zu Codezeile zu hüpfen. Da will man auch einen Stacktrace sehen, Memorydump, Aufruf von Bibliotheken usw., das ist schon nicht ohne, und eine richtige IDE kann sowas auch schon direkt. Wie gesagt, VS Code ist ein Editor wie Edit, Notepad (Windows), Notepad++, was einige Fähigkeiten mehr über Erweiterungen wie Extensions hat. Die Extensions werden quasi angeflanscht, damit , z.B. direkte Anbindung Kommandozeile, wie beispielsweise WLS, git-Verwaltung usw., möglich ist. Aber es ist eben angeflanscht, und eben nicht nativ implementiert. Und für richtiges Debugging braucht es schon ein paar wichtige Fähigkeiten wie oben genannt.

Beruflich verwende ich hier VS Code auch für einige Sachen, bin aber bisher "mäßig" davon begeistert, weil ich eben auch von klassischen IDEs wie VS, JBuilder, IntelliJ oder Eclipse komme. Die Extensions kommen vielfach eben auch nur von einfachen Entwicklern und nicht von Firmen selbst, und entsprechend ist eben manchmal die Qualität der Extension.

Hast Du denn noch Alternativen, speziell für Dein Problem und Deine Umgebung, im Blick?

Update: Ich sehe hier was mit Visual Studio:
https://www.visualmicro.com/page/ESP32-Debugging.aspx
https://www.reddit.com/r/esp32/comments/1aoojgr/what_is_an_easy_way_to_get_into_debugging_on/?tl=de
luisr320 • vor 1 Jahr

Ich programmiere meinen ESP32 mit Microsoft Visual Studio und verwende dann Visual Micro, ein Visual Studio-Plug-in (nicht Visual Code), das die Möglichkeit bietet, den Code zur Laufzeit zu debuggen.
 
Zuletzt bearbeitet:
Visual Studio Community ist kostenlos, es gibt daher keinen guten Grund VS Code als IDE zu missbrauchen. Jedenfalls im Kontext von professionell arbeiten. Mal ein kleines Projekt für sich selbst und wenn alles funktioniert spricht da natürlich nichts gegen.

Ich nutze VS und VS Code parallel. VS zum entwickeln und VS Code für kleinere Dinge, z.B. Skripte anpassen oder mal kurz was nachgucken. Ich habe auch die meisten Dateiendungen mit VSCode verknüpft (.csv, .cpp, .md, ...).
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: aragorn92 und nutrix
Alois schrieb:
In anderen Worten, du denkst, das das Debugen mit der PlatformIO-Extention nicht möglich ist?
Das ist definitiv möglich, die Frage ist nur wie willst du denn debuggen?

Willst du den Mikrocontroller per JTAG Schnittstelle auslesen und hast dazu einen extra Debugger (2. Mikrocontroller) dran?
Willst du deinen Code mit Debuggingoptionen komplilieren, so dass z.B. wenn du 2 Kerne hast der eine Kern des Mikrocontrollers den anderen anhält, ausliest und die Register überträgt?

Einfach Werte selbst per Serieller Schnittstelle rausschreiben?

Einen Mikrocontroller zu debuggen und zu sehen was wirklich in den Registern steht ist nicht so einfach wie wenn du einfach auf deinem PC den Interpreter von Python anhälst und schaust wie der aktuelle Programmzustand ist.

Ich würde dir empfehlen einfach die Dokumentation vom ESP durchzulesen, da wird zu 90% sogar drinstehen wie man mit PlatformIO debugged. Und wenn nicht dann wird irgendwas zu GDB Debugger drinstehen, das sollte man verwenden können, glaube ich.
 
Zurück
Oben