【发布时间】:2018-05-07 15:20:09
【问题描述】:
我的代码:
try
{
throw new System.ArgumentException("Parameter cannot be null", "original");
}
catch (Exception ex)
{
string exception = ex.ToString();
}
但正确的堆栈跟踪只能在 Unity 的编辑器中获取。
System.ArgumentException: Parameter cannot be null
Parameter name: original
at MyClassName (System.String message) [0x00026] in /Users/xxx/Documents/xxx/myPackageName/xxx/xxx/xxx/myClassName.cs:104
在设备堆栈跟踪是这样的:
System.ArgumentException: Parameter cannot be null
Parameter name: original
at MyClassName(System.String message) [0x00000] in <filename unknown>:0
at UnityEngine.Events.UnityAction.Invoke () [0x00000] in <filename unknown>:0
at UnityEngine.Events.InvokableCallList.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0
at UnityEngine.Events.UnityEventBase.Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0
at UnityEngine.Events.UnityEvent.Invoke () [0x00000] in <filename unknown>:0
at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00000] in <filename unknown>:0
at UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1].Invoke (.T1 handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00000] in <filename unknown>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) [0x00000] in <filename unknown>:0
at UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchPress (UnityEngine.EventSystems.PointerEventData pointerEvent, Boolean pressed, Boolean released) [0x00000] in <filename unknown>:0
at UnityEngine.EventSystems.EventSystem.Update () [0x00000] in <filename unknown>:0
为什么在 Unity 的编辑器中我在堆栈跟踪中有文件名和行号,但在这个 iOS 设备上我没有这个?
这是一个开发版本
【问题讨论】:
-
试想一下 - 它如何在编译后的版本上工作??
-
没有办法获取编译构建的数据?
-
现在有办法在任何地方获取源文件行,但也不支持 iOS il2cpp 文件名,所以不支持,很遗憾不支持。
-
我不知道他们是怎么做到的,但他们有这个工具的行号:unity3d.com/learn/tutorials/topics/analytics/…
标签: ios unity3d stack-trace