1

数日前に YouTube を閲覧していたところ、突然 PAGE_FAULT_IN_NONPAGED_AREA エラーでコンピューターがクラッシュしました。これは数回発生しましたが、これは Windows 10 の単なるバグだと思います。コンピューターを再起動すると、開いていたすべてのタブとファイルが再び開かれたため、それほど大きな影響はありませんでした。ただし、今回はコンピューターを再起動したときに、当時 Visual Studio を使用して作業していたクラスがエラーによって破損しているように見えました (ありがたいことに、他のクラスはそのままでした:D)。破損したクラスは 202 個のエラーも作成しました。そのほとんどは次のとおりです。

重大度コード 説明 Project File Line Error CS1056 Unexpected character ' (' は、実際のエラーでは [] のように見えます。それが役立つ場合)

クラスの場所に行き、メモ帳で開いて何が起こったのかを確認しましたが、すべてが空白でした (空白スペースのテキストを選択することはできましたが)。

他の誰かがこの問題に遭遇したかどうか、また誰かがこれを持っていたかどうかをオンラインで調べました。すべての解決策を試しましたが、解決策 4 (recurva というプログラムをダウンロードし、クラスが含まれるディレクトリでスキャンを実行すること) 以外の結果は得られませんでした。復元されたファイルには次のものが含まれていました。

"LinkFilterHashList"
{
	"List_3"
	{
		"UpdateTime"		"1440597537"
		"version"		"8E1298389020E47C82385F70CD2D2CBFCBF16415"
		"ListHashes"
		{
			"127"		"a10b2cb9"
			"126"		"9b4b0158"
			"125"		"d51486ac"
			"124"		"90d4be26"
			"123"		"5f0339e8"
			"122"		"44bad6fd"
			"121"		"17ea1c80"
			"120"		"b7c14d80"
			"119"		"82e02475"
			"118"		"45dbfd52"
			"117"		"5112a614"
			"116"		"623c6132"
			"115"		"f15d5b67"
			"114"		"450f9de3"
			"113"		"c72f6261"
			"112"		"76db13e1"
			"111"		"d5d74942"
			"110"		"4c31aea4"
			"109"		"39be93f6"
			"108"		"f7a03d6a"
			"107"		"67ca16d3"
			"106"		"450d18ff"
			"105"		"d3ebc87f"
			"104"		"bd46a91b"
			"103"		"0afee1a3"
			"102"		"ccd92718"
			"101"		"a0244293"
			"100"		"2426f23b"
			"99"		"defe4f66"
			"98"		"55bb2e0e"
			"97"		"1560bc34"
			"96"		"d4e454db"
			"95"		"c002249a"
			"94"		"3904e93e"
			"93"		"c8d6d91e"
			"92"		"716b327f"
			"91"		"763dc014"
			"90"		"cb1a4644"
			"89"		"b4d31bce"
			"88"		"9c86f47b"
			"87"		"f6337120"
			"86"		"f0fa14d1"
			"85"		"dd1405fb"
			"84"		"4be7fd6d"
			"83"		"f0eb2085"
			"82"		"d3bf95ea"
			"81"		"e1b9b9c9"
			"80"		"a052f026"
			"79"		"ff120db1"
			"78"		"f6f73860"
			"77"		"a6f25f79"
			"76"		"5fe133bf"
			"75"		"1e9f5241"
			"74"		"2352753a"
			"73"		"932b1389"
			"72"		"7d4c0b1c"
			"71"		"ce171620"
			"70"		"a248bfee"
			"69"		"3ed688bd"
			"68"		"a2001d91"
			"67"		"6eed69b1"
			"66"		"50340073"
			"65"		"4d164331"
			"64"		"83dbdf21"
			"63"		"41c27890"
			"62"		"1918e6c7"
			"61"		"72601636"
			"60"		"5d6e0537"
			"59"		"1e5dca25"
			"58"		"bf6d9a00"
			"57"		"7a9dca5d"
			"56"		"cb094fd0"
			"55"		"9c44b858"
			"54"		"4db97899"
			"53"		"d3ffef5a"
			"52"		"1084ac47"
			"51"		"80e2567a"
			"50"		"90ae19fa"
			"49"		"3a1e0ffe"
			"48"		"74c8a2e0"
			"47"		"d142e8a9"
			"46"		"75e3b51c"
			"45"		"cbd1da13"
			"44"		"2820efab"
			"43"		"0f280c48"
			"42"		"75624871"
			"41"		"7597abfd"
			"40"		"bd0fb8a6"
			"39"		"79a7f00a"
			"38"		"5a780f42"
			"37"		"abb58601"
			"36"		"c70319d1"
			"35"		"aa387037"
			"34"		"c58bd0fc"
			"33"		"271ab389"
			"32"		"382fc066"
			"31"		"cd9e1de8"
			"30"		"87d9e083"
			"29"		"26796404"
			"28"		"f466b44e"
			"27"		"06c7b1d7"
			"26"		"cfe635e0"
			"25"		"7bf78afd"
			"24"		"57a55b2a"
			"23"		"13284911"
			"22"		"c14cc073"
			"21"		"6323fc24"
			"20"		"9f533812"
			"19"		"7c8ead73"
			"18"		"f6389d4c"
			"17"		"24ee8dd0"
			"16"		"93517ede"
			"15"		"a716c85c"
			"14"		"1f316383"
			"13"		"bcf5833f"
			"12"		"cf89c5b5"
			"11"		"46230cf9"
			"10"		"35970855"
			"9"		"397ad2e1"
			"8"		"57e6e7bc"
			"7"		"5b1f58cb"
			"6"		"c2734de0"
			"5"		"ece2b91b"
			"4"		"67e1603d"
			"3"		"ba8e5ae7"
			"2"		"4d3846f1"
			"1"		"f6064fb3"
			"0"		"8f4887b3"
		}
	}
	"List_6"
	{
		"UpdateTime"		"1440597538"
		"version"		"2551A1522AEA2CF617641A9D53264DE41C06D773"
		"ListHashes"
		{
			"85"		"60872dd8"
			"84"		"62bf4267"
			"83"		"44e0f55a"
			"82"		"71cf1e3d"
			"81"		"d368c87c"
			"80"		"635d0396"
			"79"		"9eec3af5"
			"78"		"29f7defc"
			"77"		"4a99fe0b"
			"

recurva のファイルのヘッダーにも、次のテキストが表示されています。

22 4C 69 6E 
6B 46 69 6C 
74 65 72 48 
61 73 68 4C 
69 73 74 22 
0A 7B 0A 09 
22 4C 69 73 
74 5F 33 22 
0A 09 7B 0A 
09 09 22 55 
70 64 61 74 
65 54 69 6D 
65 22 09 09 
22 31 34 34 
30 35 39 37 
35 33 37 22 
0A 09 09 22 
76 65 72 73 
69 6F 6E 22 
09 09 22 38 
45 31 32 39 
38 33 38 39 
30 32 30 45 
34 37 43 38 
32 33 38 35 
46 37 30 43 
44 32 44 32 
43 42 46 43 
42 46 31 36 
34 31 35 22 
0A 09 09 22 
4C 69 73 74 
48 61 73 68 
65 73 22 0A 
09 09 7B 0A 
09 09 09 22 
31 32 37 22 
09 09 22 61 
31 30 62 32 
63 62 39 22 
0A 09 09 09 
22 31 32 36 
22 09 09 22 
39 62 34 62 
30 31 35 38 
22 0A 09 09 
09 22 31 32 
35 22 09 09 
22 64 35 31 
34 38 36 61 
63 22 0A 09 
09 09 22 31 
32 34 22 09 
09 22 39 30 
64 34 62 65 
32 36 22 0A 
09 09 09 22 
31 32 33 22 
09 09 22 35 
66 30 33 33 
39 65 38 22 
0A 09 09 09 
22 31 32 32 
22 09 09 22 
(技術的にはコードではないことはわかっていますが、読みやすいようにスニペットになっています)。

これらのテキストを C# に戻すことは可能だと思いますが、その方法はわかりません。どんな援助でも大歓迎です。(ちなみに、ビジュアルスタジオのバックアップについては知っていますが、ファイルのバックアップが作成されていないようです)。

編集: recurva のスクリーンショットを提供しますが、chkdsk /f を使用して問題を解決しようとした後、機能しないようです。

4

1 に答える 1

1

ファイルの回復

このようなクラッシュは、さまざまな理由でいつでも発生する可能性があります。NTFS ファイル システムは、ファイルの回復可能性を保証しません。もしそれが可能なら、それはただの運です。

質問で言及したファイルの内容では、C# コードを元に戻すことはできません。ご覧のとおり、最初のデータは単なるテキスト (JSON のように見えます) で、2 番目のデータはまったく同じで、16 進数値として表示されています。

本当の解決策

SVNのようなバージョン管理システム、TortoiseSVNのような Windows Explorer の統合、およびVisualSVNのような Visual Studio の統合を検討する必要があります。

他のバージョン管理 (Git、TFS、Mercury、CVS、Bazaar) も問題ありません。ニーズに合ったものを選択してください。

これらはクラッシュの場合に役立つだけでなく、コードを変更して意図的に保存し、コードが機能しないことがわかった場合にも役立ちます。

于 2015-08-28T21:59:48.933 に答える