2025年4月4日金曜日

C#プログラムが突然起動時に終了「sfc /scannow」した話

 まぁタイトル通り。
過去に作成済みのLOMの能力値組み合わせを探すだけのプログラムですがなんか突然起動した瞬間に動かなくなりました。
過去に起動実績があるのでプログラムソースの中身は問題ない事は確定
最初はウィルススキャンで隔離されているのかと思ったけれど弾かれた形跡はなく色々探した所イベントビューアのWindowsログのapplicationログにエラーを発見。

ーーー

障害が発生しているアプリケーション名: wp_put11.exe、バージョン: 0.0.0.0、タイム スタンプ: 0x67e8c34c

障害が発生しているモジュール名: KERNELBASE.dll、バージョン: 10.0.19041.5607、タイム スタンプ: 0x18768d24

例外コード: 0xc06d007e

障害オフセット: 0x000000000003b699

障害が発生しているプロセス ID: 0x28e8

障害が発生しているアプリケーションの開始時刻: 0x01dba54932b292ea

障害が発生しているアプリケーション パス: C:\Users\master\Desktop\C♯\v11\wp_put11.exe

障害が発生しているモジュール パス: C:\WINDOWS\System32\KERNELBASE.dll

レポート ID: cac20f27-c118-49d7-9450-b52568853519

障害が発生しているパッケージの完全な名前: 

障害が発生しているパッケージに関連するアプリケーション ID: 

ーーー

「ははーんなるほどね!(全く分からない)」

System32に居るからシステムファイルのKERNELBASE.dllが悪いのかなぁとも思って少し調べたところこれ自体は実行したプログラムとOS間をかけ橋しているだけで問題はなく

流れ的には「プログラム実行」→KERNELBASE.dll「実行されたやつなんかエラーっすね」
と、返してるだけらしい。

問題は「0xc06d007e(モジュールが見つからない)」こっち
今回はWindowsデフォの「C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe」で直接コンパイルしていて呼び出しも「using System; using System.IO; using System.Threading.Tasks; using System.Collections.Generic; using System.Threading;」だけ。

すべて.NET Frameworkの標準ライブラリに含まれるもので、外部DLL不要。そもそも動作確認済みのプログラムで開始直後受け付け待ちにすら到達できない(処理中エラーじゃない)のであとはー・・・「NET Framework 4.0のランタイムが逝ったか・・・?」

こんな時は\sfc コマンド!/
いつも通り名前から実行で出したcmdに「sfc /scannow」実行したら
このコマンド管理者しか実行しちゃダメなんですよって丁寧に怒られたので
「C:\Windows\System32」に移動してcmd.exeを右クリックで管理者実行

ーーー

C:\WINDOWS\system32>sfc /scannow

システム スキャンを開始しています。これにはしばらく時間がかかります。
システム スキャンの検証フェーズを開始しています。
検証 100% が完了しました。
Windows リソース保護により、破損したファイルが見つかりましたが、それらは正常に修復されました。
オンライン修復の場合、詳細は次の場所にある CBS ログ ファイルに含まれています
windir\ Logs\CBS\CBS.log (たとえば C:\Windows\Logs\CBS\CBS.log)。オフライン修復の場合、詳細は /OFFLOGFILE フラグによって指定したログ ファイルに含まれています。

ーーー

再実行!即強制終了!「例外コード: 0xc06d007e」!
(´・ω・`)ソンナー
ーーー

C:\WINDOWS\system32>DISM /Online /Cleanup-Image /RestoreHealth
展開イメージのサービスと管理ツール
バージョン: 10.0.19041.3636
イメージのバージョン: 10.0.19045.5608

[===========================84.9%=================         ]

[===========================87.3%==================        ]

[===========================89.9%====================      ]

[==========================100.0%==========================] 復元操作は正常に完了しました。

操作は正常に完了しました。

ーーー


再実行!即強制終了!「例外コード: 0xc06d007e」!
(´・ω・`)ドウシテ・・・


0 件のコメント:

コメントを投稿