OGeek|极客世界-中国程序员成长平台

标题: ios - iOS 设备上的 Lua 堆栈只有 ?,没有类名或行号 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 10:19
标题: ios - iOS 设备上的 Lua 堆栈只有 ?,没有类名或行号

我正在 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-推荐答案


扩展 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4