vs(visual studio)调试功能里各个按钮的意义及使用方法?
文章目錄
- [【干貨】Visual Studio 程序調試小貼士——【思路、快捷鍵、技巧】](https://www.bilibili.com/video/BV1iZ4y1j7a5?from=search&seid=11976484625361745732)
- 非debug模式運行程序:ctrl+F5
- 設置斷點:F9
- 下一步(逐過程):F10
- 進入函數(逐語句):F11(除非當前函數是庫函數,否則都會進去運行相應代碼)
- 跳出函數:shift+F11
- 重新調試(重新啟動):Ctrl+shift+F5
- [Visual Studio調試技巧](https://www.bilibili.com/video/BV1Vf4y1W7F7/?spm_id_from=autoNext)
- 停止調試:從調試狀態恢復到代碼編輯狀態(shift+F5)
- 繼續:跳到下一個斷點(F5)
- - 調用堆棧:反映程序運行到當前位置已經調用過哪些函數(老師原文)
- - 調試窗口(進入調試時才會出現的):
- - 監視窗口:
- 添加監視變量:可以在名稱處直接輸入變量名,也可在代碼變量處右鍵 --> 添加監視
- - 斷點窗口
- - 內存窗口
- 調試鍵拖拽(調試過程中返回過去的執行)
- 附加到進程調試方法 attach to process(在特定情況下調試方便,具體啥情況沒太聽明白,比如web服務器?)(不知有啥區別?)
- 遠程附加進程調試法
- 自動變量窗口和局部變量窗口
停止調試:
全部拆離:
全部終止:
可以在這個地方打開官網幫助:
https://docs.microsoft.com/zh-cn/visualstudio/windows/?f1url=%3FappId%3DDev16IDEF1%26l%3Dzh-CN%26k%3Dk(MSDNSTART)%26rd%3Dtrue&view=vs-2019
初步了解 Visual Studio 調試器
零基礎調試的方法
看半天沒什么效果,還不如找個視頻教程呢???
【干貨】Visual Studio 程序調試小貼士——【思路、快捷鍵、技巧】
非debug模式運行程序:ctrl+F5
設置斷點:F9
下一步(逐過程):F10
進入函數(逐語句):F11(除非當前函數是庫函數,否則都會進去運行相應代碼)
跳出函數:shift+F11
重新調試(重新啟動):Ctrl+shift+F5
下面這個不錯啊:(有時間再看)
Visual Studio調試技巧
停止調試:從調試狀態恢復到代碼編輯狀態(shift+F5)
繼續:跳到下一個斷點(F5)
- 調用堆棧:反映程序運行到當前位置已經調用過哪些函數(老師原文)
比如運行發布release的程序崩潰時,會生成一個核心轉儲文件,通過這個文件進行調試就能看到程序崩潰在哪一行代碼上。
在嵌套多層代碼時,比如函數調用函數,有不同的局部變量,這在棧中表現出不同的區域快,通過調用堆棧窗口能夠查看這些不同作用域的區域塊的局部變量:
- 調試窗口(進入調試時才會出現的):
- 監視窗口:
添加監視變量:可以在名稱處直接輸入變量名,也可在代碼變量處右鍵 --> 添加監視
注意:監視窗口只能添加當前作用域下的變量,不是當前作用域下無法添加
如果程序運行到另一個作用域,不是當前作用域的監視變量將會顯示灰色
- 斷點窗口
可以查看斷點
取消打勾將會禁用斷點:
命中次數指的是該斷點所在代碼執行了多少次
- 內存窗口
要輸入變量的內存地址才能查看變量內存,可是如何獲取變量內存地址呢?
在監視窗口,輸入&+ 要監視的變量名,就能看到變量的內存地址了
在這里點擊右鍵,選擇“復制值”,粘貼到內存監控窗口內存地址處,刪除后面多余的內容,敲回車即可查看變量所在地址的內存信息(當然你也可以手動輸入):
這個內存數據是用十六進制表示的,而且閱讀順序也要倒過來:
一個整型int類型的數字占32位內存空間,一個十六進制數占4位,4乘以8就是32位
注意:在這里,地址的單位是兩個十六進制數,也就是一個字節
(隔行地址相差32個字節,可能我選擇x64運行結果又會不同)
調試鍵拖拽(調試過程中返回過去的執行)
在調試過程中,有時不小心按快了,跳過了某一想要查看的步驟,這個時候怎么返回呢?
無需重新啟動調試,只需將調試箭頭向上拖拽即可
即可回到前面的步驟
附加到進程調試方法 attach to process(在特定情況下調試方便,具體啥情況沒太聽明白,比如web服務器?)(不知有啥區別?)
這個有一個參考:VS調試-附加到進程
要求:
程序必須不是稍縱即逝的,要能持續運行(至少具有一定運行時間),才能附加到進程
如果非要調試稍縱即逝的程序,可以在程序中添加代碼,如getchar();,獲取用戶輸入,能阻斷程序的運行
必須是在visual studio下生成的exe文件
在項目處右鍵,點擊重新生成:
復制路徑到win+r窗口,按enter即可打開生成的exe文件所在路徑:
雙擊可以啟動程序:
然后我們打開任務管理器,點擊下面的簡略信息,可以看到運行的進程:
在visual studio中運行程序啟動的窗口跟我們點exe文件打開的不是一樣的,一個是visual studio的子進程,一個是獨立的進程:
然后我們在visual studio中,關閉其他運行的程序或者調試,點擊調試 -->附加到進程(對了,記得在代碼上打上要調試的斷點):
找到我們啟動的同名exe進程,選擇它,點擊附加:
然后就可以想正常那樣調試了,但是還是看不出這種調試方法跟原先的方法有什么區別??
遠程附加進程調試法
如果遠程調試器64位,代碼編譯就選64位,遠程調試器是32位,代碼編譯就選32位,選debug還是release無影響
遠程調試器位置:
注意:一定要找到當前visual studio版本對應的調試器,
。
。
。
先看到這里吧,其他具體可看視頻
17-遠程附加到進程調試【上】
其他還有:
#pragma once和#ifndef
visual studio字符編碼說明
visual studio內部SDL安全檢查
內存泄漏處理
處理鍵盤緩沖區導致的錯誤
讓自己的程序運行在別人的電腦上
讓程序運行在windows xp上
debugiew遠程調試
自動變量窗口和局部變量窗口
“自動變量”窗口顯示當前斷點周圍使用的變量。 “局部變量”窗口顯示在局部范圍內定義的變量,通常是當前函數或方法。
參考自:Visual Studio 調試系列5 檢查變量(使用自動窗口和局部變量窗口)
總結
以上是生活随笔為你收集整理的vs(visual studio)调试功能里各个按钮的意义及使用方法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c/c++如何正确使用结构体?
- 下一篇: relocation R_X86_64_