Muszę wiedzieć, jak mogę zrzucić pamięć do Safari.app do pliku.
Podałem numer gdb w załączniku 6741 (mój identyfikator PID safari).
Co teraz?
Próbowałem szukać pomocy na gdb w google, ale nie mogłem znaleźć niczego, co powiedziałoby mi, co mam robić, nawet podczas wyszukiwania „jak zrzucić pamięć do gdb” :(
Próbowałem „zrzutu pomocy”, dał mi mnóstwo poleceń, ale żadne z nich nie zadziałało. Najbliżej byłam:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
Więc jaki jest adres końcowy? Nie wiem? Jak mam poznać adres zatrzymania? Próbowałem wyszukać w Google „” brakujący adres zatrzymania „gdb”, to nie pomogło. Nie mam pojęcia, jak uzyskać adres stop.
Próbowałem tego:
(gdb) zrzut pamięci ~ / safaridump.bin 0 0xffffffff
To też nie działało.
Mam to:
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
Naprawdę tego nie rozumiem. Chcę tylko mojej pamięci w Safari zapisanej w pliku.
To dla mnie bardzo ważne. Spędziłem około 2 godzin na pisaniu mojego biednego serca w Safari, zapisując kilka naprawdę ważnych informacji. A potem ta głupia strona, na której pisałem, nie zaakceptowała mojego postu, ponieważ napisałam go tak długo, że „wylogowałam się”. Kiedy się ponownie zalogowałem, mój post został utracony.
Naprawdę chcę to odpisać. Chcę tylko pamięci z Safari, więc mogę przeszukać jej zawartość pod kątem kilku słów kluczowych, aby sprawdzić, czy mogę odzyskać swoje pisanie.
Jakieś pomysły?
Przynajmniej, nawet jeśli nie odzyskam pisma, nauczę się czegoś o gdb. Co może się przydać w rozwoju mojego oprogramowania;)
Dzięki, jeśli możesz pomóc! To wiele by dla mnie znaczyło. Opuszczę Safari i gdb, dopóki nie otrzymam odpowiedzi. Nie pozwolę temu odejść, dopóki nie dowiem się, że mogę odzyskać pisanie.
Jeśli ktoś chce udzielić bardziej ogólnych odpowiedzi na temat odzyskiwania utraconej pracy ... to dobrze. Takie jak programy do przeszukiwania całego dysku twardego w poszukiwaniu określonych ciągów, które mogły znajdować się w pamięci VRAM przed utratą pracy.
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html Ta strona mówi, że kill -9 nie generuje zrzutu podstawowego. Pomimo tego, co mówi ta strona http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS , to polecenie „kill -ABRT (PID TUTAJ)” nie utworzy zrzutu podstawowego.
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 ..