

A diagnostic tool for Dyson Sphere Program that enhances error reporting and helps identify possible problematic mods.

When an error occurs, you'll see an enhanced error message with:
The error dialog will show "possible candidates" for problematic mods. This isn't always conclusive, but provides a good starting point for troubleshooting. Try:
If an entity (factory machines, belt, etc.) is identified as part of the running error:
To report errors to mod developers:
Below is an example of the error message that can be copied to your clipboard:
Error report: Game version 0.10.32.25783 with 10 mods used.
possible candidates: [ErrorAnalyzer1.3.0][ErrorTester1.0.0]
IndexOutOfRangeException: Index was outside the bounds of the array.
StationComponent.DetermineDispatch (float shipSailSpeed, float shipWarpSpeed, int shipCarries, int priorityIndex, StationComponent[] gStationPool, FactoryProductionStat[] factoryStatPool, PlanetFactory[] factories, GalaxyData galaxy, TrafficStatistics tstat); (IL_0DB2)
GalacticTransport.GameTick (long time); (IL_00FD)
GameData.GameTick (long time); (IL_01DC)
GameMain.FixedUpdate (); (IL_017B)
[== Mods on stack trace ==]: [ErrorAnalyzer]
void ErrorAnalyzer.Testing.Plugin::DetermineDispatch_Postfix(); DetermineDispatch(Postfix)
Explanation:
StationComponent.DetermineDispatch function.ErrorAnalyzer.Testing.Plugin::DetermineDispatch_Postfix() is harmony postfix to StationComponent.DetermineDispatch, which is likely the cause of the error.Notes:
Re-intialize planet in UXAssist. If they still not work then you'll have to roll back to the previous normal save.The config file is BepInEx\config\aaa.dsp.plugin.ErrorAnalyzer.cfg, which can be found in mod manager's Config editor.
## Settings file was created by plugin ErrorAnalyzer
## Plugin GUID: aaa.dsp.plugin.ErrorAnalyzer
[DEBUG Mode]
## Enable DEBUG mode to track the entity when starting up the game
# Setting type: Boolean
# Default value: false
Enable = false
[Message]
## Show all mod patches on the stacktrace (By default it will not list GameData.Gametick() and below methods)
# Setting type: Boolean
# Default value: false
Show All Patches = false
## Dump Harmony patches of all mods when the game load in BepInEx\LogOutput.log
# Setting type: Boolean
# Default value: false
Dump All Patches = false
When the DEBUG tracking mode is on, the navigate button will change color. In this mode, it will track the entity that throws errors and move the player to the location when it is on the same planet. Errors in the following methods will be handled too in this mode to let the player dismantle the corrupted building:
CargoTraffic.SetBeltState, CargoContainer.RemoveCargo, CargoTraffic.PickupBeltItems
错误分析器mod一款适用于戴森球计划的诊断工具,可增强错误报告并帮助识别可能有问题的模组。

当发生错误时,您将看到增强的错误信息,包含:
错误信息将显示问题模组的"可能候选项"。这并非总是确定的,但为故障排除提供了良好的起点。尝试:
如果某个实体(工厂机器、传送带等)被识别为运行错误的一部分:
向模组开发者报告错误:
以下是可以复制到剪贴板的错误信息示例:
Error report: Game version 0.10.32.25783 with 10 mods used.
possible candidates: [ErrorAnalyzer1.3.0][ErrorTester1.0.0]
IndexOutOfRangeException: Index was outside the bounds of the array.
StationComponent.DetermineDispatch (float shipSailSpeed, float shipWarpSpeed, int shipCarries, int priorityIndex, StationComponent[] gStationPool, FactoryProductionStat[] factoryStatPool, PlanetFactory[] factories, GalaxyData galaxy, TrafficStatistics tstat); (IL_0DB2)
GalacticTransport.GameTick (long time); (IL_00FD)
GameData.GameTick (long time); (IL_01DC)
GameMain.FixedUpdate (); (IL_017B)
[== Mods on stack trace ==]: [ErrorAnalyzer]
void ErrorAnalyzer.Testing.Plugin::DetermineDispatch_Postfix(); DetermineDispatch(Postfix)
解释:
StationComponent.DetermineDispatch 函数中的 IndexOutOfRangeException 引起。ErrorAnalyzer.Testing.Plugin::DetermineDispatch_Postfix() 是 StationComponent.DetermineDispatch 的后缀补丁(HarmonyPostfix),这很可能是错误的原因。注意