1.    一鍵跳轉(zhuǎn)到指定語(yǔ)句

調(diào)試過(guò)程中經(jīng)常需要拖拽黃箭頭,使特定語(yǔ)句執(zhí)行或者不執(zhí)行。常規(guī)方法就是使用鼠標(biāo)直接拖拽。

在Visual Studio 2017 15.3預(yù)覽版中,有一個(gè)更簡(jiǎn)單地跳轉(zhuǎn)到目標(biāo)行的方法:在目標(biāo)行盤(pán)旋鼠標(biāo)指針,出現(xiàn)綠色豎線(xiàn)右箭頭圖標(biāo)后,按住CTRL后鼠標(biāo)左鍵點(diǎn)擊,就把調(diào)試黃箭頭移過(guò)去了,再點(diǎn)擊調(diào)試下一步或者F5就直接在指定行運(yùn)行了。

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

2.    添加指定實(shí)例值的斷點(diǎn)

有時(shí)候某個(gè)實(shí)例的屬性值會(huì)莫名其妙的變化,當(dāng)我們需要知道為什么變化的時(shí)候,會(huì)在屬性代碼中添加斷點(diǎn),但是這會(huì)對(duì)所有實(shí)例都生效。

在調(diào)試的時(shí)候,可以使用Make Object ID和Conditional Breakpoint功能去添加指定實(shí)例的斷點(diǎn),具體如下:

  • 首先我定義了一個(gè)類(lèi),并初始化了兩個(gè)對(duì)象,更改PointX的值,想要添加實(shí)例a的PointX值的改變斷點(diǎn)

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

  • 在調(diào)試過(guò)程中,右擊實(shí)例a選擇Make Object ID

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

  • 這時(shí)實(shí)例a被賦值到$1中,在要添加的斷點(diǎn)出右擊選擇Conditions…

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

  • 添加$1 == this代碼后,再運(yùn)行程序,則在實(shí)例a屬性改變的時(shí)候斷點(diǎn)生效,實(shí)例b屬性改變的時(shí)候不生效了。

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

注意Make Object ID記錄的是內(nèi)存中對(duì)象的地址,下次調(diào)試的時(shí)候就改變了,需要重新設(shè)置。

3. 

網(wǎng)友評(píng)論