TH1/MD/CrashSight_2026-06-05_0.7.2c_1day/blocking/002_steam-api64-dll-missing.md

7.8 KiB
Raw Blame History

Steam API DLL 缺失

  • 分类blocking
  • Issue 数4
  • 0.7.2c 最近一天次数23
  • 设备数合计20
  • 报告生成2026-06-05 12:00:37

Issue

Issue 类型 次数 设备 最近上报 消息
27cb809bdb0fe2222294c7be7ce6bda2 UnityLogError 1 1 2026-06-04 16:06:52 [UIOutsideMultiplay] LeaveRoom exception: System.DllNotFoundException: Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x06000000) - 找不到指定的模組。 (WinError:0000007e) at Steamworks.CSteamAPIContext.Init () [0x00000] in <000000…
f488d5aa4b1e1b4e2f9cf6329f44773c UnityLogError 1 1 2026-06-04 16:06:42 EventManager Publish listener failed: System.DllNotFoundException: Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x06000000) - 找不到指定的模組。 (WinError:0000007e) at Steamworks.CSteamAPIContext.Init () …
a2953c646aa11a95f841d94c914fc7e4 DllNotFoundException 7 5 2026-06-04 14:13:49 Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x06000000) - 找不到指定的模块。 (WinError:0000007e)
7f89cba132f64d7a6c3afed5306ea1dc UnityLogError 14 13 2026-06-04 14:13:20 EventManager Publish listener failed: System.DllNotFoundException: Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x06000000) - 找不到指定的模块。 (WinError:0000007e) at Steamworks.CSteamAPIContext.Init () …

设备上下文

27cb809bdb0fe2222294c7be7ce6bda2

  • 样本 CrashId472161f7727944f3bd83b749d3e12369
  • 样本 DeviceIda4-6b-b6-09-62-62
  • CrashSight 附带日志文件:False

该样本未能从 API 取得可用 device 上下文,根因判断保持不完整。

f488d5aa4b1e1b4e2f9cf6329f44773c

  • 样本 CrashIdec9a6b2bd0a248efbd47aa65006068c0
  • 样本 DeviceIda4-6b-b6-09-62-62
  • CrashSight 附带日志文件:False

该样本未能从 API 取得可用 device 上下文,根因判断保持不完整。

a2953c646aa11a95f841d94c914fc7e4

  • 样本 CrashId6cb6865ff58a4c738d5502accf500a83
  • 样本 DeviceId74-d4-dd-d1-dc-ec
  • CrashSight 附带日志文件:False

最终上报内容:

DllNotFoundException
Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x06000000) - 找不到指定的模块。  (WinError:0000007e)
Steamworks.CSteamAPIContext.Init () (at <00000000000000000000000000000000>.0)
Steamworks.InteropHelp.TestIfAvailableClient () (at <00000000000000000000000000000000>.0)
Steamworks.SteamMatchmaking.AddRequestLobbyListDistanceFilter (Steamworks.ELobbyDistanceFilter eLobbyDistanceFilter) (at <00000000000000000000000000000000>.0)
bag.jdo (Steamworks.ELobbyDistanceFilter a, System.Int32 b, System.String c, System.String d, System.Boolean e) (at <00000000000000000000000000000000>.0)
TH1_UI.View.Outside.UIOutsideMultiplayView.dio () (at <00000000000000000000000000000000>.0)

Steamworks.CSteamAPIContext.Init () (at <00000000000000000000000000000000>.0)
Steamworks.InteropHelp.TestIfAvailableClient () (at <00000000000000000000000000000000>.0)
Steamworks.SteamMatchmaking.AddRequestLobbyListDistanceFilter (Steamworks.ELobbyDistanceFilter eLobbyDistanceFilter) (at <00000000000000000000000000000000>.0)
bag.jdo (Steamworks.ELobbyDistanceFilter a, System.Int32 b, System.String c, System.String d, System.Boolean e) (at <00000000000000000000000000000000>.0)
TH1_UI.View.Outside.UIOutsideMultiplayView.dio () (at <00000000000000000000000000000000>.0)

Steamworks.CSteamAPIContext.Init () (at <00000000000000000000000000000000>.0)
Steamworks.InteropHelp.TestIfAvailableClient () (at <00000000000000000000000000000000>.0)
Steamworks.SteamMatchmaking.AddRequestLobbyListDistanceFilter (Steamworks.ELobbyDistanceFilter eLobbyDistanceFilter) (at <00000000000000000000000000000000>.0)
bag.jdo (Steamworks.ELobbyDistanceFilter a, System.Int32 b, System.String c, System.String d, System.Boolean e) (at <00000000000000000000000000000000>.0)
TH1_UI.View.Outside.UIOutsideMultiplayView.dio () (at <00000000000000000000000000000000>.0)

DllNotFoundException
Unable to load DLL 'steam_api64'. Tried the load the following dynamic libraries: Unable to load dynamic library 'steam_api64' because of 'Failed to open the requested dynamic library (0x0600
...

同设备最近 ERROR 上报序列:

时间 Issue 类型 消息
2026-06-04 19:41:09 83c5b5b46447ac4e50101f1148f4ab70
2026-06-04 19:01:03 10d4df507992c1a66a90693df20b21c3
2026-06-04 18:13:27 95acc470976c3634591ff4405b96d3b0
2026-06-04 14:26:06 10d4df507992c1a66a90693df20b21c3
2026-06-04 14:13:49 a2953c646aa11a95f841d94c914fc7e4
2026-06-04 14:13:32 a2953c646aa11a95f841d94c914fc7e4
2026-06-04 14:13:20 7f89cba132f64d7a6c3afed5306ea1dc

代码位置

  • Unity/Assets/Scripts\TH1_UI\View\Outside\UIOutsideMultiplayView.cs:323: OnRefreshLobbyClicked();
  • Unity/Assets/Scripts\TH1_UI\View\Outside\UIOutsideMultiplayView.cs:1415: OnRefreshLobbyClicked();
  • Unity/Assets/Scripts\TH1_UI\View\Outside\UIOutsideMultiplayView.cs:1977: _lobby.SearchPublicLobbies();
  • Unity/Assets/Scripts\TH1_Logic\Steam\SteamLobbyManager.cs:1155: _cbLobbyMatchList = Callback<LobbyMatchList_t>.Create(OnLobbyMatchListCallback);
  • Unity/Assets/Scripts\TH1_Logic\Steam\SteamLobbyManager.cs:1158: SteamMatchmaking.AddRequestLobbyListDistanceFilter(filter);

解码结论

解码后的异常入口同样是多人大厅刷新链路,但异常类型是 System.DllNotFoundException: Unable to load DLL 'steam_api64',栈从 Steamworks.CSteamAPIContext.Init 进入 SteamMatchmaking.AddRequestLobbyListDistanceFilter,再回到 SteamLobbyManager.SearchPublicLobbiesUIOutsideMultiplayView.OnRefreshLobbyClicked

四个 Issue 的语言环境略有差异(简体/繁体模块缺失提示),但同属 Steamworks 动态库不可用时 UI 仍调用 Steam API。与 Steamworks 未初始化 家族的区别是这里底层 native DLL 直接缺失或无法加载;合并依据是相同 Steam API 初始化路径和相同多人大厅触发点。它会造成多人入口/刷新/退出房间路径阻断,建议优先在进入多人 UI 和搜索大厅前统一检查 Steamworks/DLL 可用状态,并给出非 CrashSight 异常路径。

判断

这是阻断类,因为 CrashSight 行或 LogError 包装内容中存在真实异常类型、异常对象或调用栈;不是单纯业务状态诊断。 本批样本 hasLogFile=falseAPI 能拿到的是最终上报内容和同设备 ERROR 上报序列,不包含完整 Unity 运行日志;根因上下文按可见上报链路记录。

建议

优先按次数最高的 Issue 样本复现并修复;若同设备上报序列中出现更早的异常,应以更早异常作为源头处理。