go語言調(diào)試收費 go遠程調(diào)試

go語言調(diào)試器有哪些官網(wǎng)

可以去DELVE官網(wǎng)進行下載。

創(chuàng)新互聯(lián)建站專注于黃埔企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站制作。黃埔網(wǎng)站建設(shè)公司,為黃埔等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

關(guān)于delve工具的介紹,這里簡單給大家介紹一下。

delve在go項目及應(yīng)用的開發(fā)中可以用來追蹤程序中的異常代碼,也可以通過打日志的方式追查問題,但是更重要也是非常厲害的一點,就是delve可以直接分析程序執(zhí)行的情況。這一點在后期或線上的問題排查中無疑是提供了一個非常大的便捷。

Go(又稱?Golang)是?Google?的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強類型、編譯型語言。

Go 語言語法與?C?相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style?并發(fā)計算。

Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進程(CSP)為基礎(chǔ)。

采取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特征,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現(xiàn)在能從Go中動態(tài)加載部分函數(shù)。

Delve常用命令

命令功能:

dlv attach后面跟 pid,用來Debug編譯好的Golang程序。

dlv core用于 coredump。

dlv debug后面跟要調(diào)試的 go 文件,進入 Debug。

dlv testDebug test 函數(shù)。

delve基礎(chǔ)用法及在vscode中的使用

delve 是go語言的調(diào)試器,delve的目標是為go提供一個簡潔、功能齊全的debug工具,delve易于調(diào)用和使用。

為了能夠編譯delve,需要安裝Go 1.10或更高版本

安裝好go后,直接go get即可安裝,更多安裝教程見:

go get github.com/go-delve/delve/cmd/dlv

安裝好后,在終端執(zhí)行dlv或者dlv help 會看到dlv的幫助信息,則說明安裝成功

dlv常用命令

delve的目標是成為一個簡潔而強大的工具。但如果你不習(xí)慣在編譯語言中使用源碼調(diào)試,則可能令人困惑。本文檔將提供開始調(diào)試go程序所需的全部信息。

調(diào)試例子程序如下

├── go.mod

├── go.sum

├── main.go

├── test

└── utils

├── util.go

└── util_test.go

調(diào)試程序主要有三個文件,main.go、util.go、util_test.go,內(nèi)容如下,比較簡單,go包管理工具使用的是go module,模塊名為test

在vscode debug 的設(shè)置中配置launch.json文件

mode 設(shè)置為debug時,program的內(nèi)容${fileDirname}即可,mode 設(shè)置為exec時,program的值為二進制文件的路徑,通過設(shè)置mode的值,即可調(diào)試源碼和二進制程序(也需要有源碼)。mode模式為auto時,測試了下,vscode 并不能通過program的內(nèi)容來判斷是debug還是exec

遠程調(diào)試時,需要在遠程也有源碼、二進制包和dlv工具

在遠端執(zhí)行dlv命令

dlv debug --headless --listen=:8989 --api-version=2 --accept-multiclient #用degbug方式啟動遠程應(yīng)用程序

dlv exec --headless --listen=:8989 ./test --api-version=2 --accept-multiclient # exec執(zhí)行當(dāng)前目錄下的test二進制文件

--listen:指定調(diào)試端口

--api-version:指定api版本,默認是1

--accept-multiclient:接受多個client調(diào)試

在vscode中線下好源碼,和遠端的源碼結(jié)構(gòu)一致。launch.json配置如下:

在vscode中打好斷點后,就可以進行遠程調(diào)試了

Go語言編譯成aar并調(diào)試

go及gomobile的環(huán)境配置這里就不介紹了,直接說aar的生成和使用。

1. 設(shè)置環(huán)境變量GOPATH

GOPATH的值可以有多個,用半角分號間隔,但不能以其結(jié)束,設(shè)置完成后需要重新做 gomobile init 。

2. 在GOPATH里創(chuàng)建src文件夾,用于存放go的包和源文件

3. 在src中創(chuàng)建hello文件夾(go文件的包名)

4. 在hello中創(chuàng)建hello.go文件,并輸入內(nèi)容

5. 編譯

執(zhí)行命令: gomobile bind -target=android hello

會生成一個hello.aar文件

6. 導(dǎo)入到android工程

將hello.aar文件放入工程的libs中,并配置build.gradle

在根結(jié)點加入:

在dependencies結(jié)點下加入依賴:

7. 在Java中測試

運行后,結(jié)果會輸出 Hello, Android and Gopher

網(wǎng)頁名稱:go語言調(diào)試收費 go遠程調(diào)試
文章網(wǎng)址:http://muchs.cn/article44/doooehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)頁設(shè)計公司網(wǎng)站設(shè)計公司、網(wǎng)站排名、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)