溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Visual Studio Debugger中的7個小技巧

發(fā)布時間:2020-10-14 16:49:19 來源:億速云 閱讀:213 作者:小新 欄目:編程語言

小編給大家分享一下Visual Studio Debugger中的7個小技巧,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

這篇文章主要為大家詳細介紹了Visual Studio Debugger七個鮮為人知的小功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Visual Studio debugger是一個很棒的調(diào)試工具,可以幫助程序猿們快速地發(fā)現(xiàn)和解決問題。這里給大家簡單介紹一下VS調(diào)試工具中的七個鮮為人知的小功能。

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

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

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

Visual Studio Debugger中的7個小技巧

Visual Studio Debugger中的7個小技巧

Visual Studio Debugger中的7個小技巧

2. 添加指定實例值的斷點

有時候某個實例的屬性值會莫名其妙的變化,當我們需要知道為什么變化的時候,會在屬性代碼中添加斷點,但是這會對所有實例都生效。

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

首先我定義了一個類,并初始化了兩個對象,更改PointX的值,想要添加實例a的PointX值的改變斷點

Visual Studio Debugger中的7個小技巧

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

Visual Studio Debugger中的7個小技巧

這時實例a被賦值到$1中,在要添加的斷點出右擊選擇Conditions…

Visual Studio Debugger中的7個小技巧

添加$1 == this代碼后,再運行程序,則在實例a屬性改變的時候斷點生效,實例b屬性改變的時候不生效了。

Visual Studio Debugger中的7個小技巧

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

3. 重新附加進程

Attach to Process是大家經(jīng)常需要用的功能,Visual Studio 2017中有一個新的選項叫做Reattach to Process,可以方便大家重新附加到最近一次附加到的進程上。

先附加到一個進程上,點擊Stop Debugging,然后再點擊Debug就能看到里面的Reattach to Process選項了。

Visual Studio Debugger中的7個小技巧

4. 顯示所有的線程

在調(diào)試過程中,調(diào)試工具欄中有一個新的選項叫做:Show Threads in Source。點擊后即可在有線程停止的代碼行前顯示一個圖標,鼠標停留在圖標上顯示線程,右擊圖標可以顯示可用操作。

Visual Studio Debugger中的7個小技巧

Visual Studio Debugger中的7個小技巧

注意這個功能可能影響調(diào)試效率,如果不需要的話建議默認關閉。

5. 臨時禁用指定斷點

當進行多線程調(diào)試的時候,可以利用Disable Breakpoint功能臨時禁用指定斷點,防止其它線程由于斷點中斷,影響當前線程的調(diào)試工作。

Visual Studio Debugger中的7個小技巧

Visual Studio Debugger中的7個小技巧

6. 查看所有線程的調(diào)用棧

調(diào)試過程中,在Command Window中輸入”Debug.ListCallStack -AllThreads”,即可看到所有線程的調(diào)用棧。

Visual Studio Debugger中的7個小技巧

也可以用WinDBG命令”~*k”:

Visual Studio Debugger中的7個小技巧

7. 使用無負面效果的方法評估

有時候可能需要在調(diào)試Watch窗口中查看一個方法的返回值,但是真正執(zhí)行這個方法的時候可能會產(chǎn)生負面效果,這里可以在Watch窗口輸入的時候添加”, nse”來避免負面效果,是”No Side Effects”的縮寫。例子如下:

剛開始Add執(zhí)行了六次,所以testList總數(shù)是6,

Visual Studio Debugger中的7個小技巧

現(xiàn)在想查看Add當前執(zhí)行的返回值,可以在Watch窗口輸入Add(1),但是這會產(chǎn)生負影響,改變testList的值為7,

Visual Studio Debugger中的7個小技巧

因此如果想不影響testList的原始值,則需要加上”, nse”,如下顯示是8,但是testList原始值未變還是7:

Visual Studio Debugger中的7個小技巧

以上是Visual Studio Debugger中的7個小技巧的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI