我正在 iOS 设备上调试一个用 Corona 制作的应用程序。我们已经通过办公室的试飞将我们的应用程序进行了测试,并为我们的测试人员提供了一点 xCode 教程,这样他们就可以在发生错误时向我们提供设备日志。但是现在,当他们向我们发送错误报告时,我们注意到堆栈跟踪中没有类名或行号——因此无法判断错误来自何处。它看起来像这样:
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 文件有关?帮助我,欧比旺斯,你是我唯一的希望!怎么办?
Best Answer-推荐答案 strong>
扩展 lhf answer ,默认情况下,Corona 会在分发版本中剥离调试信息并将其保留在调试版本中。 [1]
所以,您可能想要创建/编辑 build.settings 文件并进行设置:
settings =
{
build =
{
neverStripDebugInfo = true
}
}
这将防止在任何类型的构建中剥离 debug 信息。
测试人员如何准确地构建这些构建的额外信息也可能有所帮助。
[1] http://docs.coronalabs.com/guide/distribution/buildSettings/index.html#buildcontrol
关于ios - iOS 设备上的 Lua 堆栈只有 ?,没有类名或行号,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28744504/
|