Hallo, ich hab ein Embedded Gerät mit Linux, wo Core-Dumps aktiviert ist. Ich kann auf dem Gerät kein GDB installieren, deshalb wollte ich die Core-Dumps gerne auf einen anderen PC installieren und analysieren. Kann ich die Dateien einfach kopieren und auf dem anderen PC mit GDB prüfen oder muss es wirklich auf dem Gerät sein?
>Ich kann auf dem Gerät kein GDB installieren Aber per JTAG Adapter zugreifen? Oder per embedded GDB-Server? >Kann ich die Dateien einfach kopieren und auf dem anderen PC mit GDB >prüfen oder muss es wirklich auf dem Gerät sein? Kommt auf das Format des Core Dumps an... Wie wir der überhaupt erzeugt? Von einem Exception-Handler? Was für ein OS hast Du auf dem Brett überhaupt?
Versuchs doch einfach mit dem passenden Cross-Debugger (Host = "PC", Target = "Embedded Gerät"). Viel mehr als PC, Speicherinhalt, incl. Stack und evtl. Call-Chain ist in einem post-mortem Dump eh nicht drinne.
>Aber per JTAG Adapter zugreifen? >Oder per embedded GDB-Server? Gibt es nicht oder ich hab kein Zugriff darauf. >Kommt auf das Format des Core Dumps an... >Wie wir der überhaupt erzeugt? >Von einem Exception-Handler? Keine Ahnung, ich sehe nur im Ordner /var/core die Dumps, welche ich gerne mittels GDB mir anschauen möchte um einen Fehler zufinden. >Was für ein OS hast Du auf dem Brett überhaupt? Linux Yocto Wie gesagt leider kann ich nix auf dem Gerät installieren, sondern würde es gerne Offline auf einem anderen PC analysieren, wenn ich eure Information richtig interpretiere, dann ist es nicht möglich, oder?
Torben schrieb: > Linux Yocto Yocto ist ein Buildsystem und keine Prozessor Architektur Was du brauchst ist ein (cross)gdb der mit deiner Zielplatform (arm, mips oder was immer das ist) klar kommt. > > Wie gesagt leider kann ich nix auf dem Gerät installieren, sondern würde > es gerne Offline auf einem anderen PC analysieren, wenn ich eure > Information richtig interpretiere, dann ist es nicht möglich, oder? sieh mal nach ob vielleicht ein gdb-server installiert ist, wenn ja kannst du dich von PC mit den gdb an den gdb-server connecten und von dort debuggen, wenn nicht Coredump auf den PC kopieren und dann mit dem Crossgdb untersuchen. btw. wenn du das Linux mit Yocto gebaut hast, warum kannst du dann nichts installieren? Ich würde einfach ein Image bauen welches das recipe für denn gdb aktiviert hat und so den coredump untersuchen. Manchmal reicht es auch schon den Coredump durch strings zu jagen um eine erste Idee zu bekommen, viele gleiche Strings sind zum Beispiel meistens ein memleak...
>btw. wenn du das Linux mit Yocto gebaut hast, warum kannst du dann >nichts installieren? Ich hab es nicht gebaut und kein auch nicht die Applikationen bestimmen, welche auf dem System sind. Mit euren Antworten hab ich ein paar Ideen die verfolgt werden können. Danke!
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.