查看: 10683|回复: 74
收起左侧

[原创内容] 【原创】【SHARKAIY组】SSE崩溃日志解析教程 教你定位崩溃原因以及造成崩溃的MOD

    [复制链接]

7

主题

156

帖子

4万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
413
贡献
290
猫币
18
精华
0
金元
38284
积分
44090
发表于 2021-12-31 23:08:17 | 显示全部楼层 |阅读模式

马上注册领取绝版勋章

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 processhacker 于 2022-1-2 19:02 编辑

(疑难杂症直接在帖子里面上传.Net日志即可 上传日期最新的 别上传错了!)
首先 在看这个帖子前...确认一下你自己已经安装了过了各种反崩溃插件...SSE崩溃问题基本可以归为两类一种是MOD冲突崩溃 以及MOD冲突以外的崩溃
第一种情况占据了几乎99%的崩溃情况 而由SKSE插件引起的崩溃又占据了99%中的99%
但就是这99%的情况很难排查到底是什么崩溃了
SKSE本身就是一个黑客库(外挂) 以外挂形式运行的补丁当然容易炸
一般来说游戏崩溃 都需要慢慢排查 比如一个一个的关闭MOD尝试进游戏 看看问题还会不会出现
有时候是顺序错误 只要重新排序就能解决
但是有些情况异常难顶 比如我自己就遇到过SOS CTD的问题
某个依赖SOS的插件在存档中写了一些奇怪的数据
这些奇怪的数据在某些情况下会引起整个依赖SOS插件的连锁反应
然后加载存档就崩溃
类似这种崩溃有时候甚至连存档都一起消失...
这种情况你去一个个关闭MOD然后重新进游戏的话 根本排查不出来问题 因为整个SOS连锁崩溃
而且在某些情况下 即便你什么MOD都不关闭 游戏依然能正常工作
一切的问题都取决于那个奇怪的数据什么时候会触发 只要他触发了 就崩溃 如果不触发 并不会崩溃
所以出一篇教程 告诉诸位如何查看崩溃日志帮助定位崩溃问题
----------------
首先第一步: 关于SKSE的崩溃日志
SKSE插件绝对是崩溃的重灾区 几乎所有崩溃都是SKSE闹得 这并不是说SKSE有问题 而是使用SKSE去开发插件容易起冲突
不过关于SKSE 实际上你在该目录下看到的LOG文件基本是没用的(C:\Documents\My Games\Skyrim Special Edition\SKSE)
这些是SKSE插件的LOG 实际上并不是给你看的 而是而MOD开发者看的 开发者通过这里的日志输出来定位问题
所以这里对玩家来说几乎是没用的
不过在游戏目录下G:\Steam\steamapps\common\Skyrim Special Edition\Data\SKSE的SKSE.ini 你可以启用skse的dump转存机制
也就是在ini中添加两行
  1. [Debug]
  2. WriteMinidumps=1
复制代码
如此一来 在C:\Documents\My Games\Skyrim Special Edition\SKSE\Crashdumps目录下便会生成minidump文件 中文名应该叫做故障转储文件 文件名例如(2021-11-14_06.06.40.dmp)
故障转储文件是windows本身提供的一种机制 他可以帮助开发者分析并定位崩溃原因 即便是玩家也可以通过分析该文件判断崩溃原因
不过学习故障转储文件解析需要一定的学习 具体百度都有教程 这里直接上第二种方式
------------------------------
NetScriptFramework:
https://www.nexusmods.com/skyrimspecialedition/mods/21294
.Net脚本框架是一个N网的MOD 他在提供脚本框架的同时 还自带了一个功能 那就是记录崩溃日志
而这个日志正是最简单 也最能简单方便的查询崩溃原因 不过崩溃日志本身对非开发者人员并不友好 所以这篇教程的重点 就是告诉大家日志里究竟写了什么以及该如何排查
我随便打开一个目录下的崩溃日志 内容如下
  1. Unhandled native exception occurred at 0x7FFCF9EDFA76 (SkyrimTools.dll+19FA76) on thread 14068!

  2. FrameworkName: NetScriptFramework
  3. FrameworkVersion: 10
  4. FrameworkArchitecture: x64
  5. GameLibrary: SkyrimSE
  6. GameLibraryVersion: 14
  7. ApplicationName: SkyrimSE.exe
  8. ApplicationVersion: 1.5.97.0
  9. VersionInfo: Successfully loaded
  10. Time: 28 Nov 2021 04:38:01.686
复制代码
对于第一句话 我们只需要关注0x7FFCF9EDFA76 (SkyrimTools.dll+19FA76) on thread 14068!
大部分时候这句话就能指出引起崩溃的具体MOD
比如这里是(SkyrimTools.dll+19FA76) 其中SkyrimTools.dll为SKSE插件DLL名称 你只需要在你下载的所有MOD中搜索这个DLL名即可
比如SOS的DLL名就叫做SchlongsOfSkyrim.dll 而实验室则是sexlabxxx.dll
如果开头直接写明了DLL名 那么你的问题大概率是能轻松解决的 你需要做的只是关掉这个MOD 然后进游戏再试试看还会不会跳出
但是很多情况崩溃日志无法指明插件DLL 比如这样
  1. Unhandled native exception occurred at 0x7FF60CDAF4C1 (SkyrimSE.exe+BEF4C1) on thread 15616!
复制代码
其中SkyrimSE.exe是上古卷轴5本身的进程名
但崩溃肯定不取决于游戏本身
所以这个时候就只能继续往下看了 由于造成崩溃的问题不同 所以日志也肯定不太一样
  1. Possible relevant objects (4)
  2. {
  3.   [   8]    TESNPC(Name: `Bitch`, FormId: 00000007, File: `Tirk the Horny Riekling.esp <- AI Overhaul.esp <- Skyrim.esm`)
  4.   [   8]    PlayerCharacter(FormId: 00000014, BaseForm: TESNPC(Name: `Bitch`, FormId: 00000007, File: `Tirk the Horny Riekling.esp <- AI Overhaul.esp <- Skyrim.esm`))
  5.   [   9]    SpellItem(Name: `XPMSE Weapon Cloak`, FormId: 64000D64, File: `XPMSE.esp`)
  6.   [ 115]    TESQuest(Name: CWReservations, FormId: 0010FDD5, File: `Skyrim.esm`)
  7. }
复制代码
这里是可能引起崩溃的对象 第一行的列出了3个ESP
Tirk the Horny Riekling.esp <- AI Overhaul.esp <- Skyrim.esm
前两个MOD是干嘛的就不要问了 总之先只要他列出来了 就是可疑的MOD
第二行与第一行一样FormId: 00000014 这个是指玩家本身的ID
第三行列出了XPMSE.esp 也就是骨骼框架 的确有因为骨骼冲突引起的崩溃 比如曾经就在可爱的小动物里因为hourse翻过车
第四行TESQuest 意思就是任务对象 他指向了Skyrim.esm也就是游戏本身
实际上这次崩溃的确与任务有关 但并不是游戏本身的任务崩溃

上面的其实无法判断什么 继续往下看
  1. Probable callstack
  2. {
  3.   [0]   0x7FFCF9EDFA76     (SkyrimTools.dll+19FA76)      
  4.   [1]   0x7FFCF9EDA36F     (SkyrimTools.dll+19A36F)      
  5.   [2]   0x7FFCF9ED9B68     (SkyrimTools.dll+199B68)      
  6.   [3]   0x7FFCF9EDA774     (SkyrimTools.dll+19A774)      
  7.   [4]   0x7FFCF9ED98C4     (SkyrimTools.dll+1998C4)      
  8.   [5]   0x7FFCF9EDF5DA     (SkyrimTools.dll+19F5DA)      
  9.   [6]   0x7FF6125B7879     (SkyrimSE.exe+1257879)         BSScript::Internal::VirtualMachine::Func2_1257760+119
  10.   [7]   0x7FFCF9EDA887     (SkyrimTools.dll+19A887)      
  11.   [8]   0x7FFCF9EDA954     (SkyrimTools.dll+19A954)      
  12.   [9]   0x7FF6120B0F07     (SkyrimSE.exe+D50F07)          BSCullingProcess::Process1_D50C80+287
  13.   [10]  0x7FFCF9EDB44F     (SkyrimTools.dll+19B44F)      
  14.   [11]  0x7FFCFA4EAAA0     (PapyrusUtil.dll+1AAA0)        
  15.   [12]  0x7FFD42F4803D     (ntdll.dll+1803D)              
  16.   [13]  0x7FFCFA4EE923     (PapyrusUtil.dll+1E923)        
  17.   [14]  0x7FFCFA5715EC     (PapyrusUtil.dll+A15EC)        
  18.   [15]  0x7FFCF9EEA264     (SkyrimTools.dll+1AA264)      
  19.   [16]  0x7FFCF9EE556F     (SkyrimTools.dll+1A556F)      
  20.   [17]  0x7FFCFA5A9B0C     (PapyrusUtil.dll+D9B0C)        
  21.   [18]  0x7FFCFA4D5926     (PapyrusUtil.dll+5926)         
  22.   [19]  0x7FFCFA4D5836     (PapyrusUtil.dll+5836)         
  23.   [20]  0x7FFCFA4DABEA     (PapyrusUtil.dll+ABEA)         
  24.   [21]  0x7FF6125A49FA     (SkyrimSE.exe+12449FA)         unk_12449D0+2A
  25.   [22]  0x7FF611492BEA     (SkyrimSE.exe+132BEA)          Mutex::Lock1_132BD0+1A
  26.   [23]  0x7FFCF9EE3CF9     (SkyrimTools.dll+1A3CF9)      
  27.   [24]  0x7FF6125B0ACE     (SkyrimSE.exe+1250ACE)         BSScript::NF_util::NativeFunctionBase::Call_12507F0+2DE
  28.   [25]  0x7FF612596E9D     (SkyrimSE.exe+1236E9D)         unk_1236E50+4D
  29.   [26]  0x7FF6125B09E9     (SkyrimSE.exe+12509E9)         BSScript::NF_util::NativeFunctionBase::Call_12507F0+1F9
  30.   [27]  0x7FF612596D9F     (SkyrimSE.exe+1236D9F)         unk_1236D10+8F
  31.   [28]  0x7FF6125DE984     (SkyrimSE.exe+127E984)         BSScript__Internal__CodeTasklet::unk_127E630+354
  32.   [29]  0x7FF612596DDA     (SkyrimSE.exe+1236DDA)         unk_1236D10+CA
  33.   [30]  0x7FF6125B0ACE     (SkyrimSE.exe+1250ACE)         BSScript::NF_util::NativeFunctionBase::Call_12507F0+2DE
  34.   [31]  0x7FF611F89EB8     (SkyrimSE.exe+C29EB8)          BSFixedString::Release_C29E80+38
  35.   [32]  0x7FF61259710E     (SkyrimSE.exe+123710E)         unk_12370E0+2E
  36.   [33]  0x7FF612596D9F     (SkyrimSE.exe+1236D9F)         unk_1236D10+8F
  37.   [34]  0x7FF611F6CCD3     (SkyrimSE.exe+C0CCD3)          BSSmallBlockAllocator::DeallocateAlignImpl_C0CBE0+F3
  38.   [35]  0x7FF611F625F2     (SkyrimSE.exe+C025F2)          Memory::Free_C02560+92
  39.   [36]  0x7FF6125A7C0D     (SkyrimSE.exe+1247C0D)         unk_1247960+2AD
  40.   [37]  0x7FF6125A9BF6     (SkyrimSE.exe+1249BF6)         BSScript::SimpleAllocMemoryPagePolicy::Func4_1249B30+C6
  41.   [38]  0x7FF61259710E     (SkyrimSE.exe+123710E)         unk_12370E0+2E
  42.   [39]  0x7FF612596DDA     (SkyrimSE.exe+1236DDA)         unk_1236D10+CA
  43.   [40]  0x7FF6125C2A9D     (SkyrimSE.exe+1262A9D)         BSScript__Internal__VirtualMachine::unk_1262760+33D
  44.   [41]  0x7FF61259710E     (SkyrimSE.exe+123710E)         unk_12370E0+2E
  45.   [42]  0x7FF612596DDA     (SkyrimSE.exe+1236DDA)         unk_1236D10+CA
  46.   [43]  0x7FF611F6CCD3     (SkyrimSE.exe+C0CCD3)          BSSmallBlockAllocator::DeallocateAlignImpl_C0CBE0+F3
  47.   [44]  0x7FF611F625F2     (SkyrimSE.exe+C025F2)          Memory::Free_C02560+92
  48.   [45]  0x7FF6125A7A0E     (SkyrimSE.exe+1247A0E)         unk_1247960+AE
  49.   [46]  0x7FF6125A9BF6     (SkyrimSE.exe+1249BF6)         BSScript::SimpleAllocMemoryPagePolicy::Func4_1249B30+C6
  50.   [47]  0x7FF61259710E     (SkyrimSE.exe+123710E)         unk_12370E0+2E
  51.   [48]  0x7FF6125D425B     (SkyrimSE.exe+127425B)         BSScript__Internal__VirtualMachine::unk_12741D0+8B
  52.   [49]  0x7FF612596DDA     (SkyrimSE.exe+1236DDA)         unk_1236D10+CA
  53.   [50]  0x7FF6125C2A9D     (SkyrimSE.exe+1262A9D)         BSScript__Internal__VirtualMachine::unk_1262760+33D
  54.   [51]  0x7FF611F6CDE3     (SkyrimSE.exe+C0CDE3)          BSSmallBlockAllocator::unk_C0CD60+83
  55.   [52]  0x7FF611F62352     (SkyrimSE.exe+C02352)          Memory::Allocate_C02260+F2
  56.   [53]  0x7FF6125A9D2B     (SkyrimSE.exe+1249D2B)         unk_1249C90+9B
  57.   [54]  0x7FF612596E9D     (SkyrimSE.exe+1236E9D)         unk_1236E50+4D
  58. }
复制代码
Probable callstack的意思是可能的调用栈
这里是最能也是最容易判断出崩溃原因的地方
调用栈的意思大概可以理解为游戏调用插件功能的路径
比如游戏运行中 需要调用插件某个功能 先调用了插件A 然后调用插件B 那么路径就为 SkyrimSE.exe->A.dll->B.dll
调用栈最底部一般都是游戏本身 也就是SkyrimSE.exe 而最上层往往是具体发生崩溃的位置
我们直接锁定最顶部即可
[0]   0x7FFCF9EDFA76     (SkyrimTools.dll+19FA76)   
最终崩溃位置为SkyrimTools 该插件是我自己写的一个任务管理插件
也就是说这个插件最终引起了崩溃
而实际崩溃原因是因为我在插件中读取了一些空指针任务 从而引发内存崩溃 当然这些都是因为我本是是这个插件的开发者才能了解的这么清晰 所以我们继续往下看崩溃日志

  1. Registers
  2. {
  3.   AX:       0x0                (NULL)
  4.   BX:       0x14               (u8):[20]
  5.   CX:       0x7FFCFA2D20D0     (SkyrimTools.dll+5920D0) (void*)
  6.   DX:       0x81CA708D68       (void*)
  7.   SI:       0x21CF71632C0      (void*)
  8.   DI:       0x81CA708FB8       (void*)
  9.   BP:       0x81CA7089A0       (void*)
  10.   SP:       0x81CA708980       (void*)
  11.   IP:       0x7FFCF9EDFA76     (SkyrimTools.dll+19FA76) (void*)
  12.   R8:       0x10               (u8):[16]
  13.   R9:       0x7FFCFA0AB3C8     (SkyrimTools.dll+36B3C8) (void*)
  14.   R10:      0x21E45852020      (void*)
  15.   R11:      0x21E45859830      (void*)
  16.   R12:      0x4                (u8):[4]
  17.   R13:      0x1DC2E2           (u32):[1950434]
  18.   R14:      0x81CA709DA0       (void*)
  19.   R15:      0x21D03A73ED4      (void*)
  20.   Flags:    0x10206           
  21.   XMM0:     (double)0 / (float)0
  22.   XMM1:     (double)5.21149284538079E-315 / (float)0.436023
  23.   XMM2:     (double)5.08118655397822E-315 / (float)0.050001
  24.   XMM3:     (double)0 / (float)0
  25.   XMM4:     (double)0 / (float)0
  26.   XMM5:     (double)0 / (float)0
  27.   XMM6:     (double)5.21149284538079E-315 / (float)0.436023
  28.   XMM7:     (double)5.21149284538079E-315 / (float)0.436023
  29.   XMM8:     (double)5.0791255690179E-315 / (float)0.048447
  30.   XMM9:     (double)5.0791255690179E-315 / (float)0.048447
  31.   XMM10:    (double)5.0791255690179E-315 / (float)0.048447
  32.   XMM11:    (double)5.20346125989478E-315 / (float)0.387576
  33.   XMM12:    (double)0 / (float)0
  34.   XMM13:    (double)0 / (float)0
  35.   XMM14:    (double)0 / (float)0
  36.   XMM15:    (double)0 / (float)0
  37. }
复制代码
上面是当SKSE的VEH异常处理触发时 也就是发生崩溃时候的寄存器参数
这个东西一般大家都看不懂 所以直接略过 而且就算看得懂 帮助也不大 一般只需要查看寄存器中都保存了什么可疑对象即可
再往下
  1. Stack
  2. {
  3.   [SP+0]    0x7FFCFA2D20D0     (SkyrimTools.dll+5920D0) (void*)
  4.   [SP+8]    0x7FFCF9EDA36F     (SkyrimTools.dll+19A36F) (void*)
  5.   [SP+10]   0x7FFCFA2D20D0     (SkyrimTools.dll+5920D0) (void*)
  6.   [SP+18]   0x7FF6128811A8     (SkyrimSE.exe+15211A8) (void*)
  7.   [SP+20]   0x81CA7088A8       (void*)
  8.   [SP+28]   0x81CA708C48       (void*)
复制代码
后面太长省略
这部分是调用栈里面的内容 由于64CPU的机制等等原因 这里的意义并不大
大部分时候只需要看上面那个即可
当然这里也表明了最终崩溃时 栈内的数据大多都跟SkyrimTools.dll相关
继续往下
  1. Modules
  2. {
  3.   SkyrimSE.exe:                                     0x7FF611360000
  4.   ntdll.dll:                                        0x7FFD42F30000
  5.   KERNEL32.DLL:                                     0x7FFD40590000
  6.   KERNELBASE.dll:                                   0x7FFD3FE30000
  7.   USER32.dll:                                       0x7FFD41280000
复制代码
太长省略
这里是MOD加载列表 所有基于SKSE开发的插件都会显示在这里
比如
SexLabUtil.dll:                                   0x7FFCFB720000
当然这个一般情况下没什么用 看了跟没看差不多
继续往下

  1. Game plugins (155)
  2. {
  3.   [00] Skyrim.esm
  4.   [01] Update.esm
  5.   [02] Dawnguard.esm
  6.   [03] HearthFires.esm
  7.   [04] Dragonborn.esm
复制代码
游戏中已经加载的ESM和ESP都会列出在这里
并且会打印他们的实际加载顺序
由于MOD管理器不同 可以一开始就查看一下加载顺序是不是正确的 如果有顺序错误 调整后再进游戏试试

至此整个崩溃日志就结束了 实际上崩溃日志的第一句早就已经指出了具体DLL
那么接下来拿两个例子没有指出具体DLL的日志分析一下
  1. Unhandled native exception occurred at 0x7FF60CDAF4C1 (SkyrimSE.exe+BEF4C1) on thread 15616!
  2. Probable callstack
  3. {
  4.   [0]   0x7FF60CDAF4C1     (SkyrimSE.exe+BEF4C1)          unk_BEF460+61
  5.   [1]   0x7FF60C8607B3     (SkyrimSE.exe+6A07B3)          PlayerCharacter::Set3D_6A06B0+103
  6.   [2]   0x7FF60C2F380E     (SkyrimSE.exe+13380E)          TESObjectREFR::unk_1337A0+6E
  7.   [3]   0x7FF60C85A08F     (SkyrimSE.exe+69A08F)          PlayerCharacter::dtor_impl_699DF0+29F
  8.   [4]   0x7FF9C570E174     (hdtSMP64.dll+FE174)           
  9.   [5]   0x7FF60C8809D4     (SkyrimSE.exe+6C09D4)          PlayerCharacter::dtor_6C09C0+14
  10.   [6]   0x7FF9C561454F     (hdtSMP64.dll+454F)            
  11.   [7]   0x7FF9C5613C7D     (hdtSMP64.dll+3C7D)            
  12.   [8]   0x7FF9C565E09E     (hdtSMP64.dll+4E09E)           
  13.   [9]   0x7FF60C76FEE9     (SkyrimSE.exe+5AFEE9)          unk_5AF560+989
  14.   [10]  0x7FF60C76CC0A     (SkyrimSE.exe+5ACC0A)          BSGeometryListCullingProcess::unk_5ACBD0+3A
  15.   [11]  0x7FF60D50B17A     (SkyrimSE.exe+134B17A)         unk_134B05C+11E
  16.   [12]  0x7FFA17BA7974     (KERNEL32.DLL+17974)           
  17.   [13]  0x7FFA1A25A2F1     (ntdll.dll+5A2F1)              
  18.   [14]  0x21DEE54003D                                    
  19. }
复制代码


从下往上 ntdll和kernel32都是windows系统模块 不必在意
注意中间
  [8]   0x7FF9C565E09E     (hdtSMP64.dll+4E09E)           
  [9]   0x7FF60C76FEE9     (SkyrimSE.exe+5AFEE9)          unk_5AF560+989

这里游戏调用了hdtSMP64 随后hdtSMP64又重新调用了游戏
  1.   [0]   0x7FF60CDAF4C1     (SkyrimSE.exe+BEF4C1)          unk_BEF460+61
  2.   [1]   0x7FF60C8607B3     (SkyrimSE.exe+6A07B3)          PlayerCharacter::Set3D_6A06B0+103
  3.   [2]   0x7FF60C2F380E     (SkyrimSE.exe+13380E)          TESObjectREFR::unk_1337A0+6E
  4.   [3]   0x7FF60C85A08F     (SkyrimSE.exe+69A08F)          PlayerCharacter::dtor_impl_699DF0+29F
  5.   [4]   0x7FF9C570E174     (hdtSMP64.dll+FE174)           
  6.   [5]   0x7FF60C8809D4     (SkyrimSE.exe+6C09D4)          PlayerCharacter::dtor_6C09C0+14
  7.   [6]   0x7FF9C561454F     (hdtSMP64.dll+454F)  
复制代码
同时还指出了一个对象 也就是角色本身PlayerCharacter::dtor_impl_699DF0+29F
虽然最终停留在了SkyrimSE.exe当中 但是这次崩溃必定跟hdtSMP有关 或许并不是hdtSMP 也可能是依赖hdtSMP的某些MOD 只不过没有显示在调用栈中而已
如果我没记错的话 发生这次崩溃的时候角色的胸部正在满天飞...
  1. Registers
  2. {
  3.   AX:       0x3451BDF8C8       (void*)
  4.   BX:       0x0                (NULL)
  5.   CX:       0x0                (NULL)
  6.   DX:       0x0                (NULL)
  7.   SI:       0x0                (NULL)
  8.   DI:       0x0                (NULL)
  9.   BP:       0x0                (NULL)
  10.   SP:       0x3451BDF850       (void*)
  11.   IP:       0x7FF60CDAF4C1     (SkyrimSE.exe+BEF4C1) (void*)
  12.   R8:       0x0                (NULL)
  13.   R9:       0x3451BDF8B8       (void*)
  14.   R10:      0x0                (NULL)
  15.   R11:      0x3451BDF8B0       (void*)
  16.   R12:      0x0                (NULL)
  17.   R13:      0x0                (NULL)
  18.   R14:      0x1                (u8):[1]
  19.   R15:      0x0                (NULL)
  20.   Flags:    0x10246           
  21.   XMM0:     (double)1.15012172110631E-311 / (float)6.815916E-42
  22.   XMM1:     (double)1.15110778219575E-311 / (float)2.491856E+33
  23.   XMM2:     (double)1.15110778219575E-311 / (float)2.491856E+33
  24.   XMM3:     (double)0 / (float)0
  25.   XMM4:     (double)0 / (float)0
  26.   XMM5:     (double)1.15110778216808E-311 / (float)2.491847E+33
  27.   XMM6:     (double)0 / (float)0
  28.   XMM7:     (double)0 / (float)0
  29.   XMM8:     (double)0 / (float)0
  30.   XMM9:     (double)0 / (float)0
  31.   XMM10:    (double)0 / (float)0
  32.   XMM11:    (double)0 / (float)0
  33.   XMM12:    (double)0 / (float)0
  34.   XMM13:    (double)0 / (float)0
  35.   XMM14:    (double)0 / (float)0
  36.   XMM15:    (double)0 / (float)0
  37. }
复制代码
  1. <blockquote>Stack
复制代码
继续往下看内容也差不多 寄存器里面基本没有有用的信息不过既然栈中有PlayerCharacter 那么一定是在读取或者操作角色相关时发生了崩溃 多往这方面找下相关MOD即可
由于这个崩溃日志有点老 实际是为什么我已经忘了 大概率是HDT的日常崩溃而已...重启游戏后并不影响

最后再看一个论坛里贴出来的崩溃
http://www.9dmgamemod.com/forum. ... hlight=%B1%C0%C0%A3

  1. Possible relevant objects (4)
  2. {
  3.   [  21]    BSTriShape(Name: `tail-smp`)
  4.   [  59]    NiCamera(Name: `WorldRoot Camera`)
  5.   [ 133]    NiCamera(Name: null)
  6.   [ 148]    ShadowSceneNode(Name: `shadow scene node`)
  7. }
复制代码
可疑对象分别为
第一个我也不认识得查查才知道
第二个相机
第四个应该是阴影相关
  1. Probable callstack
  2. {
  3.   [0]   0x7FF6BDCC57E0     (SkyrimSE.exe+12F57E0)         NiSourceTexture::unk_12F57E0+0
  4.   [1]   0x7FF6BDCC21EB     (SkyrimSE.exe+12F21EB)         BSLightingShader::Func4_12F2020+1CB
  5.   [2]   0x7FF6BDCD84BE     (SkyrimSE.exe+13084BE)         unk_1308440+7E
  6.   [3]   0x7FF6BDCD7F9B     (SkyrimSE.exe+1307F9B)         BSBatchRenderer::unk_1307E80+11B
  7.   [4]   0x7FF6BDCD82D3     (SkyrimSE.exe+13082D3)         BSBatchRenderer::unk_1308030+2A3
  8.   [5]   0x7FF6BDCD7E52     (SkyrimSE.exe+1307E52)         BSBatchRenderer::unk_1307DD0+82
  9.   [6]   0x7FF6BDC9CF4F     (SkyrimSE.exe+12CCF4F)         BSShaderAccumulator::unk_12CCE40+10F
  10.   [7]   0x7FF6BDC9ADFF     (SkyrimSE.exe+12CADFF)         BSShaderAccumulator::unk_12CACD0+12F
  11.   [8]   0x7FF6BDC91672     (SkyrimSE.exe+12C1672)         NiCamera::unk_12C1600+72
  12.   [9]   0x7FF6BDCB3F67     (SkyrimSE.exe+12E3F67)         unk_12E3E70+F7
  13.   [10]  0x7FFDE98D85CB     (KERNELBASE.dll+685CB)         
  14.   [11]  0x7FF6BD739DAF     (SkyrimSE.exe+D69DAF)          unk_D69D00+AF
  15.   [12]  0x7FF6BD744F58     (SkyrimSE.exe+D74F58)          unk_D74EC0+98
  16.   [13]  0x7FF6BCF82096     (SkyrimSE.exe+5B2096)          Main::Draw_5B1860+836
  17.   [14]  0x7FF6BCF81832     (SkyrimSE.exe+5B1832)          Main::unk_5B1710+122
  18.   [15]  0x7FF6BD24FE00     (SkyrimSE.exe+87FE00)          NiCamera::unk_87FD40+C0
  19.   [16]  0x7FF6BCF81301     (SkyrimSE.exe+5B1301)          Main::unk_5B1020+2E1
  20.   [17]  0x7FF6BCB2AA08     (SkyrimSE.exe+15AA08)          TES::unk_15A6E0+328
  21.   [18]  0x7FF6BCC6C683     (SkyrimSE.exe+29C683)          unk_29C440+243
  22.   [19]  0x7FF6BCF835C7     (SkyrimSE.exe+5B35C7)          Main::Update_5B2FF0+5D7
  23.   [20]  0x7FFDBAC5DEC0     (hdtSMP64.dll+4DEC0)           
  24.   [21]  0x7FF6BCF7F4F4     (SkyrimSE.exe+5AF4F4)          MainLoop_5AF3D0+124
  25.   [22]  0x7FF6BCF7CC05     (SkyrimSE.exe+5ACC05)          BSGeometryListCullingProcess::unk_5ACBD0+35
  26.   [23]  0x7FF6BDD1B17A     (SkyrimSE.exe+134B17A)         unk_134B05C+11E
  27.   [24]  0x7FFDEABD7034     (KERNEL32.DLL+17034)           
  28.   [25]  0x7FFDEBE22651     (ntdll.dll+52651)              
  29. }
复制代码
这里是调用栈
这种就属于比较难判断了
全部都是游戏本身中
虽然这里也有途经hdtSMP64 但是可能性不大 因为距离崩溃的地点是在太远了
需要注意的是这里
  [0]   0x7FF6BDCC57E0     (SkyrimSE.exe+12F57E0)         NiSourceTexture::unk_12F57E0+0
  [1]   0x7FF6BDCC21EB     (SkyrimSE.exe+12F21EB)         BSLightingShader::Func4_12F2020+1CB

第一个是贴图相关
第二个应该是灯光阴影
而BSBatchRenderer::unk_1307E80+11B应该是渲染相关

  1. Registers
  2. {
  3.   AX:       0x0                (NULL)
  4.   BX:       0x132F7A725A0      (BSLightingShaderMaterial*)
  5.   CX:       0x42A00000C2A00000 (u64):[4800837206042214400] (f32):[-80]
  6.   DX:       0x132F7A725A0      (BSLightingShaderMaterial*)
  7.   SI:       0x132EC7DBF00      (BSLightingShader*)
  8.   DI:       0x132F7A725A0      (BSLightingShaderMaterial*)
  9.   BP:       0xA001             (u16):[40961]
  10.   SP:       0x112F2FF1B8       (char**) "H???"
  11.   IP:       0x7FF6BDCC57E0     (SkyrimSE.exe+12F57E0) (void*)
  12.   R8:       0x132EC896E00      (char**) "Ip"
  13.   R9:       0x1                (u8):[1]
  14.   R10:      0x18046FE30        (d3d11.dll+46FE30) (void*)
  15.   R11:      0x1332AACF8B8      (void*)
  16.   R12:      0x1                (u8):[1]
  17.   R13:      0x0                (NULL)
  18.   R14:      0x1326CB6A140      (void*)
  19.   R15:      0x132EC896E00      (char**) "Ip"
  20.   Flags:    0x10202   
复制代码
寄存器中再次出现灯光相关的对象 其他数据大多无意义
  1. Stack
  2. {
  3.   [SP+0]    0x7FF6BDCC21EB     (SkyrimSE.exe+12F21EB) (char*) "H???"
  4.   [SP+8]    0x1325CA3FA50      (void*)
  5.   [SP+10]   0x41               (u8):[65]
  6.   [SP+18]   0x1326CB6A140      (void*)
  7.   [SP+20]   0x132F7A725A0      (BSLightingShaderMaterial*)
复制代码
栈内容也多次提到了BSLightingShaderMaterial
后面由于他加载的MOD太多 而且我自己只打实验室MOD 其他MOD看不太懂是什么
所以只能到这里就开始推测 他崩溃的原因大概率于影响光线 阴影一类的MOD相关 例如ENB
但是ENB本身导致崩溃的概率很小 至少我没见过也没听说过 并且在崩溃日志中也没有明确提及ENB的相关DLL
NiSourceTexture 本身就是游戏中的内置对象 而日志里所有BSxxx这样格式的对象名称也均为游戏本身内置对象
所以最终猜测是除ENB以外 并且对光线 阴影会产生印象一类的MOD因为冲突造成了这次崩溃
其中BSLightingShaderMaterial 大概的意思是光照着色器材质对象 或许这里就是崩溃的真正原因


另外在提一点 除了BSxxx以外 TESxxx也全部都是游戏中的内置对象 他们后面跟的大多都是具体对象功能
比如TESQuest是任务 TESActor是角色 TESKey 钥匙 TESNPC NPC 以此类推 只需要翻译出后面的英文就能知道大概用途

OK 那么SSE崩溃日志分析教程就到这里了 如果有需要帮忙分析的日志也可以贴上来 但并不是贴出了崩溃日志就能100%分析出原因
并且在贴日志之前 尽量去先关掉MOD一个一个试试再说 实在搞不定的 可以贴日志上来















评分

参与人数 13贡献 +54 金元 +623 点赞 +93 猫币 +5 收起 理由
wushinibb + 2 + 2 很给力
renkai0821 + 2 + 10 + 5 很给力
ldy5297213 + 5 + 5 意义重大!最喜欢学习能自己解决这些问题的.
左铭薇 + 1 + 1 很给力
李无敌 + 5 + 5 很给力
何苦呢,闭嘴吧 + 10 + 150 + 10 热心人士
a3563907 + 5 + 5 谢谢大佬解决我的问题!
Sokusha + 5 + 5 拜见巨佬,希望这种教程可以多来点
mrc0580 + 2 + 10 + 5 666
往事 + 10 + 120 + 10 + 5 热心人士
chiruiyaya + 5 + 5 很给力
hanghai9999 + 5 + 5 鼓励分享
龙狩翁斯坦 + 30 + 300 + 30 这个必须支持!!!!

查看全部评分

回复

使用道具 举报

13

主题

1177

帖子

5万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
326
贡献
245
猫币
14
精华
0
金元
51784
积分
58976
发表于 2021-12-31 23:32:20 | 显示全部楼层
进我的收藏夹吃灰吧
回复

使用道具 举报

0

主题

707

帖子

3万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
11
贡献
0
猫币
0
精华
0
金元
24684
积分
36001
发表于 2022-1-1 10:09:43 | 显示全部楼层
帮顶一下~
回复

使用道具 举报

3

主题

2555

帖子

3万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
1
贡献
6
猫币
0
精华
0
金元
32704
积分
35329
发表于 2022-1-1 10:16:40 | 显示全部楼层
不错不错,这个非常好,非常非常专业的内容
回复

使用道具 举报

26

主题

1974

帖子

11万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
334
贡献
226
猫币
37
精华
0
金元
82595
积分
117099
发表于 2022-1-1 10:17:13 | 显示全部楼层
你不会以为我真的看得懂吧
回复

使用道具 举报

42

主题

1494

帖子

149万

积分

SHARKAIY

Woaixiewen

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
1868
贡献
2810
猫币
1627
精华
0
金元
1464190
积分
1498834

瑟拉娜奥杜因米拉克山城3D版小鸟游六花Q版梦想的开始天际传奇大赛·首届限定版新人版主亚丝娜(妖精版)康娜卡姆依Q版骨灰玩家游戏圣者游戏天王夏娜小暗帕秋莉英梨梨加藤惠姬野星奏游戏之神游戏终结者式部茉优初音未来小太郎立华奏官方群水友冲田纱羽姬柊雪菜岛风黑雪姬梦梦楪祈茜康娜卡姆依霞之丘诗羽真白椎名真白千斗五十铃亚丝娜森野精华桐谷直叶Saber筒隐月子愿望成真新春纪念SHARKAIY组小勋章SHARKAIY组勋章

发表于 2022-1-1 13:26:12 | 显示全部楼层
支持大佬!!
Woaixiewen
回复

使用道具 举报

79

主题

1717

帖子

12万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
1240
贡献
1050
猫币
82
精华
0
金元
99058
积分
120615

SHARKAIY组勋章梦想的开始最佳新人活跃会员热心会员论坛元老资源搬运工1级天际SHARKAIY组小勋章康娜卡姆依Q版筒隐月子小太郎小鸟游六花Q版山城3D版真白立华奏森野精华小豆梓康娜卡姆依SHARKAIY

发表于 2022-1-1 14:34:57 | 显示全部楼层
字都认识 凑在一起 我就懵逼了
回复

使用道具 举报

7

主题

156

帖子

4万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
413
贡献
290
猫币
18
精华
0
金元
38284
积分
44090
 楼主| 发表于 2022-1-1 16:37:20 | 显示全部楼层
隐隐终生 发表于 2022-1-1 14:34
字都认识 凑在一起 我就懵逼了

哈哈哈哈忍不住笑出声 实在不行可以把日志发出来可以帮忙看看
回复

使用道具 举报

0

主题

601

帖子

1万

积分

游戏之神

Rank: 14Rank: 14Rank: 14Rank: 14

点赞
0
贡献
0
猫币
0
精华
0
金元
12470
积分
18571
发表于 2022-1-1 18:08:46 | 显示全部楼层
膜拜大佬
回复

使用道具 举报

10

主题

478

帖子

1万

积分

游戏之神

Rank: 14Rank: 14Rank: 14Rank: 14

点赞
74
贡献
82
猫币
4
精华
0
金元
10894
积分
12622
发表于 2022-1-1 21:00:16 | 显示全部楼层
其实,不装乱七八糟的MOD(L网的),只用N网的,装之前仔细阅读MOD描述,安装要求和置顶帖子,尽量避免复杂但又很久没更新的MOD,能避免90%+的CTD
剩下的基本就是固定位置CTD(一般都是网格/纹理损坏,或者MOD冲突但是很容易排查出来)和因为内存耗尽,骨骼出错,插件崩溃等随机但是几率很小的CTD.
回复

使用道具 举报

3

主题

949

帖子

10万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
140
贡献
196
猫币
19
精华
0
金元
74749
积分
106708

夜夜.月影红莲梦想的开始游戏终结者游戏之神游戏圣者游戏天王骨灰玩家游戏VIP联动部

发表于 2022-1-1 21:01:18 | 显示全部楼层
跟7楼一样的感觉
回复

使用道具 举报

1

主题

2437

帖子

3万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
0
贡献
2
猫币
0
精华
0
金元
27614
积分
30071
发表于 2022-1-2 15:56:23 | 显示全部楼层
你不会以为我真的看得懂吧
回复

使用道具 举报

7

主题

156

帖子

4万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
413
贡献
290
猫币
18
精华
0
金元
38284
积分
44090
 楼主| 发表于 2022-1-2 17:42:17 | 显示全部楼层
saaaaty 发表于 2022-1-1 21:00
其实,不装乱七八糟的MOD(L网的),只用N网的,装之前仔细阅读MOD描述,安装要求和置顶帖子,尽量避免复杂但 ...

是的 但有时候小概率的CTD在作者修复成功之前头疼之极
回复

使用道具 举报

5

主题

1018

帖子

6万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
20
贡献
22
猫币
8
精华
0
金元
40818
积分
68996

圣诞娘

发表于 2022-1-3 10:41:32 | 显示全部楼层
Possible relevant objects (3)
{
  [ 109]    TESNPC(Name: `???????????????`, FormId: FF000D62)
  [ 109]    Character(FormId: 38031A69, File: `Immersive Wenches.esp`, BaseForm: TESNPC(Name: `???????????????`, FormId: FF000D62))
  [ 130]    BSLightingShaderProperty(Name: null)
}

Probable callstack
{
  [0]   0x7FF7D724DDDA     (SkyrimSE.exe+D6DDDA)          unk_D6DD70+6A
  [1]   0x7FF7D78083B5     (SkyrimSE.exe+13283B5)         unk_1328370+45
  [2]   0x7FF7D7148CEF     (SkyrimSE.exe+C68CEF)          unk_C68BA0+14F
  [3]   0x7FF7D721A58E     (SkyrimSE.exe+D3A58E)          unk_D3A4D0+BE
  [4]   0x7FF7D69FE646     (SkyrimSE.exe+51E646)          unk_51E440+206
  [5]   0x7FF7D7219445     (SkyrimSE.exe+D39445)          unk_D392B0+195
  [6]   0x7FF7D7775D93     (SkyrimSE.exe+1295D93)         unk_1295C30+163
  [7]   0x7FF9891CF55A     (skee64.dll+CF55A)            
  [8]   0xFFFFFFFF                                       
  [9]   0xFFFFFFFF                                       
}
回复

使用道具 举报

5

主题

1018

帖子

6万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
20
贡献
22
猫币
8
精华
0
金元
40818
积分
68996

圣诞娘

发表于 2022-1-3 10:42:13 | 显示全部楼层
WFloating-Dream 发表于 2022-1-3 10:41
Possible relevant objects (3)
{
  [ 109]    TESNPC(Name: `???????????????`, FormId: FF000D62)

大佬看看这个
回复

使用道具 举报

7

主题

156

帖子

4万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
413
贡献
290
猫币
18
精华
0
金元
38284
积分
44090
 楼主| 发表于 2022-1-3 12:52:57 | 显示全部楼层
WFloating-Dream 发表于 2022-1-3 10:41
Possible relevant objects (3)
{
  [ 109]    TESNPC(Name: `???????????????`, FormId: FF000D62)

[ 109]    TESNPC(Name: `???????????????`, FormId: FF000D62)
  [ 109]    Character(FormId: 38031A69, File: `Immersive Wenches.esp`, BaseForm: TESNPC(Name: `???????????????`, FormId: FF000D62))
这个很明显是跟NPC有关 是加载的时候就直接崩溃了么
放完整的 不完整的看不出来
回复

使用道具 举报

5

主题

1018

帖子

6万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
20
贡献
22
猫币
8
精华
0
金元
40818
积分
68996

圣诞娘

发表于 2022-1-4 10:58:05 | 显示全部楼层
processhacker 发表于 2022-1-3 12:52
[ 109]    TESNPC(Name: `???????????????`, FormId: FF000D62)
  [ 109]    Character(FormId: 38031A ...

文本上传了,大佬打开看看吧

Crash_2022_1_3_3-0-2.txt

59.43 KB, 下载次数: 21

回复

使用道具 举报

7

主题

156

帖子

4万

积分

SHARKAIY

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
413
贡献
290
猫币
18
精华
0
金元
38284
积分
44090
 楼主| 发表于 2022-1-4 11:35:03 | 显示全部楼层
  R13:      0x7FF7D94FD8B0     (SkyrimSE.exe+301D8B0) (void*)
  R14:      0x3108FF960        (BSResource::anonymous_namespace::LooseFileStream**)
  R15:      0x7FF7D82E6520     (SkyrimSE.exe+1E06520) (void*)

  [SP+48]   0x1                (u8):[1]
  [SP+50]   0x3108FF7C8        (BSResourceNiBinaryStream*)
  [SP+58]   0x0                (NULL)

  [SP+198]  0x3108FF9C0        (char*) "textures\Actors\Character\slavetats\Deviant\butterfly.dds"
  [SP+1A0]  0x3                (u8):[3]
  [SP+1A8]  0x1AB88F801E8      (char*) "("
  [SP+1B0]  0x0                (NULL)
  [SP+1B8]  0x1AC0D763600      (BSResource::anonymous_namespace::LooseFileStream*)
  [SP+1C0]  0xFFFFFFFFFFFFFFFE (i64):[-2]
  [SP+1C8]  0xFFFFFFFFFFFFFFFE (i64):[-2]
  [SP+1D0]  0x0                (NULL)
  [SP+1D8]  0x1                (u8):[1]
  [SP+1E0]  0x3108FF9C0        (char*) "textures\Actors\Character\slavetats\Deviant\butterfly.dds"
加载资源文件

  [ 109]    Character(FormId: 38031A69, File: `Immersive Wenches.esp`, BaseForm: TESNPC(Name: `???????????????`, FormId: FF000D62))

1.停用  [38] Immersive Wenches.esp 并且找找看031A69这个ID究竟是什么东西
2.停用slavetats 试试看 栈里数据表示正在加载贴图文件 大概是纹身这类的  例如这个路径 "textures\Actors\Character\slavetats\Deviant\butterfly.dds"

以上两种办法可以试试
回复

使用道具 举报

79

主题

1194

帖子

17万

积分

9DM哗哗MOD组

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
2192
贡献
2343
猫币
67
精华
1
金元
113646
积分
178815

梦想的开始最佳新人热心会员论坛元老龙裔大赛特约点评论坛卓越汉化者姬柊雪菜小豆梓茜

发表于 2022-1-4 15:20:31 | 显示全部楼层
https://www.nexusmods.com/skyrimspecialedition/mods/49130
看看这个,很多常用的跳出类型都在txt文件里给出了答案
回复

使用道具 举报

5

主题

1018

帖子

6万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
20
贡献
22
猫币
8
精华
0
金元
40818
积分
68996

圣诞娘

发表于 2022-1-5 09:19:49 | 显示全部楼层
processhacker 发表于 2022-1-4 11:35
R13:      0x7FF7D94FD8B0     (SkyrimSE.exe+301D8B0) (void*)
  R14:      0x3108FF960        (BSRes ...

ok,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|玖大猫论坛

GMT+8, 2025-6-3 03:52

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.