4 Stimmen

Verschachtelte Strukturbetrachter für Linux Kernel

Ich bin gerade dabei, die Lernkurve des Linux-Kernels in Angriff zu nehmen und versuche, mich mit den in verschachtelten Strukturen gespeicherten Informationen vertraut zu machen, um ein Problem mit einem ALSA-Treiber zu lösen.

Daher verbringe ich einen Großteil meiner Zeit im Quellcode damit, Strukturen zu verfolgen, die Zeiger auf andere Strukturen haben, die wiederum Zeiger auf wiederum andere Strukturen haben... und dann ist mein Kopf so voll, dass ich den Überblick verliere!

Kann mir jemand ein Tool oder eine Website empfehlen (ähnlich wie die sehr nützliche Linux Cross Reference http://lxr.linux.no/ ), die es mir ermöglicht, idealerweise grafisch, die verschachtelte Struktur des Quellcodes zu durchdringen?

Im Moment entwickeln wir für einen Embedded PowerPC in Eclipse CDT Version 4.0, wären aber nicht abgeneigt, die Toolchain zu wechseln.

Mit freundlichen Grüßen

KermitG

1voto

Steve Lazaridis Punkte 2190

Das mag altmodisch klingen, aber ich habe die Erfahrung gemacht, dass das Durchgehen von Datenstrukturen mit Bleistift und Papier beim Reverse Engineering des Codes besser hilft als Tools, die dies automatisch tun. Ich empfehle daher, dass Sie sie selbst zeichnen, damit Sie nicht alles im Kopf behalten müssen. Wenn Sie das getan haben, wird Ihre Lernkurve viel weniger steil.

Nur ein Kopieren/Einfügen meines Kommentars, damit diese Frage wenigstens eine Antwort hat.

1voto

stsquad Punkte 5573

Alternativ könnten Sie auch etwas wie Doxygen verwenden, um die Diagramme für Sie zu erstellen. Es ist erwähnenswert, dass viele der DocBook-Bücher ihre Strukturen direkt aus kommentiertem Code beziehen.

1voto

Gnurou Punkte 7783

Ich verwende derzeit Kdevelop4 (svn-Version), um durch den Linux-Kernel zu gehen. Die Navigationsmöglichkeiten sind großartig, aber es dauert eine ganze Weile, um es zu analysieren (geben Sie einfach die Verzeichnisse ein, die Sie benötigen, und lassen Sie alle Treiber aus, an denen Sie nicht interessiert sind) und ist immer noch ein wenig absturzgefährdet.

Sobald sich die Stabilität verbessert hat und der Parser bereits geparste Daten zwischenspeichern kann, wird dies meiner Meinung nach der bequemste Weg sein, um durch den Kernel zu gehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X