• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰(zhàn)魂小筑

            討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開源項(xiàng)目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評(píng)論 :: 0 Trackbacks

            Google官方為Golang的調(diào)試?yán)幽J(rèn)使用了gdb

            然而, 使用gdb調(diào)試go程序會(huì)遇到goroutine的各類問題, 因?yàn)間db不懂go

            因此, 這里使用delve黑科技來進(jìn)行Golang的程序調(diào)試

            純命令行調(diào)試方法在網(wǎng)上很容易搜索到, 本文主要以LiteIDE來進(jìn)行程序調(diào)試

            關(guān)閉編譯器優(yōu)化

            正常go build/install出的go程序是完全優(yōu)化過的, 強(qiáng)行使用調(diào)試器掛接調(diào)試時(shí), 某些local變量/lamda表達(dá)式捕獲的變量會(huì)直接進(jìn)入寄存器, 無法使用調(diào)試器查看

            刪掉所有的pkg, 為build或install參數(shù)加入關(guān)閉編譯器優(yōu)化的參數(shù) -gcflags "-N -l"

            例如:

            1. go install -gcflags "-N -l" svc\gamesvc

            delve調(diào)試器安裝方法

            LiteIDE自帶了gdb, 但是沒有delve調(diào)試器, 需要自行安裝, 命令如下

            1. go get github.com/derekparker/delve/cmd/dlv

            delve調(diào)試器會(huì)被放到你的GOPATH/bin下

            LiteIDE中的delve調(diào)試器配置

            選擇調(diào)試器

            在LiteIDE菜單中選擇 調(diào)試->debugger/delve

            delve環(huán)境變量設(shè)置

            這個(gè)時(shí)候, LiteIDE依然找不到delve, 因?yàn)樗辉诃h(huán)境變量PATH中, 這里無需修改環(huán)境變量, 只需要LiteIDE的環(huán)境配置

            在LiteIDE菜單中選擇 查看->編輯當(dāng)前環(huán)境, 在彈出的文檔中修改

            1. PATH=c:\mingw32\bin;%GOROOT%\bin;%PATH%;c:\your\path\to\delve

            去掉PATH前的注釋#, 在%PATH%添加分號(hào), 然后和你到delve調(diào)試器的路徑

            開始調(diào)試

            選擇你的工程, 點(diǎn)擊F5, 進(jìn)入調(diào)試模式

            調(diào)試器顯示變量值

            LiteIDE使用delve調(diào)試時(shí), 無法在 變量 監(jiān)視等窗口中正確捕捉delve調(diào)試返回?cái)?shù)據(jù)(因?yàn)楦袷教珡?fù)雜了…)

            沒關(guān)系, 我們使用命令行配合顯示即可

            LiteIDE控制臺(tái)或調(diào)試輸出窗口在delve調(diào)試時(shí), 實(shí)際上是一個(gè)標(biāo)準(zhǔn)命令行 
            命令如下

            • p 變量名可以查看變量值

            • locals查看局部變量

            • ls可查看當(dāng)前文件

            • stack查看棧

            • help可以查看各種幫助

            調(diào)試外部程序

            如果你的程序是外部程序, 或者使用go install安裝到GOPATH/bin目錄的程序, 那么使用delve調(diào)試器啟動(dòng)程序時(shí), 可能會(huì)碰到啟動(dòng)路徑錯(cuò)誤的問題

            使用LiteIDE菜單 調(diào)試->調(diào)試其他應(yīng)用程序… 填入你要調(diào)試程序的路徑以及工作目錄, 可以解決這個(gè)問題

            posted on 2016-09-03 18:12 戰(zhàn)魂小筑 閱讀(5571) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 程序調(diào)試技術(shù)Golang
            久久影院午夜理论片无码 | 久久久久久久久66精品片| 无码人妻久久一区二区三区 | 无码精品久久久久久人妻中字| 国产欧美一区二区久久| 天堂无码久久综合东京热| 99久久国产亚洲高清观看2024 | 亚洲国产精品无码久久久久久曰| 亚洲精品高清国产一久久| 久久精品这里热有精品| 久久永久免费人妻精品下载| 亚洲午夜久久久影院| 久久精品午夜一区二区福利| 99久久成人国产精品免费| 久久久青草久久久青草| 久久露脸国产精品| 国内精品伊人久久久久妇| 亚洲va久久久噜噜噜久久天堂| 国产99精品久久| 国产高清美女一级a毛片久久w| 久久久久亚洲AV无码去区首| 久久久久久久久久久免费精品| 久久久久久伊人高潮影院| 久久久久久久久无码精品亚洲日韩 | 亚洲国产精品综合久久网络| 精品久久久中文字幕人妻| 精品久久久久久久国产潘金莲| 国产三级久久久精品麻豆三级| 国产精品久久久99| 伊人久久五月天| 国产精品视频久久久| 久久五月精品中文字幕| 无码日韩人妻精品久久蜜桃| 狠狠色综合久久久久尤物| 99久久无色码中文字幕人妻| 国产视频久久| 久久夜色精品国产网站| 亚洲人成无码久久电影网站| 狠狠88综合久久久久综合网| 亚洲国产成人乱码精品女人久久久不卡| 久久久久国产精品熟女影院|