Jump to content

Backtrace und Debug Möglichkeiten


Recommended Posts

Ich wollte mal nachfragen, wie man einen Backtrace unter VSC analysieren kann. Einen "ESP32 exception decoder" kenne ich bisher nur von der Arduino Umgebung..

Außerdem wollte ich fragen, wie man den ESP32 unter VSC debuggen kann, gibt es da eine Anleitung?

Vielen Dank für Hinweise

Grüße Andreas

Link to comment
Share on other sites

On 6/16/2022 at 10:45 PM, Andreas_Mainz said:

Ich wollte mal nachfragen, wie man einen Backtrace unter VSC analysieren kann. Einen "ESP32 exception decoder" kenne ich bisher nur von der Arduino Umgebung..

Was der Exception Decoder eigentlich nur tut ist addr2line auszuführen. Ich habe mir dafür ein Python-Script (esp32-firmware/software/decode) geschrieben, dass das selbe auf der Kommandozeile tut.

Benutzen kannst du das indem du den Backtrace kopierst und dann im software-Ordner

./decode [dein backtrace]

ausführst, also z.B.

./decode 0x4000c341:0x3ffc9ce00x40161c6e:0x3ffc9cf0 0x4011123a:0x3ffc9d50 0x400e891c:0x3ffc9de0 0x4012daa6:0x3ffca470 

Das Script läuft standardmäßig gegen die aktuellste Firmware im build-Verzeichnis, du kannst aber mit -f [pfad/zur/elfdatei.elf] mit einer spezifischen Firmware decoden. Das hat noch eine Kurzschreibweise: z.B. -f warp2 nimmt die aktuellste warp2-Firmware, -f esp32 die aktuellste ESP32-Brick-Firmware, die im build-Verzeichnis liegt.

ELF-Dateien zu den veröffentlichten Firmwares liegen hier: https://github.com/Tinkerforge/warp-charger/tree/master/firmwares

 

On 6/16/2022 at 10:45 PM, Andreas_Mainz said:

Außerdem wollte ich fragen, wie man den ESP32 unter VSC debuggen kann, gibt es da eine Anleitung?

Dafür brauchst du einen JTAG-Adapter und musst dich an ein paar Pins des ESPs dranhängen. Anleitung ist hier: https://docs.platformio.org/en/latest/tutorials/espressif32/arduino_debugging_unit_testing.html#debugging-the-firmware Das hat aber noch nie jemand getestet. Ich kann dir auch nicht garantieren, dass die Schaltung an den Pins nicht das Debuggen stört.

Alternativ das gute alte printf-Debugging ;) (logger.printfln bzw. Serial.println falls die Probleme vor der Initialisierung des Event-Logs auftreten.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...