|
||||||||||||||||||||||||||||||||||||||
|
Как восстановить потерянный в форме текст. Как восстановить текст в браузере яндексКак восстановить потерянный в форме текст / ХабрахабрЕсли Вы закрыли браузер, то в дампе памяти вновь открытого браузера не будет набранного Вами текста. Браузер закрывать нельзя! Может быть, когда руки дойдут, напишу как восстанавливать информацию из уже закрытого браузера. Первичное решение пришло быстро: Снять дамп памяти с оперы и найти текст там. Матчасть структуры дампа я не помнил конечно, но вспоминалось мне, что информация из дампа барузера восстанавливалась быстро. Итак, приступим. Для начала нужно непосредственно снять дамп открытой оперы. Для тех, кто вдруг не знает, как снимать дамп памяти из Windows: Снятый дамп весит, немного немало, кучу мегобайт! В моём случае он весил около 930мб. Понятное дело ни один текстовый редактор такую тушу не откроет. А блокнот и вовсе говорит, что файл «opera.dmp», цитата: "… слишком велик", видимо столь низкой программе, как блокнот, пылью бытия подошвы дампа осквернять и вовсе не положено. В общем, дольше всего я не мог понять чем открыть сие чудо. «Коллеги» на мой вопрос «Чем открыть текстовый файл весом в гигабайт?», сперва отвечали возмущением, мол «Сколько?!», а далее окончательным ответом «Не знаю» или советами скачать суперпрограмму «яоткроювсёчтоугоднокрометогочтотебенадо3000». Ну хорошо выучились, ничего не скажешь. Озарение пришло неожиданно. Открывается такой файл через режим просмотра в Total Commander'е. В просмотре Вы увидите большой текст, в котором конечно же не найдёте ни слова по-русски. Но переключившись в юникод — «Options -> Unicode» увидите кучу китайских иероглифов, но не пугайтесь, Вы на верном пути! Жмёте Ctrl+F и вводите кусок потерянного текста, лучше если это будет как можно более уникальный кусок, а не общие слова типа «яндекс», «мороженное», «купил» и т.п. Так же не забывайте, что текст скорее всего будет разорван и разбросан по дампу. Если Вы нашли кусок текста, а концовки у него нет, то скопируйте часть примыкающею к концу найденного куска и вбейте в поиск, возможно найдёте более длинный кусок текста. И помните, что восстановить текст полностью скорее всего не получиться, но большую часть найти удастся. Кратко об этапах восстановления:
habrahabr.ru Как за одну минуту восстановить текст после неудачной отправки веб-формы / ХабрахабрБывало ли когда-нибудь так, что вы набирали в браузере длинный и интересный текст, внимательно вычитывали его, и тут, буквально через мгновение, понимали, что при обращении к сайту произошла ошибка, а ваш текст в форме был стёрт?В основном такое бывает из-за невнимательности разработчиков сайтов (под разработчиками я в данном случае подразумеваю не только программиста, который мог не знать о нужном способе, но и, например, менеджера, который посчитал, что тратить на это время слишком нецелесообразно): современные веб-технологии (например, Web Storage) позволяют сохранять и восстанавливать данные (в том числе данные форм) при почти любых обстоятельствах — вплоть до случайного закрытия браузера. И, тем не менее, вы писали длинный текст именно там, где ничего для сохранения данных формы не сделано. Не закрывайте браузер! Если дело происходит в Linux, то вы можете воспользоваться потрясающе удобным способом сделать дамп области памяти, которую использует браузер. Впервые я прочитал о применении этого метода для восстановления данных, потерянных в браузере, на superuser.com — одном из сайтов StackExchange. Это был ответ пользователя с именем Joey Adams на вопрос «How do I recover a form in Firefox *without* installing a plugin?».Кстати, работает этот способ не только в Linux. Для Windows, спасибо Lord_D: Дампы очень просто делаются Process Explorer'ом. Для консоли есть PMDump. А изучать дамп можно каким-нибудь HEX-редактором (к примеру, из бесплатных — HxD) или тем же grep. Для Mac, спасибо BeLove:lldb --attach-pid PID Итак, начнём.Шаг 1Убедитесь, что у вас установлен gdb (GNU Debugger). Вам понадобится утилита gcore, которая может делать дамп оперативной памяти, которую использует запущенный процесс с определённым PID.Шаг 2Вы ведь не закрывали браузер? В таком случае выясните номер процесса:ps -e | grep firefox Теперь запустите gcore, чтобы создать дамп памяти для этого процесса: gcore номер_процесса Если ptrace при попытке использовать gcore выдаёт ошибку (Operation not permitted) — это означает, что в вашей системе процессы не могут обращаться к памяти других процессов, не являясь их дочерними процессами (даже при совпадении UID). Например, такую ошибку вы увидите в последних версиях Ubuntu, если вы не меняли соответствующее значение в файле /proc/sys/kernel/yama/ptrace_scope. Вообще говоря, в данном случае совершенно необязательно что-то перенастраивать — вы можете просто запустить gcore от имени суперпользователя. Шаг 3В текущем каталоге при запуске gcore появляется файл core.номер_процесса (например, core.20727). Кстати, учитывайте, что размер файла может быть очень большим. Например, у меня он сейчас получился 934 MiB.Теперь попробуйте с помощью grep проверить, есть ли в дампе нужные данные. Например, если в тексте вы упоминали браузер Safari, то вы можете искать по слову «Safari»: grep 'Safari' core.20727 Если вы видите сообщение о том, что в файле есть совпадение (Binary file core.20727 matches) — это очень хорошая новость, переходите к четвёртому шагу. Если совпадения не нашлось — вспомните, что ещё было в тексте, и попробуйте указать что-нибудь другое. Шаг 4Теперь остаётся извлечь из двоичного файла нужные вам куски с текстом.Сделать это можно вот так: grep -B 20 -A 20 -a 'Safari' core.20727 > /tmp/out В данном случае вы сообщаете grep, что с данным двоичным файлом требуется работать как с текстом, а также что для каждого совпадения требуется вывести 20 предшествующих и 20 последующих строк. Шаг 5Теперь откройте получившийся файл и найдите в нём свой текст. Например, с помощью less /tmp/out:Всем приятного вечера. И не забывайте про Ctrl + S. :) habrahabr.ru Как восстановить набранный и потерянный текст в браузере.Источник: http://habrahabr.ru/sandbox/68544/Как-то раз писал я большой текст по SEO на одном из профильных форумов, текст получился большим и дельным. По привычке время от времени отвлекаться от набора текста (будь эта привычка неладна), переключаясь между закладками оперы, я, не скоординировав движения руки, вдруг, непроизвольно воспользовался оперовским управлением мышкой (будь оно неладно) и... Да! Закладка выполнила команду «Назад»… И весь текст сгинул в небытие. В отчаянии, поняв, что текст потерян, что по ленивости своей новый я набирать не буду, прослыву лгуном, человеком не держащим слово и сгину неудачником на задворках цивилизации, хотел было закрыть браузер и пойти на улицу, топить уток в пруду. Но самообладание вернулось ко мне и я начал вспоминать то, чему учили меня в ВУЗе… Компьютерный эксперт я в конце концов или нет? К сути дела: Восстанавливал я информацию потерянную в браузере опера, по сути из других браузеров восстанавливается аналогично. ОС — Win7. Ни каких особо профессиональных программ не используется, всё делается очень просто.Если Вы закрыли браузер, то в дампе памяти вновь открытого браузера не будет набранного Вами текста. Браузер закрывать нельзя!Может быть, когда руки дойдут, напишу как восстанавливать информацию из уже закрытого браузера. Первичное решение пришло быстро: Снять дамп памяти с оперы и найти текст там. Матчасть структуры дампа я не помнил конечно, но вспоминалось мне, что информация из дампа барузера восстанавливалась быстро. Итак приступим:Для начала нужно непосредственно снять дамп открытой оперы. Для тех, кто вдруг не знает, как снимать дамп памяти из Windows: Снятый дамп весит, немного немало, кучу мегобайт! В моём случае он весил около 930мб. Понятное дело ни один текстовый редактор такую тушу не откроет. А блокнот и вовсе говорит, что файл «opera.dmp», цитата: "… слишком велик", видимо столь низкой программе, как блокнот, пылью бытия подошвы дампа осквернять и вовсе не положено. В общем, дольше всего я не мог понять чем открыть сие чудо. «Коллеги» на мой вопрос «Чем открыть текстовый файл весом в гигабайт?», сперва отвечали возмущением, мол «Сколько?!», а далее окончательным ответом «Не знаю» или советами скачать суперпрограмму «яоткроювсёчтоугоднокрометогочтотебенадо3000». Ну хорошо выучились, ничего не скажешь. Озарение пришло неожиданно. Открывается такой файл через режим просмотра в Total Commander'е. В просмотре Вы увидите большой текст, в котором конечно же не найдёте ни слова по-русски. Но переключившись в юникод — «Options -> Unicode» увидите кучу китайских иероглифов, но не пугайтесь, Вы на верном пути! Жмёте Ctrl+F и вводите кусок потерянного текста, лучше если это будет как можно более уникальный кусок, а не общие слова типа «яндекс», «мороженное», «купил» и т.п.Так же не забывайте, что текст скорее всего будет разорван и разбросан по дампу. Если Вы нашли кусок текста, а концовки у него нет, то скопируйте часть примыкающею к концу найденного куска и вбейте в поиск, возможно найдёте более длинный кусок текста. И помните, что восстановить текст полностью скорее всего не получиться, но большую часть найти удастся. Кратко об этапах восстановления:1) Не закрываете браузер, открываете диспетчер задач.2) Снимаете дамп.3) Скачиваете и открываете Total Commander.4) Идёте в директорию (папку), в которой сохранили дамп, выделяя его жмёте F3.5) В открытом окне переключаетесь в юникод (Options -> Unicode).6) Ищете свой текст.Далее Вы либо его находите, а следовательно ликуете и радуетесь, либо не находите, плачете, рвёте волосы на голове или груди, идёте в парк топить уточек в пруду. Или проверяете всё ли Вы сделали правильно, потому что скорее всего Вы что-то сделали не правильно… В этой жизни. ekatika-project.livejournal.com |
|
||||||||||||||||||||||||||||||||||||
|
|