Suchen

Neue Debugger

So wird der Debugger zum Basiswerkzeug für Integration und Test

Seite: 2/2

Firmen zum Thema

Soweit Compiler mit erweiterten Debug-Informationen zur Verfügung stehen, ist eine vollständige Branch-Coverage-Analyse sogar an hochoptimiertem Code möglich. In diesem Fall übernimmt der Debugger nicht nur die Steuerung des Targets und die Erfassung/Analyse der Trace-Daten. Er generiert auch einen automatischen Report, der seinerseits eine sichere Dokumentation und Wiederholbarkeit der Messungen garantiert (siehe Bildergalerie Bild 1). Die Anzeige der Code-Abdeckung ist für die Ebenen Funktion, Zeilennummer im Quelltext und auch Maschinenbefehl möglich. Im dargestellten Auszug ist der Quelltext eingeblendet. Über generierte Links an den Zeilennummern kann auf die Maschinencodeebene navigiert werden.

Als Standardausgabeformat wird HTML genutzt, über ein Stylesheet kann die Formatierung dabei einfach und ohne großen Aufwand an kundenspezifische Erfordernisse angepasst werden. Voraussetzung für die beschriebenen Automatisierungsverfahren ist die Bereitstellung der Debugger-Funktionalität über eine allgemein nutzbare Software-Schnittstelle.

Bildergalerie

Universal Debug Engine (UDE) von PLS

Bei der Universal Debug Engine (UDE) von PLS kommt hierfür als Basistechnologie das Component Object Model (COM) von Microsoft zum Einsatz, das sich über einen langen Zeitraum als De-facto-Standard in der Windows-Welt etabliert hat. Auch Windows selbst bietet einen großen Teil – insbesondere seiner neu hinzukommenden Funktionen – über COM-Schnittstellen an.

Das Objektmodell der UDE umfasst nahezu alle Funktionen des Debuggers wie Flash-Programmierung, Ablaufsteuerung, Lesen und Schreiben von Target-Speicher in symbolischer Form, Trace-Daten-Erfassung und -Analyse und vieles mehr (Bild 2, siehe Bildergalerie).

Ein großer Vorteil eines COM-basierten API beruht drauf, dass es von einer sehr großen Anzahl unterschiedlichster Sprachen nutzbar ist. C, C++, C# und andere .NET-Sprachen zählen hier genauso dazu wie die Skriptsprachen JavaScript, Python, Perl und VB Script oder die Windows-eigene PowerShell, da alle mit COM-Komponenten umgehen können. Bild 3 (siehe Bildergalerie) zeigt eine allgemeine Beschreibung der UDE-API auf Basis der Interface Description Language (IDL) und ihre Verwendung mit verschiedenen Sprachen.

Fazit:

Wenngleich die Integration und der Test hochkomplexer Embedded Software zunehmend automatisierte Arbeitsschritte erfordern, ist und bleibt der Debugger natürlich weiterhin die Schnittstelle zum Target.

Für die Praxis bedeutet dies, dass die komplette Funktionalität des Debuggers künftig möglichst uneingeschränkt im voll- oder halbautomatischen Betrieb nutzbar sein muss. Möglich ist das allerdings wiederum nur, wenn sie über standardisierte Technologien wie das Component Object Model (COM) anderen Werkzeugen zur Verfügung steht.

* Heiko Rießland leitet das Produktmarketing der PLS Programmierbare Logik & Systeme

Artikelfiles und Artikellinks

(ID:43586657)