日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

再分享 5 个 vs 调试技巧

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 再分享 5 个 vs 调试技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

之前在《5 個非常實用的 vs 調試技巧》和《繼續分享 5 個實用的 vs 調試技巧》中分享了 10 個我認為非常值得了解的 vs 調試技巧,本周繼續分享 5 個很實用的調試技巧。

1. ?顯示下一條語句

在調試時,遇到斷點中斷后,為了更加清楚的了解程序邏輯,經常需要翻看調用棧,查看相關代碼。看完后,想快速返回到中斷的地方,之前基本上是通過以下兩種方法返回。

  • ctrl + alt + c 調出調用棧,然后雙擊最上方的棧幀來返回。

  • 按一下 F11 讓程序運行一小步(有時候就進到函數里了,很不好)。

  • 這兩種方法都比較麻煩。其實, vs 中有一個非常實用的功能,可以快速的回到中斷處。這個功能就是 顯示下一條語句。

    中斷后, 右鍵,顯示下一條語句 即可顯示下一條語句。在 vs2013 中對應的快捷鍵是 alt + * 。

    小貼士:alt + * 是小鍵盤上的 *。

    2. 設置 symbol

    不知道各位在調試的時候,有沒有遇到過 vs 特別慢的情況,跟卡死了一樣。很有可能是在加載符號。有兩個方法可以加速:

  • 斷網。斷網后可以使加載符號的操作失敗的更快。但是會導致有些模塊的符號加載不上。

  • 設置符號加載策略。可以只為特定模塊加載符號。通過 調試 -> 選項和設置 ,然后選擇 調試 -> 符號 即可設置。

  • 說明:

    如果愿意,可以隨時手動為特定模塊單獨加載符號。

    可以通過 調試 -> 窗口(W) -> 模塊(O) 或者快捷鍵 Ctl + Alt + U 打開模塊列表界面。

    然后在選中的模塊上 右鍵 -> 加載符號 即可。

    3. ?調試子進程

    windbg 有一個非常給力的功能就是調試子進程。當需要調試子進程的時候,不用手動附加到子進程了,而且不必擔心錯過子進程中的初始化代碼了。據我所知,vs 本身并不支持這項功能,需要使用官方提供的插件 —— Microsoft Child Process Debugging Power Tool[1]。該插件支持 vs2013~2019。

    具體使用介紹 請參考 Introducing the Child Process Debugging Power Tool[2]

    4. 偽變量

    了解一些 vs 中的一些偽變量非常有必要。比如,當前進程的環境變量,命令行等信息。

    PseudovariablesFunction
    $err獲取 LastError 的值,等同于 GetLastError()。
    $err,hr帶文字解釋的 LastError。
    $env進程環境變量
    $cmdline命令行。
    $pid進程 ID
    $tid當前線程 ID ,經測試,vs2013 不支持。

    更多的偽變量請參考 Pseudovariables in the Visual Studio debugger[3]

    5. 修飾符

    不知道你是否曾經想在 vs 中查看 utf8 類型的字符串呢?是不是不太方便?其實,在 vs 中有一些觀察變量的修飾符,可以方便的按照一定的規則查看變量。簡單羅列幾個常用的修飾符,如下表:

    SpecifierFunction
    s8按 UTF-8 顯示字符串
    su按 UTF-16 顯示字符串
    h (x)按 16 進制顯示數值
    d按 10 進制顯示數值
    c按字符顯示數值
    [size]把指針當成 size 大小的數組顯示
    expand(n)顯示第 n+1 個(索引從 0 開始)元素

    更多的修飾符請參考 Format specifiers for C++ in the Visual Studio debugger[4]

    結語

    熟練掌握一些調試技巧,對提高調試效率有很大幫助。不知道今天介紹的這 5 個調試技巧,有沒有你喜歡的呢?

    References:

    [1]

    Microsoft Child Process Debugging Power Tool: https://marketplace.visualstudio.com/items?itemName=vsdbgplat.MicrosoftChildProcessDebuggingPowerTool

    [2]

    Introducing the Child Process Debugging Power Tool: https://devblogs.microsoft.com/devops/introducing-the-child-process-debugging-power-tool/

    [3]

    Pseudovariables in the Visual Studio debugger: https://docs.microsoft.com/zh-cn/visualstudio/debugger/pseudovariables?view=vs-2019

    [4]

    Format specifiers for C++ in the Visual Studio debugger: https://docs.microsoft.com/zh-cn/visualstudio/debugger/format-specifiers-in-cpp?view=vs-2019

    感謝你的分享,點贊和在看

    總結

    以上是生活随笔為你收集整理的再分享 5 个 vs 调试技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。