Hazırda bekletilen bir dosyadan geri yüklemeye çalışırken kız arkadaşımın Macbook'u çöktü. İlerleme çubuğu ~% 10'da durdu, ardından bilgisayarı normal bir başlangıç için yeniden başlattık.
Bu hazırda bekletilen bellek görüntüsünde, kurtarmak istediğimiz Sayfalar'da kaydedilmemiş bir belge vardı. Asla doğru şekilde geri yüklenmemiş hazırda bekletme görüntüsü olduğunu bir sleepimage
in /private/var/vm
var. Hayatta kalabilmek için bu şeyi yedekledik.
Biz denedik strings sleepimage | grep known_substring
ama hiçbir şey döndü. grep -a known_substring sleepimage
Ayrıca hiçbir şey yapmadı, bu yüzden Sayfalar metin verilerini düz metin olarak bellekte tutmak değil varsayalım.
Düzenleme: İkili grep bu cevabı okuduktan sonra perl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
tekrar meyvesiz olmak için çalıştı . UTF-8 metniyle eşleşme girişiminde bulunmak için boş değerlerle doldurdum. Sonra .*
her karakter arasında glob ile denedim - hala zar yok.
Bu yüzden Pages, muhtemelen bellekte herhangi bir yaygın kodlama ile metin saklamaz. ASCII dize ve Sayfalar veri gösterimi arasında bir çeviri kuralı bulmak gerekir - Belki Objective C string buffer bir tür düşünüyorum. Bana göre, karakter verilerini bir karakter dizisinden başka bir şey olarak saklamak çok garip görünüyor, ancak Pages'ın yaptığı şey bu gibi görünüyor.
Sayfalar içindeki metnin bellek içi sunumunu nasıl bulacağınız hakkında herhangi bir fikriniz varsa, bu sorunun çözümünde çok yardımcı olabilir. Belki de işlem belleğini basit bir şekilde döküp okuyabilirim?
Başka bir olası çözüm daha basit - bir şekilde bilgisayarı yeniden başlatmanın mümkün olduğunu varsayıyorum sleepimage
, ancak bununla nasıl devam edeceğinize dair herhangi bir belge bulamıyorum. Bazı diğer kullanıcılar ( macrumors ) bu sorunla karşılaştı, ancak bu sorunların tadını çıkarıyor .
OS X sürümü Snow Leopard, 10.6.8'dir.
Programlamayı içeren karmaşık öneriler kabul edilir. C ve Python yapıyorum.
Teşekkür ederim.
sleepimage
. Benzersiz metin arayan başka bir görüntüyü elemek de o kadar zor olurdu, çünkü görüntü hala 4GB boyutunda olacak ve Pages bellek bloğu bu dosyada rastgele bir yere tahsis edilecekti. RAM'i sıfırlayabiliyorum, sonra sayfaları açabiliyorum ve daha sonra da sleepimage'de sıfır olmayan diziler arayabiliyorum. Ancak Pages, ne olursa olsun 200MB bellek tüketir - hala samanlıkta küçük bir iğne.