Lua iOS 设备上的堆栈只有 ?,没有 class 名称或行号
Lua stack on iOS device only has ?, and not class names or line numbers
我正在 iOS 设备上调试用 Corona 制作的应用程序。我们已经将我们的应用程序通过办公室周围的试飞进行测试,并为我们的测试人员提供了一些 xCode 教程,以便他们可以在出现错误时向我们提供设备日志。但是现在,当他们向我们发送错误报告时,我们注意到堆栈跟踪中没有 class 名称或行号——因此无法判断错误来自何处。它看起来像这样:
Feb 26 17:39:01 Daniels-iPad ABC096-apple[3106] <Warning>: ?:0: attempt to get length of upvalue '?' (a nil value)
stack traceback:
?: in function 'addBody'
?: in function 'createObstacle'
?: in function 'spawnOne'
?: in function 'spawn'
?: in function 'conditionalSpawn'
?: in function 'begin'
?: in function '?'
?: in function 'handleAdded'
?: in function 'add'
?: in function 'createObstacleSpawner'
?: in function <?:210>
(tail call): ?
?: in function '?'
?: in function <?:148>
?: in function 'listener'
?: in function 'dispatch'
?: in function 'tellViews'
?: in function '?'
?: in function <?:151>
帮助不大!然而,我知道在过去,当我直接从我的计算机将我的应用程序加载到我的设备时,我看到了更多有用的堆栈跟踪——而不是通过互联网,通过试飞。有什么方法可以分发应用程序并仍然获得良好的堆栈跟踪?当我在 Corona 中构建它时,它是否与我的应用程序附带的 dSym 文件完全相关?帮助我,欧比旺斯,你是我唯一的希望!怎么办?
我不知道 Corona 是如何工作的,但您的脚本似乎已经过预编译并删除了 Lua 内部维护的调试信息。
它与 dSym 或任何外部无关。
扩展 lhf ,默认情况下,Corona 会去除分发版本中的调试信息,并将其保留在调试版本中。 [1]
所以,您可能想要 create/edit build.settings
文件并进行设置:
settings =
{
build =
{
neverStripDebugInfo = true
}
}
这将防止在任何类型的构建中剥离 debug
信息。
有关测试人员如何准确构建这些构建的额外信息也可能有所帮助。
[1] http://docs.coronalabs.com/guide/distribution/buildSettings/index.html#buildcontrol
我正在 iOS 设备上调试用 Corona 制作的应用程序。我们已经将我们的应用程序通过办公室周围的试飞进行测试,并为我们的测试人员提供了一些 xCode 教程,以便他们可以在出现错误时向我们提供设备日志。但是现在,当他们向我们发送错误报告时,我们注意到堆栈跟踪中没有 class 名称或行号——因此无法判断错误来自何处。它看起来像这样:
Feb 26 17:39:01 Daniels-iPad ABC096-apple[3106] <Warning>: ?:0: attempt to get length of upvalue '?' (a nil value)
stack traceback:
?: in function 'addBody'
?: in function 'createObstacle'
?: in function 'spawnOne'
?: in function 'spawn'
?: in function 'conditionalSpawn'
?: in function 'begin'
?: in function '?'
?: in function 'handleAdded'
?: in function 'add'
?: in function 'createObstacleSpawner'
?: in function <?:210>
(tail call): ?
?: in function '?'
?: in function <?:148>
?: in function 'listener'
?: in function 'dispatch'
?: in function 'tellViews'
?: in function '?'
?: in function <?:151>
帮助不大!然而,我知道在过去,当我直接从我的计算机将我的应用程序加载到我的设备时,我看到了更多有用的堆栈跟踪——而不是通过互联网,通过试飞。有什么方法可以分发应用程序并仍然获得良好的堆栈跟踪?当我在 Corona 中构建它时,它是否与我的应用程序附带的 dSym 文件完全相关?帮助我,欧比旺斯,你是我唯一的希望!怎么办?
我不知道 Corona 是如何工作的,但您的脚本似乎已经过预编译并删除了 Lua 内部维护的调试信息。
它与 dSym 或任何外部无关。
扩展 lhf
所以,您可能想要 create/edit build.settings
文件并进行设置:
settings =
{
build =
{
neverStripDebugInfo = true
}
}
这将防止在任何类型的构建中剥离 debug
信息。
有关测试人员如何准确构建这些构建的额外信息也可能有所帮助。
[1] http://docs.coronalabs.com/guide/distribution/buildSettings/index.html#buildcontrol