如何在Mac上调试SIGSEGV?

时间:2011-02-18 20:39:34

标签: android android-emulator cordova sigsegv

我刚开始是一名Android应用开发者,我的第一个应用已遇到问题:(

这是一个使用jQTouch创建并与PhoneGap一起打包的webapp,它已在市场上销售几周。一位客户在使用Android 2.1的摩托罗拉Milestone(加拿大相当于Droid)上运行它,她说它正在崩溃

我尝试使用从以下网站定义的AVD重现它,我确实得到了SIGSEGV异常。 http://mobile.tutsplus.com/tutorials/android/common-android-virtual-device-configurations/

我环顾四周,了解到必须在工具中运行日志跟踪才能查看崩溃背后的原因。我找到了两个工具,stack.py和parse_stack.py,但是它们需要安装一个命令:arm-eabi-addr2line,我没有它。 再次搜索,我在GitHub上找到了它:https://github.com/jsnyder/arm-eabi-toolchain/

现在,尝试安装此命令,它说我没有最新版本的GCC。我安装了最新的XCode,我认为它配备了GCC。或者只是说找不到海湾合作委员会。

问题

  1. 如何在我的Mac上安装此命令arm-eabi-addr2line?
  2. 我这样做是为了什么?如果stack.py告诉我Android SDK出了什么问题,我该怎么做才能修复我的应用程序?
  3. 非常感谢你!

2 个答案:

答案 0 :(得分:1)

除非您正在编写自己的固件,否则不会调试SIGSEGV崩溃。这些代表Android中非常低级别的崩溃。

打包演示崩溃的示例项目并将其上传到http://b.android.com,以及如何重现崩溃的步骤列表。还包括你在LogCat中看到的SIGSEGV崩溃转储。

答案 1 :(得分:0)

MacPorts是一个很棒的工具,用于安装您可能需要调试的任何内容,因为它可以为您安装python和更新版本的gcc http://www.macports.org/