Hallo Forum, Hintergrund: Ich habe ein Produkt entwickelt, welches bereits weitläufig verbreitet ist. Da die Software stehtig weiterentwickelt wird, bleiben Fehler nicht aus. Oft ist es schwer, dem Anwender dann alle notwendigen Information zu entlocken, um auf die Fehlerursache zu kommen. Idee: Im Kern läuft die Software auf einem STM32F1 mit integriertem Webserveer. Ich würde gerne meinem Produkt die Möglichkeit hinzufügen, dass der Kunde sich ein Ram-Dump runterladen kann, um es mir zur Fehleranalyse zu schicken. Problem: Ich suche nun nach einer geeigneten Möglichkeit, wie ich diesen RAM-Dump vernünftig auswerten kann. Daher würde ich gerne eine Software haben, die mir aus dem RAM-Dump und entsprechenden Dateien, die ich beim Compilieren der Software erstelle, eine lesbare Auswertung erstellt. Also eine Übersicht aller statischen Variablen und deren aktuellen Werte. Nun meine Frage: Gibt es evtl. schon eine Software, die aus "irgendwelchen Debugdateien, die beim compilieren erstellt werden" und einem RAM-Dump eine lesbare Auswertung generieren können? Wenn nein, welche Datei sollte ich durch den Compiler (ich verwende ARM Yagarto Windows GCC C Compiler) erstellen lassen bzw. verwenden? Ich benötige halt die Information, welche statischen Variablen existieren, welchen Datentyp sie besitzen und an welcher absoluten Adresse diese stehen. Vielen Dank! Michael
Wenn der Kunde schon den Tester spielt, würde ich lieber die Möglichkeiten einer Ausgabe mit PASS/FAIL Anzeige für Programmteile/Funktionen nutzen. Noch mehr "gebastelte" Software bringt evtl. noch mehr Probleme. Ob das auf Dauer vom Kunden akzeptiert wird?
Das Konzept sieht das "Tested by the customer" so vor, da es sich um ein Beta-Tester Programm handelt. Leider beantwortet deine Aussage nicht meine Frage.
Das Mapfile allein sollte eigentlich schon ausreichend Informationen beinhalten. Dummerweise musst du aber genau das Mapfile haben, das beim compilieren der entsprechenden Applikation herausgefallen ist. Du musst also den compiler-output mitversionieren. Wenn du dann gleich noch alles (.o, .elf, etc) mit ins Git wirfst, dann kannst du genau den softwarestand in dein Debugger laden und die Binary RAM Image importieren. Eine solche Funktion gibts im Eclipse im "Memory Browser"-View. Ob das fuktioniert, habe ich keine Ahnung. Aber vieleicht hilft dir der Ansatz.
:
Bearbeitet durch User
Wenn eine Firmware released wird, werden alle anderen Dateien auch in Subversion mitgetaggt. Den "Memory Browser"-View werde ich mir mal anschauen. Vielen Dank!
gdb kann einen binären raw memory dump einlesen (s. help restore). Wenn du dann noch den code hast, kannst Du globale und statische Variablen direkt angucken. Bloß den Code für den dump mußt Du selbst schreiben.
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.