devle是乙個非常棒的golang 除錯工具,支援多種除錯方式,直接執行除錯,或者attach到乙個正在執行中的golang程式,進行除錯。
安裝devle非常簡單,直接執行go get 即可:
go get -u github.com/derekparker/delve/cmd/dlv如果你的go版本為1.5請先設定環境變數go15vendorexperiment=1再執行go get。我的go版本為1.10,不用設定。
先寫乙個簡單的web服務,然後使用devle來進行除錯。
在$gopath/src/github.com/mytest 資料夾下建立main.go
簡單吧,乙個執行在8000埠上的web服務,訪問 hi會返回機器的名稱。上面**的行號是很有用的,等會我們打斷點的時候會用到。
使用delve執行我們的main.go
可以輸入help來看一下幫助文件
很簡單的一些命令
我們先打在main方法上打乙個斷點:
然後執行c 來執行到斷點,
在func li 裡打乙個斷點,我們可以使用
b main.hi或者使用 "檔案:行號"來打斷點
現在執行continue 讓服務跑起來。訪問一下我們的服務,看hi方法會不會停下來。
curl localhost:8000/hi看到了沒,在19號停下來了。
輸入 n 回車,單步執行,
輸入 print(別名p)輸出變數資訊
輸入 args 列印出所有的方法引數資訊
輸入 locals 列印所有的本地變數
其他的命令我就不在這裡給大家演示了,自己動動手試一下。
先編譯一下我們的main.go然後去行main
然後使用delve附加到我們的專案上,先看一下我們的專案的pid
在hi方法裡打斷點,然後執行c來等待斷點的執行。
b /home/goworkspace/src/github.com/mytest/main.go:20訪問我們的伺服器,看一下斷點會不會被執行
斷點執行了。然後除錯你的**吧!
除錯工具 之Python除錯工具pycharm
1 pycharm的安裝 pycharm是一款非常好用的python ide,提供專業版和社群版,就像eclipse和myeclipse一樣,專業版是收費的,而社群版是免費的但功能就沒有專業版的功能強大。1.2 安裝 這裡就不必細說,直接next就ok ps 安裝完成後一定要執行 1.3 破解 採用...
gflags除錯工具
gflags windows除錯工具。使用它幫助我解決了瞎調了一整天的記憶體問題。由於使用了已經delete的指標,vs提示位置又錯誤的情況下,瞎調了一通。怎麼想那塊也不會有問題,可是抱著對vs的信任把錯就歸咎於自己吧!偶然的機會,搜到了gflags,抱著試一試的心態,使用該工具 1.安裝 debu...
除錯工具 gdb
gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...