servaltullius/Tullius_ctd_loger




Tullius CTD Logger (SkyrimDiag) โ€” Beta

ํ•œ๊ตญ์–ด ์•ˆ๋‚ด(๋ฉ”์ธ)ย +ย ๋ฒ ํƒ€ ํ…Œ์Šคํ„ฐ ๊ฐ€์ด๋“œย ํฌํ•จ
๋‚ด๋ถ€ ํŒŒ์ผ๋ช…/๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ์•„์งย SkyrimDiag.*ย ๋กœ ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํ˜ธํ™˜/๊ฐœ๋ฐœ ํŽธ์˜ ๋ชฉ์ ).

ํ•œ๊ตญ์–ด ์•ˆ๋‚ด
1) ๋ฌด์—‡์ธ๊ฐ€์š”?

Skyrim SE/AE ํ™˜๊ฒฝ์—์„œย CTD(ํฌ๋ž˜์‹œ) / ํ”„๋ฆฌ์ง• / ๋ฌดํ•œ๋กœ๋”ฉย ์ƒํ™ฉ์„ best-effort๋กœ ์บก์ฒ˜ํ•˜๊ณ , WinDbg ์—†์ด๋„ โ€œ์™œ ๊ทธ๋Ÿฐ์ง€โ€๋ฅผย ์š”์•ฝ/๊ทผ๊ฑฐ/์ฒดํฌ๋ฆฌ์ŠคํŠธย ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์ง„๋‹จ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

2) ๊ตฌ์„ฑ ์š”์†Œ
  • SKSE ํ”Œ๋Ÿฌ๊ทธ์ธ:ย SKSE/Plugins/SkyrimDiag.dll
    • ๋ธ”๋ž™๋ฐ•์Šค(์ด๋ฒคํŠธ/์ƒํƒœ) ๊ธฐ๋ก, heartbeat, (์˜ต์…˜) ๋ฆฌ์†Œ์Šค(.nif/.hkx/.tri) ๊ธฐ๋ก
  • Helper(์™ธ๋ถ€ ํ”„๋กœ์„ธ์Šค):ย SKSE/Plugins/SkyrimDiagHelper.exe
    • ๊ฒŒ์ž„ ํ”„๋กœ์„ธ์Šค attach โ†’ ํ”„๋ฆฌ์ง•/๋ฌดํ•œ๋กœ๋”ฉ ๊ฐ์ง€ โ†’ ๋คํ”„ + WCT ์ €์žฅ
  • DumpTool(๋ทฐ์–ด/๋ถ„์„๊ธฐ):ย SKSE/Plugins/SkyrimDiagDumpTool.exe
    • .dmp๋ฅผ ์ฝ๊ณ  โ€œ์š”์•ฝ/๊ทผ๊ฑฐ/์ด๋ฒคํŠธ/๋ฆฌ์†Œ์Šค/WCTโ€ ํƒญ์œผ๋กœ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œ์‹œ
3) ์„ค์น˜ (MO2)
  1. GitHub Releases์˜ zip๋ฅผย MO2์—์„œ โ€œ๋ชจ๋“œ๋กœ ์„ค์น˜โ€ย ํ›„ ํ™œ์„ฑํ™”
  2. ์•„๋ž˜ ํŒŒ์ผ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ:
    • SKSE/Plugins/SkyrimDiag.dll
    • SKSE/Plugins/SkyrimDiag.ini
    • SKSE/Plugins/SkyrimDiagHelper.exe
    • SKSE/Plugins/SkyrimDiagHelper.ini
    • SKSE/Plugins/SkyrimDiagDumpTool.exe
  3. MO2์—์„œย SKSE๋กœ ์‹คํ–‰
4) ์ถœ๋ ฅ ์œ„์น˜
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒฐ๊ณผ(๋คํ”„/๋ฆฌํฌํŠธ)๋Š” ๋ณดํ†ต MO2ย overwrite\\SKSE\\Plugins\\์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๊ณณ์œผ๋กœ ๋ชจ์œผ๊ณ  ์‹ถ์œผ๋ฉดย SkyrimDiagHelper.ini์˜ย OutputDir=๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.
5) ์„ฑ๋Šฅ ์˜ํ–ฅ(์˜ค๋ฒ„ํ—ค๋“œ) ์•ˆ๋‚ด
  • ๊ธฐ๋ณธ ์„ค์ •์€ โ€œ์ƒ์‹œ FPS ์ธก์ •/์ƒ์‹œ ์Šคํƒ์›Œํฌโ€ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ,ย ์ตœ์†Œ ์‹ ํ˜ธ ๊ธฐ๋ก + ํ•„์š” ์‹œ ๋คํ”„ ์บก์ฒ˜ย ๊ตฌ์กฐ๋ผ์„œ ๋ณดํ†ต ์ฒด๊ฐ ์„ฑ๋Šฅ ์ €ํ•˜๋Š” ํฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋งŒ ์•„๋ž˜ ์˜ต์…˜์€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผย ๋ฏธ์„ธํ•œ ์˜ค๋ฒ„ํ—ค๋“œ/์Šคํ„ฑย ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค:
    • EnableResourceLog=1ย : loose file ์˜คํ”ˆ ํ›„ํ‚น(ํ•„ํ„ฐ:ย .nif/.hkx/.tri) โ†’ ๋กœ๋”ฉ/์ŠคํŠธ๋ฆฌ๋ฐ์ด ๋งŽ์€ ๋ชจ๋“œํŒฉ์—์„œ ๋ฏธ์„ธ ์˜ํ–ฅ ๊ฐ€๋Šฅ
      โ†’ ์˜์‹ฌ๋˜๋ฉดย ๊ฐ€์žฅ ๋จผ์ €ย EnableResourceLog=0ย ๋กœ ํ…Œ์ŠคํŠธํ•ด์ฃผ์„ธ์š”.
    • EnablePerfHitchLog=1ย : ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ์Šคํ†จ(ํžˆ์น˜) ๋‹จ์„œ ๊ธฐ๋ก(๊ฐ€๋ฒผ์›€) โ†’ ํ•„์š” ์—†์œผ๋ฉด ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • CrashHookMode=2ย : ๋ชจ๋“  ์˜ˆ์™ธ ๊ธฐ๋ก(๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ) โ†’ย ๊ธฐ๋ณธ๊ฐ’ย CrashHookMode=1ย ์œ ์ง€ ๊ถŒ์žฅ
๋ฒ ํƒ€ ํ…Œ์Šคํ„ฐ ๊ฐ€์ด๋“œ (README ๋ฒ„์ „)

์ž์„ธํ•œ ๋ฒ„์ „:ย docs/BETA_TESTING.md

A. ์บก์ฒ˜ ์ข…๋ฅ˜
  • CTD(๊ฒŒ์ž„์ด ํŠ•๊น€):ย *_Crash_*.dmp
  • ํ”„๋ฆฌ์ง•/๋ฌดํ•œ๋กœ๋”ฉ(์ž๋™ ๊ฐ์ง€): ๊ธฐ์ค€ ์‹œ๊ฐ„ ์ด์ƒ ๋ฉˆ์ถ”๋ฉดย *_Hang_*.dmp
    • ๊ธฐ์ค€ ์‹œ๊ฐ„์€ย SkyrimDiagHelper.ini์—์„œ ์กฐ์ ˆ:
      • HangThresholdInGameSecย (์ธ๊ฒŒ์ž„)
      • HangThresholdLoadingSecย (๋กœ๋”ฉ ํ™”๋ฉด)
      • EnableAdaptiveLoadingThreshold=1ย (๋กœ๋”ฉ ์‹œ๊ฐ„ ์ž๋™ ํ•™์Šต/๋ณด์ •, ์ถ”์ฒœ)
  • ์ˆ˜๋™ ์Šค๋ƒ…์ƒท(ํ•ซํ‚ค):ย Ctrl+Shift+F12
    • ์ •์ƒ ์ƒํƒœ์—์„œ ์ฐ์€ ์ˆ˜๋™ ์บก์ฒ˜๋Š” โ€œ๋ฌธ์ œโ€๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฌธ์ œ ์ƒํ™ฉ(ํ”„๋ฆฌ์ง•/๋ฌดํ•œ๋กœ๋”ฉ/CTD ์ง์ „)ย ์—์„œ ์ฐ๋Š” ๊ฒƒ์ด ์ง„๋‹จ์— ๊ฐ€์žฅ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
B. DumpTool(๋ทฐ์–ด)๋กœ ๋ณด๋Š” ๋ฒ•
  • .dmp๋ฅผย SkyrimDiagDumpTool.exe์— ๋“œ๋ž˜๊ทธ&๋“œ๋กญํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ ํ›„ ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ํƒญ:
    • ์š”์•ฝ: ๊ฒฐ๋ก  1๋ฌธ์žฅ + ์‹ ๋ขฐ๋„
    • ๊ทผ๊ฑฐ: ์ฝœ์Šคํƒ/์Šคํƒ์Šค์บ”/๋ฆฌ์†Œ์Šค ์ถฉ๋Œ/WCT ๋“ฑ ๋‹จ์„œ
    • ์ด๋ฒคํŠธ: ์ง์ „ ์ด๋ฒคํŠธ(์ƒ๊ด€๊ด€๊ณ„ ๋‹จ์„œ)
    • ๋ฆฌ์†Œ์Šค: ์ตœ๊ทผ ๋กœ๋“œ๋œย .nif/.hkx/.triย ๋ฐ MO2 ์ œ๊ณต์ž(์ถฉ๋Œ ๋‹จ์„œ)
    • WCT: ์Šค๋ ˆ๋“œ ๋Œ€๊ธฐ ๊ด€๊ณ„(๋ฐ๋“œ๋ฝ/๋ฐ”์œ ๋Œ€๊ธฐ ์ถ”์ •)
C. ์ถ”์ฒœ ์„ค์ •(๋ฒ ํƒ€์šฉ)
  • SkyrimDiag.ini
    • CrashHookMode=1ย ๊ถŒ์žฅ (์ •์ƒ ๋™์ž‘ ์ค‘ C++ ์˜ˆ์™ธ throw/catch ๊ฐ™์€ ์˜คํƒ์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€)
  • SkyrimDiagHelper.ini
    • DumpMode=1ย ๊ธฐ๋ณธ ๊ถŒ์žฅ (FullMemory๋Š” ํŒŒ์ผ์ด ๋งค์šฐ ์ปค์งˆ ์ˆ˜ ์žˆ์Œ)
    • โ€œfault module์„ ํŠน์ •ํ•˜์ง€ ๋ชปํ•จโ€์ด ๋ฐ˜๋ณต๋˜๋ฉดย ํ•ด๋‹น ๋ฌธ์ œ ์ƒํ™ฉ์—์„œ๋งŒย DumpMode=2๋กœ ์˜ฌ๋ ค ์žฌ์บก์ฒ˜
D. โ€œ๋น ๋ฅธ ์žฌํ˜„โ€ ํ…Œ์ŠคํŠธ(๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ)

CTD๊ฐ€ ์ž˜ ์•ˆ ๋‚˜๋Š” ๋ชจ๋“œํŒฉ์—์„œ๋Š”, ๋ฒ ํƒ€ ๊ฒ€์ฆ์„ ์œ„ํ•ด โ€œ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜๋Š”์ง€โ€๋งŒ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • SkyrimDiag.ini์—์„œย EnableTestHotkeys=1
    • Ctrl+Shift+F10ย : ์˜๋„์  ํฌ๋ž˜์‹œ(CTD ๋คํ”„ ์ƒ์„ฑ ํ™•์ธ)
    • Ctrl+Shift+F11ย : ์˜๋„์  ํ–‰(ํ”„๋ฆฌ์ง•) ์œ ๋ฐœ(ํ–‰ ๊ฐ์ง€/WCT/๋คํ”„ ์ƒ์„ฑ ํ™•์ธ)
E. ์ด์Šˆ ์ œ๋ณด ์‹œ ํ•„์ˆ˜ ์ฒจ๋ถ€
  • ๋ฌธ์ œ ์ƒํ™ฉ์˜ย *.dmpย 1๊ฐœ
  • ๊ฐ™์€ ์ด๋ฆ„์˜:
    • *_SkyrimDiagReport.txt
    • *_SkyrimDiagSummary.json
    • *_SkyrimDiagBlackbox.jsonlย (์žˆ๋‹ค๋ฉด)
    • SkyrimDiag_WCT_*.jsonย (์žˆ๋‹ค๋ฉด)
  • (์žˆ๋‹ค๋ฉด) Crash Logger SSE/AE์˜ย crash-*.log
F. ์ด์Šˆ ํ…œํ”Œ๋ฆฟ(๋ณต์‚ฌํ•ด์„œ ์‚ฌ์šฉ)
[ํ™˜๊ฒฝ] - ๊ฒŒ์ž„: SE/AE/VR, ๋ฒ„์ „: - SKSE ๋ฒ„์ „: - MO2 ์‚ฌ์šฉ: ์˜ˆ/์•„๋‹ˆ์˜ค - ๋‹จ์ผ ํ”„๋กœํ•„: ์˜ˆ/์•„๋‹ˆ์˜ค [๋ฌธ์ œ ์œ ํ˜•] - CTD / ํ”„๋ฆฌ์ง• / ๋ฌดํ•œ๋กœ๋”ฉ / ํžˆ์น˜ [์žฌํ˜„ ๋ฐฉ๋ฒ•] - (๊ฐ€๋Šฅํ•˜๋ฉด ๋‹จ๊ณ„๋ณ„๋กœ) [์ฒจ๋ถ€] - *.dmp: - *_SkyrimDiagReport.txt: - *_SkyrimDiagSummary.json: - *_SkyrimDiagBlackbox.jsonl: (์žˆ์œผ๋ฉด) - SkyrimDiag_WCT_*.json: (์žˆ์œผ๋ฉด) - Crash Logger crash-*.log: (์žˆ์œผ๋ฉด) [์ถ”๊ฐ€ ๋ฉ”๋ชจ] - ์ตœ๊ทผ ์„ค์น˜/์—…๋ฐ์ดํŠธํ•œ ๋ชจ๋“œ/ํ”Œ๋Ÿฌ๊ทธ์ธ: - ์ถ”์ • ์›์ธ ๋˜๋Š” ์˜์‹ฌ ๋ชจ๋“œ:
G. ๊ฐœ์ธ์ •๋ณด/๋ณด์•ˆ ์ฃผ์˜
  • ๋คํ”„/๋กœ๊ทธ์—๋Š” PC ๊ฒฝ๋กœ(๋“œ๋ผ์ด๋ธŒ ๋ฌธ์ž/์œ ์ €๋ช…)๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณต๊ฐœ ์—…๋กœ๋“œ๊ฐ€ ๋ถ€๋‹ด๋˜๋ฉด, ๊ฒฝ๋กœ๊ฐ€ ๋ณด์ด๋Š” ๋ถ€๋ถ„์€ ๋งˆ์Šคํ‚น ํ›„ ๊ณต์œ ํ•ด์ฃผ์„ธ์š”.