Autor Thema: Debugging mit bochs - Memoryinhalt anzeigen  (Gelesen 8599 mal)

arax

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« am: 29. July 2008, 21:17 »
Hallo,
wie kann ich bei bochs im RM Teile des RAM anzeigen lassen?
Ich habe x(p) probiert mit Adresse wie 0x0000:0x07c00 und dann so wie ich das verstanden habe die Anzahl der anzuzeigenden Bytes.
Also z.B.
<bochs:41> x 0x0000:0x7c00 /50
Aber dann kommt nur
[bochs]:
0x000000000000027a <bogus+       0>:    0xff53f000

was ich nicht verstehe.

Als Quelle habe ich hauptsächlich diese Seite der Dokumentation. Da weiß ich auch nicht wirklich wie ich das /nuf umsetzen soll.

MfG arax

arax

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 01. August 2008, 17:05 »
Oder kennt jemand einen anderen Emulator, wo man den Speicher auslesen kann?

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 01. August 2008, 17:08 »
Hmm...Bochs ist da schon am besten...
Kommen denn noch mehr so meldungen als diese, die du angegeben hast? Ich kenn mich halt mit RM Adressierung in Bochs nicht so aus, aber wenn du etwas falsch machst, dann warscheinlich bei der Adressübergabe...


Gruss
Noooooooooos

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 01. August 2008, 22:15 »
Zitat
x  /nuf addr      Examine memory at linear address addr
würde ich jetzt so umsetzen
x /50bx 0x7c00
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

arax

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 01. August 2008, 22:27 »
Danke, damit geht's.
Wie kommt man den darauf? Und wie würde man z.B. auch Unit setzen?

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 01. August 2008, 22:43 »
mit dieser legende zusammen ist doch alles gesagt
Zitat
n              Count of how many units to display
     u              Unit size; one of
                      b Individual bytes
                      h Halfwords (2 bytes)
                      w Words (4 bytes)
                      g Giant words (8 bytes)
                      NOTE: these are *not* typical Intel nomenclature sizes,
                            but they are consistent with GDB convention.
     f              Printing format.  one of
                      x Print in hexadecimal
                      d Print in decimal
                      u Print in unsigned decimal
                      o Print in octal
                      t Print in binary
Zitat
x  /nuf addr      Examine memory at linear address addr
nach dem '/' das n durch die gewünschte anzahl ersätzen (50),
das u durch die unit-größe ( b,h,w... ) und das f durch das gewünschte zahlenformat; und erst am ende die lineare adresse( wie man die im RM berechnet ist hier im forum schon öfter erklärt)
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

arax

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 01. August 2008, 22:46 »
Ok, konnte daraus irgenwie nichts schließen und  bin nicht darauf gekommen, dass das bx für 'uf' stehen würde.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 01. August 2008, 23:24 »
Der Vollständigkeit halber: Auch qemu hat ein x und xp.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

arax

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 02. August 2008, 17:39 »
Kann ich auch den Speicherinhalt als Datei speichern? Oder Teile davon?

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 03. August 2008, 14:14 »
In qemu mit memsave
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen