servaltullius/Tullius_ctd_loger
ํ๊ตญ์ด ์๋ด(๋ฉ์ธ)ย +ย ๋ฒ ํ ํ
์คํฐ ๊ฐ์ด๋ย ํฌํจ
๋ด๋ถ ํ์ผ๋ช
/๋ฐ์ด๋๋ฆฌ๋ ์์งย SkyrimDiag.*ย ๋ก ๋จ์์์ ์ ์์ต๋๋ค(ํธํ/๊ฐ๋ฐ ํธ์ ๋ชฉ์ ).
Skyrim SE/AE ํ๊ฒฝ์์ย CTD(ํฌ๋์) / ํ๋ฆฌ์ง / ๋ฌดํ๋ก๋ฉย ์ํฉ์ best-effort๋ก ์บก์ฒํ๊ณ , WinDbg ์์ด๋ โ์ ๊ทธ๋ฐ์งโ๋ฅผย ์์ฝ/๊ทผ๊ฑฐ/์ฒดํฌ๋ฆฌ์คํธย ํํ๋ก ๋ณด์ฌ์ฃผ๋ ์ง๋จ ๋๊ตฌ์ ๋๋ค.
- SKSE ํ๋ฌ๊ทธ์ธ:ย SKSE/Plugins/SkyrimDiag.dll
- ๋ธ๋๋ฐ์ค(์ด๋ฒคํธ/์ํ) ๊ธฐ๋ก, heartbeat, (์ต์ ) ๋ฆฌ์์ค(.nif/.hkx/.tri) ๊ธฐ๋ก
- Helper(์ธ๋ถ ํ๋ก์ธ์ค):ย SKSE/Plugins/SkyrimDiagHelper.exe
- ๊ฒ์ ํ๋ก์ธ์ค attach โ ํ๋ฆฌ์ง/๋ฌดํ๋ก๋ฉ ๊ฐ์ง โ ๋คํ + WCT ์ ์ฅ
- DumpTool(๋ทฐ์ด/๋ถ์๊ธฐ):ย SKSE/Plugins/SkyrimDiagDumpTool.exe
- .dmp๋ฅผ ์ฝ๊ณ โ์์ฝ/๊ทผ๊ฑฐ/์ด๋ฒคํธ/๋ฆฌ์์ค/WCTโ ํญ์ผ๋ก ๋ณด๊ธฐ ์ฝ๊ฒ ํ์
- GitHub Releases์ zip๋ฅผย MO2์์ โ๋ชจ๋๋ก ์ค์นโย ํ ํ์ฑํ
- ์๋ ํ์ผ๋ค์ด ํฌํจ๋์ด ์๋์ง ํ์ธ:
- SKSE/Plugins/SkyrimDiag.dll
- SKSE/Plugins/SkyrimDiag.ini
- SKSE/Plugins/SkyrimDiagHelper.exe
- SKSE/Plugins/SkyrimDiagHelper.ini
- SKSE/Plugins/SkyrimDiagDumpTool.exe
- MO2์์ย SKSE๋ก ์คํ
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฒฐ๊ณผ(๋คํ/๋ฆฌํฌํธ)๋ ๋ณดํต MO2ย overwrite\\SKSE\\Plugins\\์ ์์ฑ๋ฉ๋๋ค.
- ํ ๊ณณ์ผ๋ก ๋ชจ์ผ๊ณ ์ถ์ผ๋ฉดย SkyrimDiagHelper.ini์ย OutputDir=๋ฅผ ์ค์ ํ์ธ์.
- ๊ธฐ๋ณธ ์ค์ ์ โ์์ FPS ์ธก์ /์์ ์คํ์ํฌโ ๊ฐ์ ๋ฌด๊ฑฐ์ด ๋ฐฉ์์ด ์๋๋ผ,ย ์ต์ ์ ํธ ๊ธฐ๋ก + ํ์ ์ ๋คํ ์บก์ฒย ๊ตฌ์กฐ๋ผ์ ๋ณดํต ์ฒด๊ฐ ์ฑ๋ฅ ์ ํ๋ ํฌ์ง ์์ต๋๋ค.
- ๋ค๋ง ์๋ ์ต์
์ ํ๊ฒฝ์ ๋ฐ๋ผย ๋ฏธ์ธํ ์ค๋ฒํค๋/์คํฑย ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค:
- EnableResourceLog=1ย : loose file ์คํ ํํน(ํํฐ:ย .nif/.hkx/.tri) โ ๋ก๋ฉ/์คํธ๋ฆฌ๋ฐ์ด ๋ง์ ๋ชจ๋ํฉ์์ ๋ฏธ์ธ ์ํฅ ๊ฐ๋ฅ
โ ์์ฌ๋๋ฉดย ๊ฐ์ฅ ๋จผ์ ย EnableResourceLog=0ย ๋ก ํ ์คํธํด์ฃผ์ธ์. - EnablePerfHitchLog=1ย : ๋ฉ์ธ ์ค๋ ๋ ์คํจ(ํ์น) ๋จ์ ๊ธฐ๋ก(๊ฐ๋ฒผ์) โ ํ์ ์์ผ๋ฉด ๋ ์ ์์ต๋๋ค.
- CrashHookMode=2ย : ๋ชจ๋ ์์ธ ๊ธฐ๋ก(๊ถ์ฅํ์ง ์์) โย ๊ธฐ๋ณธ๊ฐย CrashHookMode=1ย ์ ์ง ๊ถ์ฅ
- EnableResourceLog=1ย : loose file ์คํ ํํน(ํํฐ:ย .nif/.hkx/.tri) โ ๋ก๋ฉ/์คํธ๋ฆฌ๋ฐ์ด ๋ง์ ๋ชจ๋ํฉ์์ ๋ฏธ์ธ ์ํฅ ๊ฐ๋ฅ
์์ธํ ๋ฒ์ :ย docs/BETA_TESTING.md
- CTD(๊ฒ์์ด ํ๊น):ย *_Crash_*.dmp
- ํ๋ฆฌ์ง/๋ฌดํ๋ก๋ฉ(์๋ ๊ฐ์ง): ๊ธฐ์ค ์๊ฐ ์ด์ ๋ฉ์ถ๋ฉดย *_Hang_*.dmp
- ๊ธฐ์ค ์๊ฐ์ย SkyrimDiagHelper.ini์์ ์กฐ์ :
- HangThresholdInGameSecย (์ธ๊ฒ์)
- HangThresholdLoadingSecย (๋ก๋ฉ ํ๋ฉด)
- EnableAdaptiveLoadingThreshold=1ย (๋ก๋ฉ ์๊ฐ ์๋ ํ์ต/๋ณด์ , ์ถ์ฒ)
- ๊ธฐ์ค ์๊ฐ์ย SkyrimDiagHelper.ini์์ ์กฐ์ :
- ์๋ ์ค๋
์ท(ํซํค):ย Ctrl+Shift+F12
- ์ ์ ์ํ์์ ์ฐ์ ์๋ ์บก์ฒ๋ โ๋ฌธ์ โ๊ฐ ์๋ ์ ์์ต๋๋ค.
- ๋ฌธ์ ์ํฉ(ํ๋ฆฌ์ง/๋ฌดํ๋ก๋ฉ/CTD ์ง์ )ย ์์ ์ฐ๋ ๊ฒ์ด ์ง๋จ์ ๊ฐ์ฅ ์ ํจํฉ๋๋ค.
- .dmp๋ฅผย SkyrimDiagDumpTool.exe์ ๋๋๊ทธ&๋๋กญํ๊ฑฐ๋ ์คํ ํ ํ์ผ์ ์ ํํฉ๋๋ค.
- ํญ:
- ์์ฝ: ๊ฒฐ๋ก 1๋ฌธ์ฅ + ์ ๋ขฐ๋
- ๊ทผ๊ฑฐ: ์ฝ์คํ/์คํ์ค์บ/๋ฆฌ์์ค ์ถฉ๋/WCT ๋ฑ ๋จ์
- ์ด๋ฒคํธ: ์ง์ ์ด๋ฒคํธ(์๊ด๊ด๊ณ ๋จ์)
- ๋ฆฌ์์ค: ์ต๊ทผ ๋ก๋๋ย .nif/.hkx/.triย ๋ฐ MO2 ์ ๊ณต์(์ถฉ๋ ๋จ์)
- WCT: ์ค๋ ๋ ๋๊ธฐ ๊ด๊ณ(๋ฐ๋๋ฝ/๋ฐ์ ๋๊ธฐ ์ถ์ )
- SkyrimDiag.ini
- CrashHookMode=1ย ๊ถ์ฅ (์ ์ ๋์ ์ค C++ ์์ธ throw/catch ๊ฐ์ ์คํ์ ์ค์ด๋ ๋ฐ ๋์)
- SkyrimDiagHelper.ini
- DumpMode=1ย ๊ธฐ๋ณธ ๊ถ์ฅ (FullMemory๋ ํ์ผ์ด ๋งค์ฐ ์ปค์ง ์ ์์)
- โfault module์ ํน์ ํ์ง ๋ชปํจโ์ด ๋ฐ๋ณต๋๋ฉดย ํด๋น ๋ฌธ์ ์ํฉ์์๋งย DumpMode=2๋ก ์ฌ๋ ค ์ฌ์บก์ฒ
CTD๊ฐ ์ ์ ๋๋ ๋ชจ๋ํฉ์์๋, ๋ฒ ํ ๊ฒ์ฆ์ ์ํด โ๊ธฐ๋ฅ์ด ๋์ํ๋์งโ๋ง ๋น ๋ฅด๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
- SkyrimDiag.ini์์ย EnableTestHotkeys=1
- Ctrl+Shift+F10ย : ์๋์ ํฌ๋์(CTD ๋คํ ์์ฑ ํ์ธ)
- Ctrl+Shift+F11ย : ์๋์ ํ(ํ๋ฆฌ์ง) ์ ๋ฐ(ํ ๊ฐ์ง/WCT/๋คํ ์์ฑ ํ์ธ)
- ๋ฌธ์ ์ํฉ์ย *.dmpย 1๊ฐ
- ๊ฐ์ ์ด๋ฆ์:
- *_SkyrimDiagReport.txt
- *_SkyrimDiagSummary.json
- *_SkyrimDiagBlackbox.jsonlย (์๋ค๋ฉด)
- SkyrimDiag_WCT_*.jsonย (์๋ค๋ฉด)
- (์๋ค๋ฉด) Crash Logger SSE/AE์ย crash-*.log
[ํ๊ฒฝ]
- ๊ฒ์: SE/AE/VR, ๋ฒ์ :
- SKSE ๋ฒ์ :
- MO2 ์ฌ์ฉ: ์/์๋์ค
- ๋จ์ผ ํ๋กํ: ์/์๋์ค
[๋ฌธ์ ์ ํ]
- CTD / ํ๋ฆฌ์ง / ๋ฌดํ๋ก๋ฉ / ํ์น
[์ฌํ ๋ฐฉ๋ฒ]
- (๊ฐ๋ฅํ๋ฉด ๋จ๊ณ๋ณ๋ก)
[์ฒจ๋ถ]
- *.dmp:
- *_SkyrimDiagReport.txt:
- *_SkyrimDiagSummary.json:
- *_SkyrimDiagBlackbox.jsonl: (์์ผ๋ฉด)
- SkyrimDiag_WCT_*.json: (์์ผ๋ฉด)
- Crash Logger crash-*.log: (์์ผ๋ฉด)
[์ถ๊ฐ ๋ฉ๋ชจ]
- ์ต๊ทผ ์ค์น/์
๋ฐ์ดํธํ ๋ชจ๋/ํ๋ฌ๊ทธ์ธ:
- ์ถ์ ์์ธ ๋๋ ์์ฌ ๋ชจ๋:
- ๋คํ/๋ก๊ทธ์๋ PC ๊ฒฝ๋ก(๋๋ผ์ด๋ธ ๋ฌธ์/์ ์ ๋ช )๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
- ๊ณต๊ฐ ์ ๋ก๋๊ฐ ๋ถ๋ด๋๋ฉด, ๊ฒฝ๋ก๊ฐ ๋ณด์ด๋ ๋ถ๋ถ์ ๋ง์คํน ํ ๊ณต์ ํด์ฃผ์ธ์.
์ผ๋จ ๊ฐ์ถ
์ด๋ฌ๋ค ์ค์นด์ด๋ฆผ์ ๋ง๋ค๊ฒ์ด
์ ์๋ผ ํ ๋ - dc App