NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER

Neue Anforderungen aus dem "Consumer Umfeld" steigern die Komplexität von eingebetteten Systemen immer weiter, hinzu kommt ein überhitzter Bauteilemarkt.

In diesem White Paper stellen wir Ihnen drei Wege vor, die zu einer erfolgreichen und robusten Embedded-Plattform führen.

>> zum White Paper

26.09.2016 | Fachthema

Debugging aus der Ferne

Verwendete Tags:
Debugging
Echtzeit
Elektronik
Embedded
Embedded System
Embedded Linux
Software

Debugging aus der Ferne

Fehlersuche per Remote Debugger

Die Fehlersuche in Software für Embedded Systeme gestaltet sich etwas aufwändiger als in herkömmlichen Programmen für PCs. Software für den PC wird normalerweise in der gleichen Systemumgebung entwickelt, in der diese Software dann läuft. Das heißt, der Host für das Entwicklungssystem ist gleich wie das Target auf dem die Software dann laufen soll. Embedded Systeme sind zumeist mit anderen Komponenten realisiert als PCs. Außerdem bieten sie nur eingeschränkte Rechen- und Speicherressourcen.

Wie beim letzten Mal beschrieben, verwendet man für die Fehlersuche in Programmen Werkzeuge, Debugger genannt. Heutige Debugger sind sehr komfortabel mit einer grafischen Benutzeroberfläche ausgestattet. Anders wären komplexe Softwaresysteme mit einigen Hunderttausend Codezeilen auch nicht handhabbar. Das Embedded System ist zumeist so gestaltet, dass es genau die für die Anwendung gebrauchte Rechenleistung zur Verfügung stellt. Eine Debugger Software hat am Target daher keinen Platz mehr und würde das System überfordern.
Deshalb gibt es seit vielen Jahren Remote Debugger, die auf Host (PC) und Target (Embedded System) aufgeteilt sind. Am Target wird ein möglichst schlanker Debugging Server geladen, der mit der eigentlichen Debugger Software am PC kommuniziert. Heutzutage bieten Remote Debugger die gleichen grafischen Oberflächen wie native Debugger für PC Software. Die Ressourcen dafür stellt der PC zur Verfügung. Auch sämtliche symbolische Informationen über den Quellcode, die das Fehler suchen komfortabel gestalten, sind am PC gespeichert. Am Target laufen lediglich die entwickelte Anwendung und der Debugging Server.

Aufmerksame Leser erkennen, dass Remote Debugging das Target System beeinflusst. Man muss daher beim Systemdesign berücksichtigen, dass noch „Luft“ für den Debugger eingeplant wird. Die Kommunikation zwischen Host und Target, die weiterhin notwendige Verwaltung einiger weniger Debugging Informationen am Target und zusätzlich notwendige Informationen im Zielprogramm (Debug-Version), können zu unterschiedlichem Verhalten beim Debugging im Vergleich zur finalen Version des Programms ohne Debugging-Server führen. Dies muss speziell bei der Fehlersuche in sehr zeitkritischen Echtzeit Embedded Systemen berücksichtigen.

 

 

Bild: © manstock007 | Fotolia

 

 

Kontakt

Sie haben Fragen

oder möchten Kontakt aufnehmen?