Możliwa duplikat:
Jak odzyskać informacje z formularza dla strony internetowej w Firefoksie
Wpisałem kilka akapitów na forum dyskusyjnym, ale kiedy kliknąłem przycisk wysyłania, witryna przechodziła (nie) zaplanowaną konserwację, a przycisk Wstecz postanowił odświeżyć stronę, wysyłając moje akapity w zapomnienie.
Szybkie wyszukiwanie w Internecie ujawniło, że Lazarus zapewnia odzyskiwanie formularzy dla przeglądarki Firefox. Jednak instalacja wtyczki wymaga ponownego uruchomienia przeglądarki Firefox, a nawet po ponownym uruchomieniu przeglądarki Firefox (czego jeszcze nie zrobiłem) Lazarus nie może odzyskać formularzy, których kopii zapasowej jeszcze nie utworzył.
Teraz, gdy koń jest już poza stodołą, chcę zrobić to, co niemożliwe: przywrócić część lub całość wpisanego tekstu bez ponownego uruchamiania przeglądarki.
Edycja : powinienem wyjaśnić. Lazarus to wspaniałe rozwiązanie do zapobiegania utracie danych w przyszłości . To pytanie jest skierowane do osób, które odeszły już od swojej formy i straciły jej treść, ale mają nadzieję, że istnieje sposób na uratowanie sytuacji. Moim rozwiązaniem było uzyskanie zrzutu pamięci procesu i przejście przez niego, ale może to być sposób laika (na przykład, aby Firefox załadował buforowaną wersję poprzedniej strony). Zatem rozwiązania, które tylko rozwiążą problem w przyszłości, nie zajmując się teraźniejszością, są nie na temat tego pytania.
Odpowiedzi:
Nie uruchamiaj ponownie przeglądarki ani nie naciskaj przycisku Wstecz!
W systemie Linux:
To rozwiązanie nie działa i działa w systemie Linux. W skrócie: zrzuć pamięć procesu Firefox i przeszukaj go w poszukiwaniu fragmentów tekstu. To brzydkie, ale to twoja ostatnia deska ratunku.
Najpierw zrzuć rdzeń za pomocą
gcore
narzędzia, które wymaga zainstalowania gdb (debugger GNU):Pamiętaj, że zrzut pamięci może zająć kilkaset megabajtów miejsca na dysku.
Jeśli się powiedzie, możesz odetchnąć z ulgą. Jeśli tekst pozostawał w pamięci przez przypadek, został przechwycony w głównym zrzutu.
Teraz spróbuj zapamiętać frazę z eseju (na przykład „głęboki efekt”) i użyj,
grep
aby sprawdzić, czy występuje w dokumencie:Jeśli pojawi się komunikat „Plik binarny ... pasuje”, dobrze, jest tam! Jeśli nie, wypróbuj więcej wyrażeń. Jeśli wszystkie twoje
grep
próby przyniosą pusty efekt, twój esej prawdopodobnie zniknie na zawsze i nic nie możesz na to poradzić. (Możesz spróbowaćgrep -R 'a profound effect' ~/.mozilla
, ale wątpię, czy to zadziała)Zakładając, że otrzymasz dopasowanie, następnym zadaniem będzie wycięcie kawałków zrzutu podstawowego zawierającego szukany tekst i użycie go
less
do obejrzenia go wizualnie:(Możesz pominąć pierwszą linię i po prostu powiedzieć
less core.7089
, ale odkryłem, żeless
ma ona tendencję do nadmiernego zużycia pamięci podczas wyszukiwania tak dużego pliku binarnego.)Teraz wpisz
/a profound effect
, naciśnij Enter, poczekaj i przewiń stronę, aż zobaczysz coś rozpoznawalnego:Bam! Jeśli nie podoba ci się ten wynik, sprawdź, czy są jakieś inne, wpisując „n”. Pamiętaj też o poprawieniu śmieci, aby nie opublikować:
Wyobrażam sobie, że tak się zapycha, ponieważ pamięć przechowująca twoje fragmenty eseju nie jest już przydzielana i jest deptana przez kolejne przydziały.
W systemie Windows:
Procedura jest taka sama. Najpierw utwórz zrzut główny przeglądarki Firefox. Można to osiągnąć w Menedżerze zadań. W języku angielskim pozycja menu to Utwórz plik zrzutu .
Zrzucanie zajmuje kilka sekund.
Następnie użyj edytora szesnastkowego, takiego jak http://mh-nexus.de/en/hxd/, aby otworzyć zrzut i wyszukać utracony tekst.
źródło
htop
(chrome wydaje się tworzyć wiele wątków).Po pierwsze - formularze zwykle nie są buforowane. Tak więc wszystko, co przesłałeś, trafiło na stronę, a jeśli je upuściło, gotowe. musisz go ponownie wpisać.
Lazarus używa SQLite DB do przechowywania danych formularza (oczywiście dopiero po jego zainstalowaniu).
ps: zrzut rdzenia jest uroczą próbą zrobienia tego, co potrzebne, ale zastanawiam się, czy wiąże się to z korzyścią kosztową (jest to bardziej przydatne jako technika oprogramowania szpiegującego / złośliwego oprogramowania - tutaj nie ma urazy
Joey
).źródło