go 命令行debug

1 篇文章 0 订阅

GoLang调试工具Delve

1.先获取呗:

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

2.编写测试代码呗:

func main(){
	http.HandleFunc("/test",func(writer http.ResponseWriter,req *http.Request){
		//TODO
	})
	log.Fatal(http.ListenAndServe("127.0.0.1:8080",nil))
}

3.debug 启动:

dlv debug test.go

4.打断点:
4.1):对方法打断点:
b main.函数名
4.2):运行到断点处:
c
4.3:对某一行打断点:
需要得到文件的位置再打断点:
b /Users/joker/go/src/…/test.go:14 对14行打断点

至于如何进行与ide上的操作一致的呢: 通过n,s
n:相当于Java-Eclipse的F6
s:相当于Java-Eclipse的F5
如何查看变量呢:p
p testName 则会输出testName的值
args:则会输出所有方法参数信息
locals:则会输出所有的本地变量
emmmmmmmm golang 的命令行编译感觉好不方便,还是想办法搞到ide上吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 从引用\[1\]中可以了解到,调试器gdb是用来查找代码错误的工具。在Linux中,使用gcc/g++编译生成的二进制程序默认是release模式,如果要使用gdb调试,需要在生成二进制程序时加上-g选项。而从引用\[2\]中可以看到,使用gdb可以通过命令"info breakpoints"来查看所有断点。最后,从引用\[3\]中可以了解到,启动gdb调试器时需要手动加载Go Runtime。根据这些信息,如果要在局部进行debug,你可以按照以下步骤进行操作: 1. 确保你的代码已经使用-g选项编译生成了二进制程序。 2. 打开终端,进入到代码所在的目录。 3. 使用命令"gdb <二进制程序名>"启动gdb调试器。 4. 在gdb命令行中,使用"info breakpoints"命令查看所有断点。 5. 根据需要,可以使用其他gdb命令来设置、删除或禁用断点。 6. 使用"gdb"命令来加载Go Runtime支持。 7. 使用gdb的其他命令来进行调试,如设置断点、运行程序、查看变量值等。 请注意,这只是一个大致的步骤,具体的调试过程可能会因为代码的不同而有所差异。建议在进行调试前先阅读相关的gdb文档或教程,以便更好地理解和使用gdb调试器。 #### 引用[.reference_title] - *1* [【Linux】项目自动化构建工具-make/Makefile与Linux调试器-gdb使用](https://blog.csdn.net/m0_66599463/article/details/128850066)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Go语言debug调试](https://blog.csdn.net/halcyonbaby/article/details/41781743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值