我有以下问题:
在我的钛项目中,我将图像(从UIView.toImage())保存到applicationDirectory中的文件。然后我有一个Obj-C模块,我在那里读出那个文件。 然后从C ++ Lib应用图像处理算法。
在将算法应用于图像之前,我有一个从中获取ARGB值的函数 我从文件中获得的值。我用它们制作了像素矩阵。
然后,在应用算法后,我将新的Pixel Matrix转换回UIImage以将其保存到文件中。
我的问题是,有时程序会在应用算法之前崩溃(我使用NSLogs来查看崩溃的位置,这是对的,不是吗?)有时整个Obj-C模块完成其工作。 。
我没有在Titanium控制台中收到任何错误消息...有没有办法看到我遇到崩溃的原因,或者有办法有效地调试我的钛项目吗?
答案 0 :(得分:3)
我通过在XCode中运行我的测试项目来调试我工作的模块。当应用程序崩溃时,XCode将在一些无用的地方打破。但有用的是堆栈跟踪。我通常可以从中清除足够的信息,以找出出错的地方,以及在哪里。
让我明确一下“测试项目”。 - 如果你通过从终端执行“钛运行”来运行模块,我将在XCode中打开生成的项目并从那里运行它(在“钛运行”之后,您将在生成的日志语句中看到它的路径你的模块)。 - 或者,如果您将模块作为实际项目的一部分,则构建项目一次,然后在XCode中打开它。运行它,崩溃它,你会得到一个堆栈跟踪来帮助你。
另一种选择是让你将一些真正有问题的代码粘贴在一些核心的Titanium Mobile代码中 - 比如在PlatformModule.m中。这是一个像你自己的模块,除了它的源代码就在那里。然后,您将能够设置断点,检查变量,并享受使用XCode查看目标-c中正在发生的事情的全部好处。
我希望这会有所帮助,让你顺利前行!如果我能进一步澄清,请告诉我。 -Dawson