Как восстановить форму в Firefox * без * установки плагина?
Возможный дубликат:
Как восстановить информацию формы для веб-страницы в Firefox
Я набрал пару абзацев на доске обсуждений, но когда я нажал кнопку "Отправить", сайт проходил (не) плановое обслуживание, и кнопка "Назад" решила обновить страницу, отправив мои абзацы в забвение.
Быстрый поиск в сети показал, что Lazarus обеспечивает восстановление формы для Firefox. Однако для установки плагина требуется перезапуск Firefox, и даже после перезапуска Firefox (что я еще не сделал) Lazarus не может восстановить формы, для которых он еще не создал резервную копию.
Теперь, когда лошадь вышла из сарая, я хочу сделать невозможное: восстановить часть или весь набранный текст без перезагрузки браузера.
Изменить: я должен уточнить. Lazarus - это прекрасное решение для предотвращения потери данных в будущем. Этот вопрос для людей, которые уже отошли от своей формы и потеряли ее содержание, но надеются, что есть какой-то способ спасти ситуацию. Мое решение состояло в том, чтобы получить дамп ядра процесса и выполнить его через grep, но для этого может быть непрофессиональный способ (например, каким-то образом заставить Firefox загрузить кэшированную версию предыдущей страницы). Таким образом, решения, которые только решают проблему в будущем, не обращаясь к настоящему, являются неуместными в этом вопросе.
2 ответа
Не перезагружайте браузер и не нажимайте кнопку "Назад"!
В Linux:
Это решение работает без ошибок и работает в Linux. Вкратце: выгрузите память процесса Firefox и найдите в нем фрагменты вашего текста. Это некрасиво, но это ваше последнее средство.
Во-первых, дамп ядра, используя gcore
Утилита, для которой требуется установить gdb (отладчик GNU):
$ ps -e | grep firefox
7089 ? 00:02:23 firefox
$ gcore 7089
[New Thread 0xa8ffeb70 (LWP 8924)]
[New Thread 0xb25feb70 (LWP 8531)]
[New Thread 0x9d7feb70 (LWP 8527)]
... snip ...
[New Thread 0xb5ffeb70 (LWP 7099)]
[New Thread 0xb67ffb70 (LWP 7098)]
[New Thread 0xb72f8b70 (LWP 7097)]
Saved corefile core.7089
Обратите внимание, что дамп памяти может занимать несколько сотен мегабайт дискового пространства.
Если это удалось, теперь вы можете вздохнуть с облегчением. Если ваш текст случайно задержался в памяти, он был записан в дамп памяти.
Теперь попробуйте запомнить фразу из вашего эссе (например, "глубокий эффект") и используйте grep
чтобы увидеть, присутствует ли он в документе:
$ grep 'a profound effect' core.7089
Binary file core.7089 matches
Если вы получили "Двоичный файл... совпадения", хорошо, оно есть! Если нет, попробуйте больше фраз. Если все ваши grep
Если вы попытаетесь создать пустой вывод, то ваше эссе, вероятно, исчезнет навсегда, и вы ничего не можете с этим поделать. (Ты можешь попробовать grep -R 'a profound effect' ~/.mozilla
, но сомневаюсь, что это сработает)
Предполагая, что вы получите совпадение, следующая задача будет вырезать кусочки основного дампа, содержащего текст, который вы ищете, и использовать less
смотреть на это визуально:
$ grep -B 20 -A 20 -a 'a profound effect' core.7089 > /tmp/out
$ less /tmp/out
(Вы можете опустить первую строку и просто сказать less core.7089
, но я нашел это less
имеет тенденцию взрываться в использовании памяти при поиске через такой большой двоичный файл.)
Теперь введите /a profound effect
нажмите Enter, подождите и пролистайте страницу, пока не увидите что-то узнаваемое:
Бам! Если вам не нравится этот результат, посмотрите, есть ли другие, набрав 'n'. Кроме того, не забудьте вычитать мусор, чтобы не оставлять сообщения:
мой ум часто будет генерировать идеи, выраженные на этом языке.
Я полагаю, что это забито так, потому что память, содержащая ваши фрагменты эссе, больше не выделяется и вытесняется последующими выделениями.
В Windows:
Процедура такая же. Сначала создайте дамп ядра Firefox. Это можно сделать в диспетчере задач. На английском языке пункт меню " Создать файл дампа".
Сброс занимает несколько секунд.
Затем используйте шестнадцатеричный редактор, например http://mh-nexus.de/en/hxd/, чтобы открыть дамп и найти потерянный текст.
Первое - формы обычно не кэшируются. Итак, все, что вы отправили, уходит на сайт, и если оно было удалено, все готово; Вы должны повторно напечатать это.
Lazarus использует базу данных SQLite для хранения данных формы (конечно, только после ее установки).
PS: дамп памяти - это милая попытка сделать все необходимое, однако мне интересно, есть ли в этом преимущество, связанное с затратами на усилия (это было бы более полезно в качестве метода шпионского / вредоносного ПО - без обид Joey
Вот).