アプリがフリーズしてもデータが取り出せるテキストエディタとそうでないエディタ

tera1

アプリがフリーズして文書が保存できない時に諦めずに試すべき4つの事
アプリがフリーズして、色々試してもダメだったとき、最後の手段として、メモリダンプを取得するという方法があります。

tera2
タスクマネージャーを起動して、プロセスタブからダンプファイルの作成を選ぶわけですが…。
これで、未保存のテキストが復旧できるかどうか試してみました。


試すアプリは

・TeraPad1.0.9
・notepad(Win7版)
・notepad++6.9.2
・真魚 2.30.12.2
・Office Word 2013

ルール
tera6

テキストに「・ω・もふもふ」 という文字列を追加し、未保存でダンプを取る。

1. TeraPad
tera3
まず、TeraPadから

tera7

調べてみた所、64回以上の Undo に対応してるのが災いしてか、テキストデータがUndo の1回の処理に細分化されて保存されてて、修復は困難であることが分かりました。

行単位での復旧なら…なんとかなるかもしれませんが非常に困難です!
一応 「もふもふ・ω・」自体はサルベージできましたがね。

2. Notepad++
tera8

notepad++は、最終バージョンのデータがストリームデータとして丸ごとメモリに残っていて、UNDO 差分が別ブロックで保存されてるようで、楽に取り出すことができました。

3. Mana2
tera9
Mana は内部的に Unicode で保存されていました。メモリダンプから探すのは手間取りましたが、完全に復元できました。

4. メモ帳
tera10
メモ帳も、内部的に Unicode で保存されています。復旧するとちゃんと編集中のデータが取り出せました。

5. Word 2013
tera11
残念ながら、編集データがブロック単位で保存されてるので、生のデータの復元は困難な様です。
一応、部分的に取り出すことはできそうですね

ちなみに、.docx にしてしまうと更に細かくなってしまいメモリ上からの復旧は無理でした。素直にWordの自動バックアップ使った方がよさそうです。

おまけで word 97や WordPad(Win7)も試してみましたが、微妙な結果になりました

まとめ

エディタの種類 保存形式 取り出し
TeraPad ANSI △(断片中)
notepad++ ANSI
メモ帳 UNICODE
真魚2 UNICODE
Word 2013(Text) UNICODE △(断片大)
Word 2013(docx) UNICODE ×(断片細)
Word 97(doc) UNICODE ×(断片細)
Word Pad(RTF) UNICODE △(断片中)

『入力中の卒論データが保存してないのに固まった!』なんて場合でも、ダメもとでメモリダンプを保存しておけば、何とかなるか? と思ったのですが、テキストで保存していない場合は難しそうですね

おすすめ

1件の返信

  1.   より:

    ①テキストエディタがファイルを開いた時に、ファイル名を獲得し
    ②テキストエディタ起動中は数分おきに編集ファイルを別の場所に日時つきで保存
    ③保存が出来たらエディタに[CTRL+S]を強制で送りつける
    ④送りつけたにも関わらず、編集中のファイル日付が変わらない時は、フリーズとして検出
    …さすがに、そんなソフトは無い気がする。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です