16 Stimmen

Arm-linux-gnueabihf-gdb versus gdb-multiarch

Ich versuche, plattformübergreifendes Remote-Debugging von meinem x86-Computer zu einem entfernten ARM-Gerät durchzuführen. (z. B. Beagle Bone Black)

Ich benutze Ubuntu 14.04 und Eclipse CDT.

Ich habe das Paket gcc-arm-linux-gnueabihf installiert, aber der gdb-Debugger ist nicht in diesem Paket enthalten. (http://packages.ubuntu.com/precise/gcc-arm-linux-gnueabihf)

Daher frage ich mich, ob ich das Linaro-Toolchain (das arm-linux-gnueabihf-gdb enthält) verwenden sollte oder ob ich das Paket gdb-multiarch installieren sollte.

Was ist der Unterschied zwischen gdb-multiarch und arm-linux-gnueabihf-gdb? Ist es besser gdb-multiarch zu verwenden?

ssinfod

13voto

ssinfod Punkte 917

Ich habe eine Antwort von der Linaro-Mailingliste erhalten:

Für Ubuntu-Hosts ab 12.04 wird gdb-multiarch als gdb-Client für das Debugging verwendet. Wie der Name schon sagt, ist es ein gemeinsamer Client für jede Architektur und nicht auf ARM beschränkt.

Im Allgemeinen sind alle gdb-Clients architekturunabhängig, da der architekturspezifische Teil in gdbserver selbst behandelt wird. Also, abgesehen vom Namen arm-linux-gnueabihf-gdb, vermute ich, dass es dasselbe wie gdb-multiarch ist.

3voto

ssinfod Punkte 917

Ich habe eine weitere Antwort aus der Linaro-Mailingliste erhalten:

Die Linaro gdb-Version ist in der Regel aktueller als die Ubuntu-Version. Zum Beispiel ist unsere neueste Version 7.8 und diese ist nur in utopic verfügbar, nicht in trusty. Wenn Sie also vorhaben, eine Ubuntu LTS-Version zu verwenden, könnte es besser sein, den von Linaro bereitgestellten gdb zu verwenden. Der Linaro gdb enthält auch Fixes und Verbesserungen, die nicht im Upstream-Stable-Zweig enthalten sind. Historisch gesehen hat Ubuntu diese Änderungen oft übernommen, aber das ist möglicherweise nicht immer der Fall.

gdb-multiarch unterstützt offensichtlich eine Reihe anderer Architekturen neben ARM, daher könnte es sinnvoll sein, das zu verwenden, wenn das für Sie nützlich wäre.

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