Tencent / InjectFix

InjectFix is a hot-fix solution library for Unity
Other
1.97k stars 417 forks source link

Inject之后,打包版本的异常和LogError都没有栈了 #323

Open FlyTheFatty opened 3 years ago

FlyTheFatty commented 3 years ago

我们项目接入InjectFix之后,在自动化打包脚本里面打出来的包C#层级报错和LogError都没有相关的栈,比如下面这个样子:

2021/7/1 17:37:11 CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "dj_stone07_07" 2021/7/1 17:40:15 LuaException: [string "chunk"]:4: ')' expected near '<\239>' XLua.LuaEnv.ThrowExceptionFromError (System.Int32 oldTop) (at <00000000000000000000000000000000>:0)

但是比较奇怪的是,在测试工程里栈信息倒是全的。

image

我们项目里通过这个毁掉来搜集报错信息 Application.logMessageReceived -= _OnDebugLogCallbackHandler;

请问有没有什么思路,这个报错栈丢失 跟什么设置有关系?

chexiongsheng commented 3 years ago

跟用的cecil库版本比较低,处理不了符号文件有关,你升级cecil库试试,库放这里:https://github.com/Tencent/InjectFix/tree/master/Source/UnityProj/IFixToolKit