有时候,我在Android设备上遇到崩溃,当我去查看日志以查看原因时,堆栈跟踪并没有太大帮助。通常我得到的是代码中要调出的最后一行只是函数/方法块的最后一行;例如带有大括号的行。并且之前的堆栈跟踪行只是方法/功能块中第一行的行号。
在那之后,堆栈跟踪几乎是模糊的。有希望尝试破译这样的堆栈跟踪吗?
回溯:
#00 pc 0004b540 /system/lib/libc.so (tgkill+12)
#01 pc 00048c43 /system/lib/libc.so (pthread_kill+34)
#02 pc 0001e221 /system/lib/libc.so (raise+10)
#03 pc 002a2bc8 /data/app/com.company.game/lib/arm/libmono.so
#04 pc 002a2cc4 /data/app/com.company.game/lib/arm/libmono.so
#05 pc 002a2d20 /data/app/com.company.game/lib/arm/libmono.so
#06 pc 00116e3c /data/app/com.company.game/lib/arm/libmono.so
#07 pc 001170d8 /data/app/com.company.game/lib/arm/libmono.so
#08 pc 0011774c /data/app/com.company.game/lib/arm/libmono.so
#09 pc 001262f4 /data/app/com.company.game/lib/arm/libmono.so
#10 pc 000eb020 /data/app/com.company.game/lib/arm/libmono.so
#11 pc c7d80054 <unknown/absolute>
#12 il ........ at WorldObject.evaluate_position () [0x00031] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/WorldObjects/WorldObject.cs:225
#13 il 00000028 at WorldObjec.evaluate_position () [0x0000d] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/WorldObjects/WorldObject.cs:218
#14 il 00000073 at WidgetMapSocket.on_world_object_pathing_complete_listener (WorldObject) [0x0003b] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/UI/Widgets/Map/WidgetMapSocket.cs:1031
#15 il 00000063 at (wrapper delegate-invoke) System.Action`1<WorldObject>.invoke_void__this___WorldObject (WorldObject) <IL 0x00042, 0x00063>
#16 il 0000008f at (wrapper delegate-invoke) System.Action`1<WorldObject>.invoke_void__this___WorldObject (WorldObject) <IL 0x00056, 0x0008f>
#17 il 00000073 at WorldObject.on_pathing_complete (WorldObject) [0x00031] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/WorldObjects/WorldObject.cs:605
#18 il 000000a3 at GameHelper.exec<object> (System.Collections.Generic.IList`1<System.Action`1<object>>,object) [0x00032] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/Helper/GameHelper.cs:236
#19 il 00000413 at WorldObject/<pathing_coroutine>c__Iterator2.MoveNext () [0x0022a] in /Volumes/JenkinsRAID/Jenkins/workspace/Game(Debug)/Assets/Scripts/WorldObjects/WorldObject.cs:816
#20 il 00000067 at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator,intptr) [0x00028] in /Users/builduser/buildslave/unity/build/Runtime/Export/Coroutines.cs:17
#21 il 0000007b at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object_intptr (object,intptr,intptr,intptr) <IL 0x00022, 0x0007b>
#00 pc 000222fb /data/app/com.company.game/lib/arm/libmono.so
#01 pc 001f6054 /data/app/com.company.game/lib/arm/libmono.so (mono_runtime_invoke+136)
#02 pc 008c8858 /data/app/com.company.game/lib/arm/libunity.so (ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)+84)
#03 pc 008a817c /data/app/com.company.game/lib/arm/libunity.so (Coroutine::InvokeMoveNext(ScriptingExceptionPtr*)+164)
#04 pc 008a7d4c /data/app/com.company.game/lib/arm/libunity.so (Coroutine::Run(bool*)+44)
#05 pc 003e7490 /data/app/com.company.game/lib/arm/libunity.so (DelayedCallManager::Update(int)+864)
#06 pc 0063a4fc /data/app/com.company.game/lib/arm/libunity.so (InitPlayerLoopCallbacks()::UpdateScriptRunDelayedDynamicFrameRateRegistrator::Forward()+40)
#07 pc 0063adf8 /data/app/com.company.game/lib/arm/libunity.so (PlayerLoop()+1716)
#08 pc 00a11904 /data/app/com.company.game/lib/arm/libunity.so (UnityPlayerLoop()+856)
#09 pc 00a13ecc /data/app/com.company.game/lib/arm/libunity.so (nativeRender(_JNIEnv*, _jobject*)+228)