Возможный дубликат:
Как восстановить информацию формы для веб-страницы в Firefox
Я набрал пару абзацев на доске обсуждений, но когда я нажал кнопку «Отправить», сайт проходил (не) плановое обслуживание, и кнопка «Назад» решила обновить страницу, отправив мои абзацы в забвение.
Быстрый поиск в сети показал, что Lazarus обеспечивает восстановление формы для Firefox. Однако для установки плагина требуется перезапуск Firefox, и даже после перезапуска Firefox (что я еще не сделал) Lazarus не может восстановить формы, для которых он еще не создал резервную копию.
Теперь, когда лошадь вышла из сарая, я хочу сделать невозможное: восстановить часть или весь набранный текст без перезагрузки браузера.
Изменить : я должен уточнить. Lazarus - это прекрасное решение для предотвращения потери данных в будущем . Этот вопрос для людей, которые уже отошли от своей формы и потеряли ее содержание, но надеются, что есть какой-то способ спасти ситуацию. Мое решение состояло в том, чтобы получить дамп ядра процесса и выполнить его через grep, но для этого может быть непрофессиональный способ (например, каким-то образом заставить Firefox загрузить кэшированную версию предыдущей страницы). Таким образом, решения, которые только решают проблему в будущем, не обращаясь к настоящему, являются неуместными в этом вопросе.
Ответы:
Не перезагружайте браузер и не нажимайте кнопку «Назад»!
В Linux:
Это решение работает без ошибок и работает в Linux. Вкратце: выгрузите память процесса Firefox и найдите в нем фрагменты вашего текста. Это некрасиво, но это ваше последнее средство.
Сначала создайте дамп ядра с помощью
gcore
утилиты, для которой требуется установить gdb (отладчик GNU):Обратите внимание, что дамп памяти может занимать несколько сотен мегабайт дискового пространства.
Если это удалось, теперь вы можете вздохнуть с облегчением. Если ваш текст случайно задержался в памяти, он был записан в дамп памяти.
Теперь попробуйте запомнить фразу из вашего эссе (например, «глубокий эффект») и используйте,
grep
чтобы увидеть, присутствует ли она в документе:Если вы получили «Двоичный файл ... совпадения», хорошо, оно есть! Если нет, попробуйте больше фраз. Если все ваши
grep
попытки приводят к пустым выводам, то, вероятно, ваше эссе пропало навсегда, и вы ничего не можете с этим поделать. (Можно попробоватьgrep -R 'a profound effect' ~/.mozilla
, но я сомневаюсь, что это сработает)Предполагая, что вы получите совпадение, следующая задача будет вырезать кусочки основного дампа, содержащего текст, который вы ищете, и использовать
less
его для визуального просмотра:(Вы можете опустить первую строку и просто сказать
less core.7089
, но я обнаружил, чтоless
при поиске в таком большом двоичном файле наблюдается тенденция к увеличению использования памяти.)Теперь введите
/a profound effect
, нажмите Enter, подождите и пролистайте страницу, пока не увидите что-то узнаваемое:Бам! Если вам не нравится этот результат, посмотрите, есть ли другие, набрав 'n'. Кроме того, не забудьте вычитать мусор, чтобы не оставлять сообщения:
Я полагаю, что это забито так, потому что память, содержащая ваши фрагменты эссе, больше не выделяется и вытесняется последующими выделениями.
В Windows:
Процедура такая же. Сначала создайте дамп ядра Firefox. Это можно сделать в диспетчере задач. На английском языке пункт меню « Создать файл дампа» .
Сброс занимает несколько секунд.
Затем используйте шестнадцатеричный редактор, например http://mh-nexus.de/en/hxd/, чтобы открыть дамп и найти потерянный текст.
источник
htop
(кажется, что chrome создает много потоков).Первое - формы обычно не кэшируются. Итак, все, что вы отправили, уходит на сайт, и если оно было удалено, все готово; Вы должны перепечатать это.
Lazarus использует базу данных SQLite для хранения данных формы (конечно, только после ее установки).
PS: дамп памяти - это милая попытка сделать все необходимое, однако мне интересно, есть ли в этом преимущество, связанное с затратами на усилия (это было бы более полезно в качестве метода шпионского / вредоносного ПО - здесь без обид
Joey
).источник