Как вывести память в файл в gdb (osx)? Должен спасти мою работу

Я должен знать, как я могу вывести память в Safari.app в файл.

Я ввел присоединение gdb 6741 (мое сафари PID).

Теперь, что?

Я пытался искать справку на gdb на Google, но я не мог найти ничего, что сказало мне, что сделать, ища, "как вывести память в gdb" :(

Я попробовал "дамп справки", он дал мне набор команд, но ни один из них не работал. Самое близкое я приехал, было:

(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 Эта страница говорит, что уничтожают-9, не генерирует дамп ядра. Несмотря на то, что эта страница говорит, что http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECCOREDUMPS, эта команда "уничтожает-ABRT (PID ЗДЕСЬ)", не создаст дамп ядра.

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 ..
9
задан 20.12.2009, 19:19

3 ответа

Эй все, я нашел, как генерировать coredump на OSX!

http://osxbook.com/book/bonus/chapter8/core/

Существует загружаемая программа там в исходной форме. Я загрузил его, скомпилировал его, и, ура! Это работало! Это генерировало почти 1 ГБ дампа ядра!

Является ли информация, там не вполне имеет значения теперь. Я изучил, как генерировать coredumps на OSX, который является, определенно мог быть удобный навык как разработчик программного обеспечения ;) Вы никогда не знаете, когда дамп ядра мог пригодиться.

Я могу просто вообразить несколько лет, я делаю важное задание, и мне нужен дамп ядра для выяснения то, что продолжается, и это "gcore" приложение - то, в чем я нуждался. Даже если это окупается однажды... это - хорошая вещь.

6
ответ дан 07.12.2019, 13:34

Safari сохраняет данные формы для всех форм (если Вы не выключили его, или сайт отмечает форму как not-to-be-saved), в зашифрованном файле базы данных. Можно найти пароль для файла в связке ключей входа в систему, и файл в ~/Library/Safari/Form Values, так теоретически Вы могли извлечь данные из файла и видеть, там ли то, что Вы ввели.

Однако у меня был взлом, и я не могу разработать, какой формат файл, или как он шифруется, таким образом, я не знаю, как на самом деле достигнуть содержание, я уверен, что кто-то делает хотя :)

1
ответ дан 07.12.2019, 13:34

Вы могли всегда становиться входящими в систему в GDB set logging on

Затем все, что Вы делаете, печатается к файлу журнала (обычно gdb.txt). Таким образом, можно только начать печатать память с помощью x команда, и все перейдет к файлу журнала, а также экрану.

0
ответ дан 07.12.2019, 13:34

Теги

Похожие вопросы