【譯】使用“強制執行到游標”

good000發表於2021-10-26

  您是否有過這樣的經歷:應用程式中的斷點會導致除錯中斷,因為您可能需要測試已更新的程式碼,或者專注於不需要這些中斷條件的另一個區域? 對於這些場景,您將被迫刪除或禁用斷點,或者一直按“繼續”鍵,直到到達所需的程式碼行。  

  從 Visual Studio 2022 預覽2開始,對於這些場景,你可以使用“Force Run To Cursor(強制執行到游標)”。 它類似於“Run To Cursor(執行到游標)”,但您可以保留斷點,偵錯程式將跳過它們,直到到達帶有游標的程式碼行。 它還將跳過任何可能發生的第一次異常中斷條件。

跳過所有斷點,更快地除錯應用程式  

  要直接執行到游標位置,在原始碼或“Call Stack(呼叫堆疊)”視窗中,選擇要中斷的行,右鍵單擊並選擇“Force Run to Cursor”。 

  應用程式將附加 Visual Studio 偵錯程式並在游標位置暫停,在執行過程中遇到的任何斷點和第一次異常都將暫時禁用。 我們可以評估程式在那個點的狀態。 一旦“Force Run To Cursor”被執行,斷點和異常就會恢復到原來的狀態。 

  這裡是一個簡單的例子,“Force Run To Cursor”將繼續執行,並在我們執行 Force 的第8行中斷。CreateMessage()和 SendMessage()方法中的斷點將被跳過。

指向並單擊強制執行游標 

  在活動除錯會話中,當您的滑鼠懸停並按住 Shift 鍵時,程式碼行旁邊會出現一個帶有工具提示“Force run execution to here”的綠色符號。

  繼續上面的例子,這裡我們使用綠色符號按鈕執行“Force Run To Cursor”。 

特別注意

  要在“Force Run To Cursor”時暫停,您的程式碼行必須是可訪問的。 換句話說,這一行應該屬於應用程式執行時呼叫的 condition/function/action。  

  如果在到達該行之前發生了未處理的異常,程式也可以更快地停止。  

  你也可以退出“Force Run To Cursor”模式,當你:  

      • 停止除錯  

      • 重新啟用後遇到異常  

      • 選擇全部中斷(即,選擇工具欄上的暫停按鈕)  

      • 命中一個新的斷點  

      • 在重新啟用現有斷點後,命中斷點  

結語

  當您想要跳過斷點時,“Force Run To Cursor”提供了一種方便的除錯應用程式的方法。 現在就下載 Visual Studio Preview 2 試試吧。 

原文連結

  https://devblogs.microsoft.com/visualstudio/debug-with-force-run-to-cursor/

 

相關文章