Hallo, immer wenn ich nach Debugger mit Trace-Signalen google, stoße ich nur auf Seiten, die mir etwas verkaufen wollen und sagen, dass ich mir ganz toll die Prozessordaten-anzeigen lassen kann. Ich verstehe nur nicht was daran besser sein soll, als das normale Debuggen per JTAG. Da sehe ich doch auch alle Daten vom Prozessor. Kann mich jemand vielleicht aufklären? (bei so viel Geld müssen die Teile doch irgendwie besser sein) Danke für Antworten.
dict.leo.org: trace! Hast Du die "Verkaufsseiten" auch gelesen? Trace heisst, dass Du den Prozessor beobachten kannst, ohne das Programm anzuhalten. Den Trace kannst Du auch abspeichern und später nachvollziehen, wo sich der Proz rumgetrieben hat. Hat seine Grenzen in der am Traceport zur Verfügung stehenden Bandbreite.
trace schrieb: > Ich verstehe nur nicht was daran besser sein soll, als das normale > Debuggen per JTAG. Ein Debugger ohne Trace zeigt Dir den Zustand in dem Augenblick, wo Du angehalten hast. Der große Vorteil am Trace ist, daß Du in die Vergangenheit schauen kannst. Du hast also eine Historie, was passiert ist, bevor die CPU z.B. auf den Breakpoint gelaufen ist, und kannst daran sehen, warum das Programm diesen Verlauf genommen hat. Klingt trivial, ist aber gerade bei Interrupts ein echter Vorteil.
bzw. zur Vollständigkeit halber: Mit einem normalen JTAG kann man durch üblichen Code durchsteppen. Sind nun abläufe zeitgesteuert, können verschiedene Abläufe nicht eintreten, da du den Prozessor anhälst. Die erste Lösung um dieses Problem zu vermeiden sind Statusausgaben über printf/uart. Züchtest du nun auf auf Geschwindigkeit könnten diese print-ausgaben ebenso zeitkritisch sein. Ab jetzt sollte man über einen Tracer nachdenken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.