golang?debug調試的實現(xiàn)
1. 本地調試
1:Add Configurations 添加配置文件(Run kind :Directory)
2:進入run運行窗口
3:debug斷點調試模式
1. Resume Program (繼續(xù)運行)
圖標: ?? 或 ? 快捷鍵: F9(Windows/Linux)、Command+Option+R(Mac) 作用: 程序會繼續(xù)運行直到下一個斷點或調試結束。如果沒有更多斷點,程序會正常執(zhí)行至結束。
2. Step Over (單步跳過)
圖標: ? 快捷鍵: F8(Windows/Linux)、Command+F8(Mac) 作用: 單步執(zhí)行當前代碼行,但不會進入函數(shù)內(nèi)部(如果當前行是函數(shù)調用,會跳過函數(shù)內(nèi)部的執(zhí)行)。
3. Step Into (單步進入)
圖標: ??↘? 快捷鍵: F7(Windows/Linux)、Command+Option+Down(Mac) 作用: 進入當前行調用的函數(shù)內(nèi)部進行調試。如果該行沒有函數(shù)調用,則執(zhí)行下一行代碼。
4. Step Out (單步返回)
圖標: ↖??? 快捷鍵: Shift+F8(Windows/Linux)、Command+Option+Up(Mac) 作用: 跳出當前函數(shù),返回到調用此函數(shù)的上一層,并暫停在那里。
5. Evaluate Expression (表達式求值)
圖標: ?? 快捷鍵: Alt+F8(Windows/Linux)、Option+F8(Mac) 作用: 允許你在調試過程中動態(tài)評估某個表達式的值,非常適合臨時檢查復雜變量或表達式的運行結果。
6. Show Execution Point (顯示當前執(zhí)行點)
圖標: ?? 或 ?? 快捷鍵: Alt+F10(Windows/Linux)、Option+Command+P(Mac) 作用: 跳轉到當前程序執(zhí)行的代碼位置(特別適合在查看其他文件后快速回到當前斷點)。
7. Drop Frame (回退當前棧幀)
圖標: ?? 作用: 重置當前棧幀的狀態(tài),從當前函數(shù)重新執(zhí)行一遍。這不會改變?nèi)殖绦驙顟B(tài),僅適用于當前函數(shù)調用。
8. Stop (停止調試)
圖標: ■ 快捷鍵: Ctrl+F2(Windows/Linux)、Command+F2(Mac) 作用: 停止調試會話,終止當前調試運行。
9. Mute Breakpoints (屏蔽斷點)
圖標: ???(小喇叭) 作用: 暫時禁用所有斷點,但不刪除。程序會無視所有斷點直接運行。
10. View Breakpoints (查看斷點列表)
圖標: ??? 快捷鍵: Ctrl+Shift+F8(Windows/Linux)、Command+Shift+F8(Mac) 作用: 打開斷點管理窗口,方便查看、啟用、禁用或刪除斷點。
如法炮制,下面是Run kind另外兩種調試:
Run kind :Package
Run kind :File
2. 附加到進程
1:安裝插件
go install github.com/google/gops@latest
2:編譯指定參數(shù)
go build -gcflags="all=-N -l" -o demo.exe
3:附加到進程
4. 遠程調試
1:設置編譯環(huán)境變量
$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GooS="linux"
2:編譯運行文件
# 命令二選一皆可以 go build -o main .\main.go go build -gcflags="all=-N -l" -o main
3:上傳到服務器執(zhí)行(使用ftp工具或者rz命令上傳都行)
sudo chmod +x main
4:服務器需要安裝go環(huán)境,這里不講解,自行安裝
5:服務器安裝調試工具,進行進程監(jiān)控轉發(fā),遠程調試
go install github.com/go-delve/delve/cmd/dlv@latest
6:配置遠程調試
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./main -- -j=10
下面是遠程調試的另一種方式
1:通過進程id監(jiān)控
ps -aux | grep main //查看進程信息 dlv --listen=:2345 --headless=true --api-version=2 attach 898805 //添加進程
2:進入debug
到此這篇關于golang debug調試的實現(xiàn)的文章就介紹到這了,更多相關golang debug調試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
golang封裝一個執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)示例代碼
在?Go?語言中,您可以使用?os/exec?包來執(zhí)行外部命令,不通過調用?shell,并且能夠獲得進程的退出碼、標準輸出和標準錯誤輸出,下面給大家分享golang封裝一個執(zhí)行命令行的函數(shù)(return?stderr/stdout/exitcode)的方法,感興趣的朋友跟隨小編一起看看吧2024-06-06關于golang高并發(fā)的實現(xiàn)與注意事項說明
這篇文章主要介紹了關于golang高并發(fā)的實現(xiàn)與注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05