Мне нужно знать, как я могу сбросить память в Safari.app, в файл.
Я ввел gdb attach 6741 (мой PID для сафари).
Что теперь?
Я попытался найти справку в gdb в google, но не смог найти ничего, что подсказывало бы мне, что делать, даже при поиске "как сбросить память в gdb" :(
Я попробовал "help dump", он дал мне кучу команд, но ни одна из них не сработала. Самое близкое, что я пришел, было:
(gdb) dump memory ~/safaridump.bin 0
Missing stop address.
Так какой же адрес? Я не знаю? Как мне узнать адрес остановки? Я попытался найти в Google "" отсутствующий стоп-адрес "GDB", это не помогло. Я понятия не имею, как я могу получить адрес остановки.
Я попробовал это:
(gdb) дамп памяти ~/safaridump.bin 0 0xffffffff
Это тоже не сработало.
Я получил это:
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
Я действительно не понимаю этого. Все, что я хочу, - это моя память в Safari, записанная в файл.
Это действительно важно для меня. Я провел около 2 часов, печатая свое бедное сердце в Safari, записывая действительно важную информацию. И затем глупый веб-сайт, на котором я писал, не принял мой пост, потому что я так долго писал его, что я "вышел". К тому времени, как я вернулся, мой пост был потерян.
Я действительно хочу эту запись обратно. Все, что мне нужно, - это память от Safari, поэтому я могу искать по ее содержимому по нескольким ключевым словам, чтобы посмотреть, смогу ли я вернуть свои записи.
Любые идеи кто-нибудь?
По крайней мере, даже если я не верну свои письма, я кое-что узнаю о GDB. Что может пригодиться в моей разработке программного обеспечения;)
Спасибо, если вы можете помочь! Это будет так много значить для меня. Я собираюсь оставить Safari и GDB работающими, пока не получу ответ. Я не позволю этому уйти, пока я не узнаю, что могу или не могу вернуть свои письма.
Если кто-то хочет дать более общие ответы о том, как восстановить потерянную работу ... это хорошо. Например, программы для поиска по всему моему жесткому диску определенных строк, которые могли быть в VRAM до того, как работа была потеряна.
...
http://www.mail-archive.com/use-revolution@lists.runrev.com/msg22978.html На этой странице сказано, что kill -9 не создает дамп ядра. Несмотря на то, что на этой странице написано http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS , эта команда "kill -ABRT (PID HERE)" не создаст дамп ядра.
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 ..