Wie wichtig ist ein Debugger?

#2353491
Lesenswert?

Hallo zusammen,

ich komme irgendwie nicht richtig weiter. Scheinbar fehlt mir die 
möglichkeit den Code zu debuggen, das ich zeilenweise nachvollziehen 
kann, was der Code macht und vor allem, ob er das macht, was ich 
bezwecken möchte.

Daher meine Frage, wie wichtig ist bei euch im alltag ein Debugger für 
die Schaltung. Der Debugger im AVR Studio 5 kapiere ich noch nicht so 
richtig, als das ich damit alleine etwas aussagen könnte.

Ich habe den AVR Dragon gesehen. Der wäre ja noch in einem erträglichen 
Rahmen. Ist der genau das was ich suche, um damit in der Schaltung den 
Atmega8 zu debuggen?

Danke schonmal.

Grüße
Stephan
#2353517
Lesenswert?

spess53 schrieb:
> Hi
>
>>Ist der genau das was ich suche, um damit in der Schaltung den
>>Atmega8 zu debuggen?
>
> Nein. Der ATMega8 hat keine Möglichkeit zum Debuggen. Alternative:
> Atmega88.
>
> MfG Spess

Danke für den Hinweis. Der Atmega88 ist ja Pin Kompatibel. So könnte ich 
den dann gut nutzen.

Ist das AVR Dragon dann wenigstens eine gute wahl?
Gast #2353526
Lesenswert?

>> Bei mir Nebensache. Eine einzelne LED die mal aufblitzt
>> bringt häufig mehr.
>
>Auch keine schlechte idee. Nur manchmal wirst Du auch ein Debugger
>benutzen oder?

Stimmt, manchmal. Für Dauertests eher UART. Da kann man dann
am PC mitschneiden. Debuggen mit Singlestep wird quasi unmöglich
wenn mal ein schneller Timerinterrupt mitläuft.
Debuggen ist bei mir ein Mix aus Erfahrung, einer oder mehr LEDs,
UART und am Schluss der Debugger. Der kommt erst dann zum Einsatz
wenn ich mit den anderen Mitteln einen Ansatzpunkt gefunden habe
wo man denn mal einen Breakpoint hinsetzen könnte;)
Gast #2353555
Lesenswert?

> Debuggen ist bei mir ein Mix aus Erfahrung, einer oder mehr LEDs,
> UART und am Schluss der Debugger.

Genau, mit Betonung auf zum Schluss.

Zuallererst muss man kapieren was man macht. Danach wählt man zwischen 
Logmessages, LEDs, Spezialdebuggern wie Valgrind (wenn verfügbar...ich 
habs halt eher nicht mit AVRs zu tun) oder einem klassischen Debugger 
usw. und so fort.

Ich hatte mal einen Fehler welcher so in 12h so 10 mal auftrat. Also 
einen Test geschrieben mit ordentlich Logoutput, mehrere Tage laufen 
gelassen und die Logs analysiert. Wenn du glaubst den Fehler behoben zu 
haben kannst du anschliessend so einen Test gleich noch brauchen um das 
zu überprüfen.

Und ich mag mich an einen Arbeitskollegen erinnern, der einen ganzen Tag 
lang versuchte einen Stackoverflow zu debuggen...jedesmal wenn er über 
den Funktionsaufruf steppte welcher den Overflow verursachte, war das 
System nachher tot und der Debugger leicht durcheinander :D
Gast #2353586
Lesenswert?

so ein debugger kann auch beim einstieg praktisch sein (wenn man ihn 
dann mal verstanden hat) - ansonsten nutz ich persönlich auch LEDs bzw 
auch mal nen state-analyzer, wenn die leds nur ein paar ms lang 
blinken.. ;)

zurück zur frage nach dem Dragon: Hab ihn für zuhause selber, zusammen 
mit dem Dragon Lair (google) in einem gehäuse.

kann alles was der bastler braucht, also wers geld ausgeben möchte: 
klare empfehlung meinerseits.

mfg
#2353615
Lesenswert?

Danke zusammen,

da sind ja doch ein paar Tricks zusammen gekommen. Trotzdem werde ich 
den Dragon dann mal auf die Wunschliste setzen, da ich denke, damit doch 
einen erheblichen Schritt nach vorne zu machen und auch schneller 
Assembler verstehen lerne.

UART ist auch ein guter Tip. Nur eine Frage am Rande noch. Ich habe 
keine Serielle Schnittstelle mehr an irgendeinen meiner Rechner. USB 
dafür aber reichlich. Was für einen Chip würdet Ihr für USB empfehlen?
#2353642
Lesenswert?

Hallo,

AVR CDC-232 habe ich auch mehrfach aufgebaut und im Einsatz und seit 
kurzem noch drei MCP2200 Breakout da.

Diese laufen auch unter Win7 und Linux, aber ich entwickele unter Linux.
Sie verkraften etwas höhere Baudraten.

Dem AVR CDC-232 habe ich mit einem 16 Quarz stabile 57600 Baud 
beigebracht.
Mit einem atMEga48 wäre auch ein 20MHz Quarz möglich.

Wer den MCP2200 auch mal testen möchte, findet hier ein sehr gutes 
Angebot.

- http://www.ebay.de/itm/130568386548
Gast #2353650
Lesenswert?

Hi

>da sind ja doch ein paar Tricks zusammen gekommen. Trotzdem werde ich
>den Dragon dann mal auf die Wunschliste setzen, da ich denke, damit doch
>einen erheblichen Schritt nach vorne zu machen und auch schneller
>Assembler verstehen lerne.

Dafür geht in vielen Fällen auch der Simulator. Wenn man die 
Einschränkungen bezüglich der Hardwareunterstützung kennt, ein durchaus 
brauchbares Werkzeug.

Der AVR-Dragon hat ein sehr gutes Preis-Leistungs-Verhältnis, ist aber 
kein 100%-iger Ersatz für ein AVR ISP MKII. Ich hatte schon ein 
Programm, das sich mit dem Dragon nicht debuggen ließ. Mit dem AVR ISP 
MKII problemlos. Ich habe aber trotzdem zwei Dragons.

MfG Spess
#2353658
Lesenswert?

spess53 schrieb:
> Der AVR-Dragon hat ein sehr gutes Preis-Leistungs-Verhältnis, ist aber
>
> kein 100%-iger Ersatz für ein AVR ISP MKII. Ich hatte schon ein
>
> Programm, das sich mit dem Dragon nicht debuggen ließ. Mit dem AVR ISP
>
> MKII problemlos. Ich habe aber trotzdem zwei Dragons.

Der AVR ISP mkII ist doch nur ein Programmer? Oder hab ich da etwas noch 
nicht entdeckt?
#2353675
Lesenswert?

Thomas Eckmann schrieb:
> Der zählt auch zu den Debug-Werkzeugen aus der ersten Reihe.

Dem ist mir durchaus bewusst. Habe ja in der Lehre schon mit Oszi zu tun 
gehabt (Analog) und weiß auch das man in der Elektronik ohne fast im 
trüben fischt. Daher steht ein Oszi ganz oben auf der Wunschliste, was 
mein Hobby angeht.

Nur muss ich da wohl noch ein bisschen sparen :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren