[SE] Crash Logの取り扱い

(SE版)
.NET Script FrameworkでCTDのログを取るための環境構築から

必須環境


Microsoft Visual C++ Redistributable for Visual Studio 2019 x64: vc_redist.x64.exe
SKSE64
Address Library for SKSE Plugins
SSE Engine Fixes
.NET Script Framework

設定


Data/NetScriptFramework/NetScriptFramework.config.txtを開き、
Debug.CrashLog.Enabled = 1
であることを確認する。

クラッシュログの場所


デフォルト:”Data\NetScriptFramework\Crash”
MO使っている場合は”Overwrite\NetScriptFramework\Crash”

クラッシュログの提出方法


・クラッシュログはまるごと提出する。一部分だけコピペするのはやめる。
・クラッシュログを適当なアップローダーに上げてそのURLを張る。
・Nexusのコメント欄やバグレポートで提出するときは、Spoilerタグを使う。

[spoiler]ログの内容 [/spoiler]

よくある間違い
Papyrusログはクラッシュログではない。(クラッシュログと一緒に出すと何か分かることもあるかもしれない)

クラッシュログの読み方


Possible relevant objects->Callstack->Registers->StackのFormIDやPlugIn名を一つ一つ確認していく。読んでも何が何だかさっぱり分からないことが分かる。
クラッシュしたときの状況や使用中のModの情報と共にクラッシュログを読めそうな人がいる場所に提出しよう。SSE Engine fixesや.NET Script FrameworkのForumに行ってください。

注意
・一つのクラッシュログで原因が分かることはない。できるのは複数のログと状況から傾向を探ることぐらいだと思ってください。
・ここで表示されたModが原因であるとは限らないので早とちりしないように。

Possible relevant objectsに特定のModのNPCに関連があるとでても、そのMod自体が原因ではなくその時読み込まれているスケルトンやアニメーションModが原因であることもある。この場合はCallStackにAnimation関連のログがでるそうな。

CTDの傾向


Fikthenig氏の.NET Script Framework’s Common Crashes and Fixesでまとめられているものを引用。
クラッシュログに関する情報はここのコメント欄か、.NET Script FrameworkSSE Engine Fixesのコメント欄などで集めるといいかも。

セーブ時のCTD

Possible Relevant Objects: TESLevItem(FormId: xxxxxxxx, File: `Example.esp <- xxx.esp <- Skyrim.esm`)
Callstack: mentions BGSSaveGameBuffer::unk_xxxxxx+xx somewhere

レベルリストの問題かもしれないが、プレイ中にゲームを保存しようとした際に発生したセーブエラーの可能性が高い。セーブする際にメモリが不足しているために起こる現象で、セーブしようとするとループが起きてCTD。一度発生すると、ずっと続くそうな。

対処法
その1: Player.Kill

その2:セーブデータをロードした後、スタートメニューに戻って再度セーブデータをロード。

その3:SSE Engine Fixes
SaveGameMaxSize=True (セーブデータサイズの上限を上げる)
RegularQuicksaves=True (クイックセーブによる肥大化防止)
加えて、オートセーブの無効化。

その4:Skyim.ini
iMinMemoryPageSize = 1024
iMaxMemoryPageSize = 3072

Unhandled native exception occurred at 0x7FFFE3A0D365 (MaxsuWeaponParry.dll+xxxx)

Simple Weapon Swing Parry – Scripts Free(v. .82a)が稀に起こすセーブ時のクラッシュ。

ランダムCTD

SkyrimSE.exe+A0D789

アニメーションやAIの調整に関連したランダムなクラッシュ。
例.
Ultimate Dragons SEでドラゴンの踏みつけでのCTD
EVG varianceに含まれるアニメーションのどれかによるCTD
CGOによるランダムCTD

(SkyrimSE.exe+67B88B) on thread xxxx!
Callstack: ‘AnimationGraphManagerHolder’

アニメーショングラフに関連するとされているクラッシュ。
アニメーションファイル自体の問題、追加アニメーションModの入れすぎ、またはロードオーダーの問題とも言われている。

SchlongsOfSkyrim.dll+xxxx

Schlongs of skyrim をインストールした状態で、ロードオーダーの変更やMODのEslfyを行うと発生する可能性がある。

nvwgf2umx.dll+xxxxxx

Nvidaドライバ-に関連するクラッシュ。PCがSkyrimのシステム要件を満たしていないか、単純に貧弱。

対処法
ドライバを更新する。

0x0 on thread xxxx

skseの使用を含むdllの問題に関連。
特定のMODのバグのあるdllファイル、skseのバージョンと互換性のないdll、またはその両方が原因。

Possible relevant objects:
ShadowSceneNode(Name: `shadow scene node`)
BSFadeNode(Name: `skeleton.nif`)
NiCamera(Name: `WorldRoot Camera`)

照明、カメラ、および動作の問題の組み合わせで発生することが知られている。
具体的な修正方法は現在なし。SSE Engine Fixesが今後の更新で「斬首時のCTD」とともに修正予定とのこと。

SkyrimSE.exe+D6DDDA with no possible relevant objects
Stack: BSResource::anonymous_namespace::LooseFileStream*

ディスクドライブの仮想メモリが不足している場合に発生。
ハードディスクのページファイルサイズを大きくすることで解決できるそうな。SSDがお勧め。

skee64.dll+xxxxx
Stack: Mentions XPMSEWeaponStyleScaleEffect.psc and agud_system.psc somewhere in the log

XPMSE と All geared up関連の問題。修正ファイル->NEXUS

Occurs when starting SKSE(Not found in the NETSCRIPT LOG)
“SKSE/Trampoline.h (186): Failed to handle allocation request”

SSE Engine Fixesが正しくインストールされていない。または、Mod Organizerがdllを正しく読み込めない。

対処法
Mod Organizerの再起動
SSE Engine Fixesの再インストール
Microsoft Visual C++の再インストール

Unhandled native exception occurred at 0x7FF7BE222C2C (SkyrimSE.exe+D02C2C)
StackログにMonster Mod.esp

Monster Mod導入時に起きるランダムCTD。

SkyrimSE.exe+12FDD00
Probable Callstack: BSShader::unk_12FDCC0+40 がログの最初の方に現れる

読み込まれたNifファイルに問題があるときに起きるCTD。ログ自体が生成されないことが多い。

対処法
Cathedral Assets Optimizer, SSE Nif Optimizer, Nif healerなのでエラーを起こしているモデルを地道に探すしかない。
既存のツールでも検出できない不具合はあるので過信しないように。

コメント

タイトルとURLをコピーしました