2011-02-18 80 views
1

我剛開始作爲一個Android應用程序開發人員,我已經有一個問題,我的第一個應用程序:(如何在Mac上調試SIGSEGV?

這是一個與jQTouch創建並與PhoneGap的打包web應用程序是在市場上幾個星期。一個客戶正在運行它在摩托羅拉Milestone(Droid手機的加拿大當量)採用了Android 2.1,她說,它的崩潰

我試圖用我從以下網站定義的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。否則它只會說沒有找到GCC。

問題

  1. 我如何獲得這個命令,臂EABI-addr2line,安裝在我的Mac嗎?
  2. 我這樣做沒有用嗎?如果stack.py在Android SDK中告訴我有什麼問題,我該怎麼做才能修復我的應用程序?
  3. 非常感謝您!

回答

1

你不調試SIGSEGV崩潰,除非你正在寫自己的固件。這些代表了Android中非常低級的崩潰。

打包演示該崩潰的示例項目並將其上傳到http://b.android.com,同時列出瞭如何重現崩潰的步驟。還包括您在LogCat中看到的SIGSEGV崩潰轉儲。

+0

謝謝!最後,我發現Android 2.1並不喜歡在一行上縮小CSS的Phonegap封裝的Web應用程序。儘管在許多行上縮小了作品:S – Vallieres 2011-02-22 21:15:57

0

MacPorts的是安裝任何東西,你可能需要調試這個,因爲它可以安裝Python的一個偉大的工具,和gcc的新版本爲你http://www.macports.org/

+0

謝謝,但似乎我發現了這個SIGSEGV異常背後的原因(請參閱我對上述答案的評論) – Vallieres 2011-02-22 21:17:11