Ich muss wissen, wie ich Speicher in Safari.app in eine Datei kopieren kann.
Ich habe gdb attach 6741 (meine Safari-PID) eingegeben.
Was jetzt?
Ich habe versucht, auf Google nach Hilfe bei gdb zu suchen, aber ich konnte nichts finden, was mir sagte, was ich tun soll, selbst wenn ich nach "So speichern Sie Speicher in gdb" suchte :(
Ich habe "Help Dump" versucht, es gab mir eine Reihe von Befehlen, aber keiner von ihnen funktionierte. Am nächsten kam ich:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
Wie lautet die Stoppadresse? Ich weiß es nicht? Wie soll ich die Stoppadresse kennen? Ich habe versucht, auf Google nach "" fehlender Stoppadresse "gdb" zu suchen, es hat nicht geholfen. Ich habe keine Ahnung, wie ich die Stoppadresse bekomme.
Ich habe es versucht:
(gdb) dump memory ~ / safaridump.bin 0 0xffffffff
Das hat auch nicht funktioniert.
Ich schaff das:
gdb stack crawl at point of internal error:
0 gdb-i386-apple-darwin 0x0012fd8f internal_vproblem + 316
1 gdb-i386-apple-darwin 0x0012ffd3 internal_verror + 43
2 gdb-i386-apple-darwin 0x00130008 align_down + 0
3 gdb-i386-apple-darwin 0x00130a21 xstrvprintf + 0
4 gdb-i386-apple-darwin 0x00130c25 xmalloc + 40
5 gdb-i386-apple-darwin 0x000045d6 dump_memory_to_file + 241
6 gdb-i386-apple-darwin 0x0012dd3d execute_command + 713
7 gdb-i386-apple-darwin 0x0008815d command_handler + 213
8 gdb-i386-apple-darwin 0x000891af command_line_handler + 1120
9 gdb-i386-apple-darwin 0x001c2486 rl_callback_read_char + 137
10 gdb-i386-apple-darwin 0x000882ed rl_callback_read_char_wrapper + 18
11 gdb-i386-apple-darwin 0x000874b7 handle_file_event + 349
12 gdb-i386-apple-darwin 0x00086e7e process_event + 131
13 gdb-i386-apple-darwin 0x00087c38 gdb_do_one_event + 1178
14 gdb-i386-apple-darwin 0x00081bfd catch_errors + 78
/SourceCache/gdb/gdb-1346/src/gdb/utils.c:1208: internal-error: virtual memory exhausted.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n
Ich verstehe das wirklich nicht. Alles was ich will, ist mein Gedächtnis in Safari, geschrieben in eine Datei.
Es ist wirklich wichtig für mich. Ich verbrachte ungefähr 2 Stunden damit, mein armes Herz in Safari zu tippen und einige wirklich wichtige Informationen aufzuschreiben. Und dann hat die blöde Website, auf der ich schrieb, meinen Beitrag nicht angenommen, weil ich so lange gebraucht hatte, dass ich mich "abgemeldet" hatte. Als ich mich wieder angemeldet hatte, war mein Beitrag verloren.
Ich möchte dieses Schreiben wirklich zurück. Ich möchte nur den Speicher von Safari, damit ich den Inhalt nach ein paar Schlüsselwörtern durchsuchen kann, um zu sehen, ob ich mein Schreiben zurückerhalten kann.
Irgendwelche Ideen jemand?
Zumindest werde ich etwas über GDB lernen, auch wenn ich mein Schreiben nicht zurück bekomme. Was sich in meiner Softwareentwicklung als nützlich erweisen könnte;)
Danke, wenn Sie helfen können! Es würde mir so viel bedeuten. Ich werde Safari und GDB laufen lassen, bis ich eine Antwort bekomme. Ich werde das nicht loslassen, bis ich herausfinde, dass ich mein Schreiben zurückbekommen kann oder nicht.
Wenn jemand allgemeinere Antworten geben möchte, wie verlorene Arbeit wiederhergestellt werden kann, ist das eine gute Sache. Zum Beispiel Programme zum Durchsuchen meiner gesamten Festplatte nach bestimmten Zeichenfolgen, die sich möglicherweise im VRAM befanden, bevor die Arbeit verloren ging.
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html Auf dieser Seite wird angegeben, dass kill -9 keinen Core-Dump generiert. Trotz der Angaben auf dieser Seite http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS erstellt dieser Befehl "kill -ABRT (PID HERE)" keinen Core-Dump.
ls -la /cores
total 0
drwxrwxr-t@ 2 root admin 68 23 Jun 07:19 .
drwxrwxr-t 38 root admin 1360 14 Dec 16:06 ..