Nach installation von segger Debugger Systemabstürze

Seit ich den segger Debugger installiert habe läuft die Arduino IDE2.0 unstabil (die IDE hängt sich auf und der Mac stürzt ab). Sobald der Debugger verbunden ist funktioniert auch die serielle Verbindung über USB nicht mehr, die ich für den serial Monitor benötige.
Kennt jemand eine gut funktionierende alternative zu der Arduino IDE, mit der man auch debuggen kann?

Wieso produzierst Du Dir Probleme mit eine BetaVersion einer Software?
Grüße Uwe

Ich möchte gerne den Segger Mini zum debuggen benutzen. Deshalb meine Frage, ob es eine Alternative zu der IDE 2.0 gibt. Ich bin Anfänger und suche nur eine stabile IDE, mit der man auch debuggen kann.

Stand der Technik ist Serial.println (oder logic analyzer oder nachdenken) statt debugger.

Man tröstet sich mit der Ausrede, dass debuggen gar nicht wirklich funktionieren kann, weil es das Timing und alles mögliche andere auch beeinflusst.

Und Danke für deine Warnung :wink:

Nimm die letzte Stabile version IDE 1.8.19 von https://www.arduino.cc/en/software

Als Anfänger sollte man nicht gleichzeitig auf 2 Baustellen arbeiten (Beta Version und Debugger).
Da weißt Du nie welcher Teil der Grund des Problems ist.

Zum Debuggen beherzige michael_x

Grüße Uwe

Ich nicht. Warum auch. Verwende, wie Michael schon schreibt, Serial.println(); Damit kannst du an allen Stellen deines Programm´s, genau die Infos zum PC schicken, die du sehen willst. Nagle nicht das ganze Programm mit Serialprint´s zu, weil es sonst entsprechend langsamm wird. Und erhöhe die Baudrate, denn serienmässig ist sie sehr langsam, mit 9600 Baud. Ich verwende gerne 115200 Baud. Dann ist die Bremse ziehmlich offen. Damit arbeite ich Stück für Stück die Stellen ab, die für mein Problem zuständig sein können.

Danke für all Eure guten Tipps.
Die Sache mit dem Debugger war zu verlockend. Schade um die vielen Stunden die ich da hineingesteckt habe. Funktionieren tut er ja, aber alle Nase lang muss ich den Mac neu starten, das sich z.B Safari aufgehängt hat. Ich konne mich zuvor nicht ein einen Systemabsturtz erinnern. Da komme ich wohl um Serial.println() nicht herum. Das ärgerliche ist dass beim MKR wifi 1010 stets alle Serialprints auskommentieren muss, um das Board stand alone laufen zu lassen (bleibt in der main.ccp bei der Funktion setup() hängen, die ich nicht gefunden habe). Der Code wartet bis das Terminalfenster zur Verfügung steht und läuft dann erst weiter.

da legst dir ein paar Makros für die debug Ausgaben an, und schaltest mit einem Schalter einfach deine Serial Sachen ein/aus.

/*
  by noiasca
*/

#define  DEBUG  1     // Turn on debug statements to the serial output  

#if DEBUG
#define DEBUG_PRINT(...)       Serial.print(__VA_ARGS__);  
#define DEBUG_PRINTLN(...)     Serial.println(__VA_ARGS__);
#define DEBUG_VALUELN(s, x)    { Serial.print(F(s) " "); Serial.println(x); }
#define DEBUG_STARTFUNC        { Serial.print(F("START ")); Serial.println(__func__);}
#define DEBUG_ENDFUNC          { Serial.print(F("END   ")); Serial.println(__func__);}
#else
#define DEBUG_PRINT(...)
#define DEBUG_PRINTLN(...)
#define DEBUG_VALUELN(s, x)
#define DEBUG_STARTFUNC
#define DEBUG_ENDFUNC
#endif

void setup() {
  Serial.begin(115200); 

  DEBUG_STARTFUNC
  Serial.println(F("\nProgram name"));

  Serial.println(F("do something"));
  Serial.println(604799L, BIN);
  DEBUG_PRINTLN(F("gib was aus"))
  
  DEBUG_ENDFUNC
}

void loop() {
}

und wenn du die Serielle wirklich nur zum debuggen brauchst, kannst das begin auch unter Kondition stellen:

#if DEBUG
  Serial.begin(115200);  // wenn man die serielle Schnittstelle wirklich nur zum Debuggen braucht
#endif

Ja. Zur Hardware Fehlersuche im Layout wäre ein Debugger schön gewesen. Da kommt es nicht so auf das Timing an.

Danke, nützlicher Hinweis.

Muss das nicht #ifdef DEBUG oder #if defined(DEBUG) sein?

Nach #define DEBUG 0
liefert #ifdef DEBUG true
aber #if DEBUG false

Ok… ich habe die 1 übersehen. Ich nutze bei „Schaltern“ die Definition ohne Parameter. Darum habe ich da nicht drauf geachtet.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.