<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-193  評(píng)論-715  文章-1  trackbacks-0

     

    原文地址:http://www.acwind.net/blog/?p=1090

    Bug是永遠(yuǎn)伴隨著程序員們的東西,各種各樣的情況造成程序crash掉也是家常便飯。Windows下的很多大型軟件在崩潰的時(shí)候,都會(huì)彈出提示框,詢問(wèn)用戶是否將crash的信息發(fā)送到軟件廠商,以供軟件開(kāi)發(fā)商debug。App store中的軟件也有這個(gè)功能,用戶在使用軟件的時(shí)候,如果程序崩潰,錯(cuò)誤信息會(huì)發(fā)送到Apple的服務(wù)器中,軟件的開(kāi)發(fā)者們可以很方便在后臺(tái)獲得自己程序的crash log,供自己調(diào)試。

    但隨之而來(lái)的問(wèn)題是,我們收到的程序崩潰調(diào)試信息多半是匯編語(yǔ)言一樣的堆棧代碼,同時(shí)這些信息并不是在我們debug的時(shí)候產(chǎn)生,所以看到這一串crash log的天書(shū),常常無(wú)可奈何。Xcode很好的解決了這一問(wèn)題,它所提供的Orgainzer分析器加上symbolicatecrash?,可以分析二進(jìn)制文件以及源代碼和crashlog之間的連接,直接找出源程序中出錯(cuò)的代碼行。方法網(wǎng)上到處是,本文不討論。

    但是如果使用symbolicatecrash?無(wú)法定位到出錯(cuò)的代碼行的話,怎么整呢?有一個(gè)辦法,如下:

    首先查看crash log中的崩潰線程,假如是這樣的:

    Thread 0 Crashed:
    0   libobjc.A.dylib                0x00003ec0 objc_msgSend + 24
    1   MyApp               0x000036d2 0×1000 + 9938?

    我們得到了用戶發(fā)生崩潰情況的內(nèi)存地址:0x000036d2?

    然后回到我們應(yīng)用程序的build目錄,目錄下一定要包含MyApp.app 和MyApp.app.dSYM兩個(gè)文件。

    在控制臺(tái)使用dwarfdump命令,解析出內(nèi)存地址,如: 

    dwarfdump –lookup 0x000036d2 –arch armv6 MyApp.app.dSYM

    輸出信息如下:

    dwarfdump.jpg

    直接定位到代碼的出錯(cuò)行,Cool!

    posted on 2011-12-28 12:24 Robin's Programming World 閱讀(1060) 評(píng)論(0)  編輯  收藏 所屬分類: 其它
    主站蜘蛛池模板: 国产成人3p视频免费观看| 免费影院未满十八勿进网站| 亚洲AV无码一区二区三区人| 久久久久亚洲精品无码网址| 免费观看的毛片大全| 亚洲三级电影网站| 一级毛片视频免费观看| 国产免费av一区二区三区| 色妞www精品视频免费看| 亚洲欧洲自拍拍偷午夜色| 亚洲中文字幕第一页在线| 日美韩电影免费看| 野花高清在线电影观看免费视频| 嫩草影院在线播放www免费观看| 亚洲 综合 国产 欧洲 丝袜| 在线毛片片免费观看| 免费一级全黄少妇性色生活片| 婷婷精品国产亚洲AV麻豆不片 | 国产大片51精品免费观看| 在线看片v免费观看视频777| 久久精品无码专区免费青青| 可以免费观看的毛片| 最新亚洲成av人免费看| 亚洲视频在线观看2018| 亚洲成人福利在线观看| 亚洲精品视频在线观看免费| 亚洲资源在线观看| 在线电影你懂的亚洲| 亚洲高清美女一区二区三区| 亚洲国产综合91精品麻豆| 亚洲国产美国国产综合一区二区| 亚洲AV无码成人精品区蜜桃| 狠狠色香婷婷久久亚洲精品| 国产成人精品免费视频大| 亚洲国产日产无码精品| 少妇人妻偷人精品免费视频| 亚洲精品在线观看视频| 亚洲国产成人久久综合一| 亚洲日本在线观看| 亚洲成人网在线观看| 亚洲www在线观看|