在iOS開發中, 大多時候需要在debug 模式下調試,這里就整理下Debug 的知識
1,Debug和Release版本區別?
眾所周知,我們進行iOS開發,在Xcode調試程序時,分為兩種方式, Debug 和 Release ,在Target的Setting中相信大家應該看到很多選項都分為 Debug 和 Release ,方便我們分別設置,滿足調試和發布的不同需求。
Release是發行版本,比Debug版本有一些優化,文件比Debug文件小 Debug是調試版本,Debug和Release調用兩個不同的底層庫。通俗點講,我們開發者自己內部真機或模擬器調試時,使用Debug模式就好,等到想要發布時,也就是說需要大眾客戶使用時,需要build Release版本,具體區別如下:
一、Debug是調試版本,包括的程序信息更多
二、只有Debug版的程序才能設置斷點、單步執行、使用TRACE/ASSERT等調試輸出語句
三、Release不包含任何調試信息,所以
體積小、運行速度快
抽刀斷Bug
斷點,(我求你們不要想到張敬軒,阿軒他容易么,小受又怎么了?你們這幫人真是的!?。?,我要說的斷點是BreakPoint!基本上不是殘廢的IDE都具有斷點調試功能吧!尤其是XCode,我們家的IDE斷點調試功能可是強中又是強中手!在這之前大家可以先了解一下哈子是斷點?它怎么實現的?工作原理怎么樣的?博主就獻丑說說自己的理解吧,斷點,顧名思義就是從前有一個點,后來它斷了,謝謝,我的故事講完了。哎喲還不服,這些基礎常識的東西自己不會查?你還真的臉皮厚上天了去了,還要博主給你查喲,自己查去!
普通操作
如圖3
基本的斷點操作如下
圖4
點擊那個黑列列就創建了一個斷點,再次點擊就臨時取消這個斷點(但是不刪除),長按那個斷點拖出去就刪除了(mac os的系統工程師就是稀飯拖動的快感),當然也可以右鍵那個創建的斷點,會彈出相應地菜單。
當然也還可以監視某個變量!
圖5
在對象視圖中,右鍵某個對象,點擊“Watch ‘XXX'”就完成XXX對象的監視了。
這里我監視了lab這個UILabel的變量,每當這個變量進行更新它的信息就會被打印到控制臺。
好吧!我們最基本的創建斷點的工作已經學會了,Xcode舒服在什么地方呢?就是不分Debug模式和Run模式的,可以說是無縫切換的,你只要沒有創建斷點,那么就是Run的正常模式,如果創建了斷點并且運行到斷點處,就自動進入Debug模式咯,不像某EC開頭的IDE,控制面板就像開飛機的一樣,幾萬個按鈕以為很強大,其實只用了Run和Stop,還有什么Debug模式,App模式……,果然Xcode的優越感在對比中更加強烈了,舒服到極點呀,就像夏天的海風拂過菊花,嗯是的 就是那種感覺!
我們創建好了斷點,運行到斷點就自動停下來了,像這樣:
圖6
這些Debug的最基本操作技能是每一個入門的iOS開發者都要掌握的,應該當成一種本能,就像狗愛吃翔一樣(噢 對不起 博主不是歧視狗的意思,博主也養過狗,很二逼但是從不吃翔!真的據我所知它從來不吃翔的,這里只是比喻只是比喻)。
全局斷點(Global BreakPoint)
有時候在程序出錯的時候不能能準確定位到奔潰的那一行代碼,而是直接跑到main循環或者Appdelegate里面, 或者會給你這樣的提示:
EXEC_BAD_ACCESS:
是不是有種想哭的沖動?尼瑪~至少給我一些堆棧信息也好呀~……這個時候你千萬不要砸鼠標和鍵盤哦,一切都是主機在運行,你砸鼠標和鍵盤有什么用呢?應該是踢主機呀~~,現在有了全局斷點,娘親再也不擔心你砸鼠標了,你只需要這樣:
圖7
在Debug導航面板進行上圖的操作,你就建立了全局斷點,這樣只要遇到錯誤,debug程序就會自動定位到棧底的信息,也就是你最先出錯的代碼的那一行,這樣你就可以快樂的debug拉~~
條件斷點(Condational Breakpoints)
從前有一個游戲,叫做擼啊擼,有些玩家他們知道怎么操作,會放技能會走路,但是他們不知道買裝備,玩了一局下來,鞋子小刀都沒有買。我為什么講這個故事呢?因為很多小朋友學東西和玩游戲一樣,看完前面的幾種調試技能,就以為自己已經亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91丝袜美腿美女视频网站| 亚洲欧美一区二区精品久久久| 欧美激情乱人伦一区| 38少妇精品导航| 久久久精品影院| 精品久久久久久久久久久久久| 日韩精品视频在线观看网址| 亚洲黄色www网站| 国产精品视频26uuu| 亚洲欧美一区二区三区久久| 国产色综合天天综合网| 日韩精品亚洲视频| 久久久久久成人精品| 欧美日韩一区免费| 精品国产依人香蕉在线精品| 91精品国产高清自在线| 欧美日产国产成人免费图片| 91亚洲精品在线| 欧美肥臀大乳一区二区免费视频| 孩xxxx性bbbb欧美| 亚洲第一色中文字幕| 久久综合久久八八| 久久久精品国产亚洲| 日韩在线观看免费高清完整版| 欧美精品videosex牲欧美| 欧美日韩性生活视频| 免费不卡在线观看av| 青青草国产精品一区二区| 亚洲免费小视频| 国产成人福利夜色影视| 亚洲第一福利在线观看| 美女国内精品自产拍在线播放| 日韩中文字幕在线看| 欧美激情第一页xxx| 欧美日韩成人在线观看| 欧美成人精品激情在线观看| 国产在线不卡精品| 最近免费中文字幕视频2019| 91精品国产91久久久| 久久久久久久一区二区三区| 久久久久久久一区二区三区| 欧美成人精品在线视频| 亚洲精品综合精品自拍| 日韩在线视频播放| 成人免费高清完整版在线观看| 成人精品视频99在线观看免费| 欧美乱大交xxxxx| 亚洲成人免费在线视频| 欧亚精品中文字幕| 久久久久这里只有精品| 中文字幕日韩专区| 九九久久久久久久久激情| 欧美在线视频观看免费网站| 成人www视频在线观看| 成人性生交大片免费观看嘿嘿视频| 精品女同一区二区三区在线播放| 欧美日韩日本国产| 日韩午夜在线视频| 日韩中文娱乐网| 国产精品嫩草影院一区二区| 26uuu另类亚洲欧美日本老年| 98精品国产自产在线观看| 欧美激情网站在线观看| 日韩亚洲第一页| 国产精品欧美亚洲777777| 欧美日韩综合视频网址| 国产日产亚洲精品| 国产a∨精品一区二区三区不卡| 91色琪琪电影亚洲精品久久| 国产精品一区二区久久久| 亚洲视频999| 国产suv精品一区二区三区88区| 国产伦精品一区二区三区精品视频| 亚洲a∨日韩av高清在线观看| 国产一区二区三区精品久久久| 国产精品一久久香蕉国产线看观看| 亚洲男人天堂久| 一本一本久久a久久精品综合小说| 一区二区三区四区精品| 中文字幕av一区中文字幕天堂| 日韩欧美中文字幕在线播放| 中文字幕日韩在线视频| 国模gogo一区二区大胆私拍| 日本精品久久久| 青青草一区二区| 欧美性猛交xxxx免费看久久久| 日韩欧美在线视频观看| 亚洲天堂成人在线| 精品国产一区二区三区久久| 亚洲精品久久久久久久久久久久久| 亚洲电影免费观看| 狠狠躁夜夜躁人人躁婷婷91| www.欧美三级电影.com| 亚洲黄色免费三级| 91av视频在线免费观看| 国产日韩欧美影视| 国产精品美女免费| 成人激情视频在线| 久久99亚洲精品| 操人视频在线观看欧美| 欧美成人一区二区三区电影| 久久久久国产视频| 欧美大片欧美激情性色a∨久久| 成人精品一区二区三区电影免费| 国产一区二区三区久久精品| 亚洲精品资源美女情侣酒店| 亚洲国产精品999| 中文字幕在线视频日韩| 欧美激情亚洲综合一区| 亚洲午夜国产成人av电影男同| 亚洲香蕉成视频在线观看| 97视频在线观看免费高清完整版在线观看| 日韩免费视频在线观看| 成人信息集中地欧美| 亚洲精品中文字| 欧美成人激情图片网| 精品亚洲男同gayvideo网站| 亚洲国产精品女人久久久| 国产偷国产偷亚洲清高网站| 在线免费看av不卡| 日韩欧美国产网站| 欧美成人免费全部观看天天性色| 欧美丰满少妇xxxx| 亚洲第一中文字幕在线观看| 国产日韩中文在线| 中文字幕欧美日韩| 国模视频一区二区三区| 中文字幕亚洲二区| 亚洲自拍小视频免费观看| 国产剧情日韩欧美| 成人两性免费视频| 在线免费看av不卡| 欧美大人香蕉在线| 亚洲福利视频网| 日韩av免费在线播放| 欧美性高跟鞋xxxxhd| 欧美成人激情在线| 亚洲第一视频网站| 久久视频这里只有精品| 亚洲色图25p| 国产精品视频1区| 亚洲精品少妇网址| 日韩av电影院| 亚洲人成自拍网站| 精品国产一区二区三区久久狼黑人| 久久国产视频网站| 久久久久免费精品国产| 久久久精品2019中文字幕神马| 亚洲一区中文字幕在线观看| 亚洲国产欧美日韩精品| 亚洲欧美日韩爽爽影院| 欧美成人精品一区| 海角国产乱辈乱精品视频| 国产一区二区在线免费视频| 亚洲欧洲一区二区三区久久| 亚洲综合国产精品| 亚洲午夜未满十八勿入免费观看全集| 国产福利视频一区二区| 国产精品久久久久久久久免费| 国模私拍视频一区| 欧美日韩加勒比精品一区| 国产精品久久久久久久久借妻| 亚洲四色影视在线观看| 日韩美女在线观看一区|