1. 一鍵跳轉(zhuǎn)到指定語句
調(diào)試過程中經(jīng)常需要拖拽黃箭頭,使特定語句執(zhí)行或者不執(zhí)行。常規(guī)方法就是使用鼠標(biāo)直接拖拽。
在Visual Studio 2017 15.3預(yù)覽版中,有一個(gè)更簡(jiǎn)單地跳轉(zhuǎn)到目標(biāo)行的方法:在目標(biāo)行盤旋鼠標(biāo)指針,出現(xiàn)綠色豎線右箭頭圖標(biāo)后,按住CTRL后鼠標(biāo)左鍵點(diǎn)擊,就把調(diào)試黃箭頭移過去了,再點(diǎn)擊調(diào)試下一步或者F5就直接在指定行運(yù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è)類,并初始化了兩個(gè)對(duì)象,更改PointX的值,想要添加實(shí)例a的PointX值的改變斷點(diǎn)
在調(diào)試過程中,右擊實(shí)例a選擇Make Object ID
這時(shí)實(shí)例a被賦值到$1中,在要添加的斷點(diǎn)出右擊選擇Conditions…
添加$1 == this代碼后,再運(yùn)行程序,則在實(shí)例a屬性改變的時(shí)候斷點(diǎn)生效,實(shí)例b屬性改變的時(shí)候不生效了。
注意Make Object ID記錄的是內(nèi)存中對(duì)象的地址,下次調(diào)試的時(shí)候就改變了,需要重新設(shè)置。