Golang命令行进行debug调试操作

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上吧

用go玩Debug, Info, Error级别的log

直接上代码:

package mylog
import (
    "log"
    "os"
)
var (
    Debug *log.Logger
    Info *log.Logger
    Error *log.Logger
)
func init() {
    log.Println("init ...")
    Debug = log.New(os.Stdout, "[DEBUG] ", log.Ldate|log.Ltime|log.Lshortfile)
    Info = log.New(os.Stdout, "[INFO] ", log.Ldate|log.Ltime|log.Lshortfile)
    Error = log.New(os.Stderr, "[ERROR] ", log.Ldate|log.Ltime|log.Lshortfile)
}
package main
import "mylog"
func main(){
  mylog.Debug.Println("good");
  mylog.Info.Println("good");
  mylog.Error.Println("good");
}

就这样。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

时间: 2019-04-01

golang执行命令获取执行结果状态(推荐)

这几天在用golang写一个工具,要执行外部命令工具,而且还要将外部命令工具输出的日志也要输出出来.网上找了一下,资料很多,关键是执行的结果成功或失败状态没找到好的方法获取到. 刚开始想的是看错误日志,如果有错误日志,那么就是执行失败.测试的时候发现这样不行,发现有些时候会用error输出日志,但不一定就是执行失败.后来想用日志中的关键字匹配,因为有些命令执行成功或失败都是有关键字输出的,测试发现也不太好. 最后没办法,看了一下Cmd.Wait()方法的实现,突然眼前一亮,找到方法了,有一个Cm

利用Golang如何调用Linux命令详解

本文介绍的是Golang使用 os/exec 来执行 Linux 命令,分享出来供大家参考学习,下面来看看详细的介绍: 下面是一个简单的示例: package main import ( "fmt" "io/ioutil" "os/exec" ) func main() { cmd := exec.Command("/bin/bash", "-c", `df -lh`) //创建获取命令输出管道 stdou

golang中命令行库cobra的使用方法示例

简介 Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序.下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支持全局,局部,串联flags 使用Cobra很容易的生成应用程序和命令,使用cobra create appname和cobra add cmdname 如果命令输入错误,将提供智能建议,如 ap

利用python实现命令行有道词典的方法示例

前言 由于一直用Linux系统,对于词典的支持特别不好,对于我这英语渣渣的人来说,当看英文文档就一直卡壳,之前用惯了有道词典,感觉很不错,虽然有网页版的但是对于全站英文的网页来说并不支持.索性自己实现一个,基于Python编写的小工具实现有道词典,思路也很简单,直接调用有道的api,解析下返回的json就ok了. 只用到了python原生的库,支持python2和python3. 示例代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # API ke

命令行启动mssqlserver服务的方法示例

最近mssql服务老是开机启动不了,干脆也就不让他启动了,开完机了手动启动吧,由于每次都要用管理工具启动太麻烦,所以还是命令行方便些. 记录如下: 使用"SQLServer命令行"的方式来启动和关闭IIS.SQLServer. 一个批处理文件start.bat,是启动: 复制代码 代码如下: net start mssqlserver net start w3svc 一个是停止stop.bat: 复制代码 代码如下: net stop mssqlserver net stop iisa

Python中强大的命令行库click入门教程

前言 我们的游戏资源处理工具是Python实现的,功能包括csv解析,UI材质处理,动画资源解析.批处理,Androd&iOS自动打包等功能.该项目是由其他部门继承过来的,由于绝大部分代码不符合我们的业务需求,所以进行了大重构.删除了所有业务代码,仅保留了python代码框架.项目中命令行参数解析是自己实现的,极其不优雅,也忍了这么久.打算找时间用click重写.所以最近学习了click,下面本文的内容是click的入门教程,初学者们可以来一起学习学习. 官网镜像地址: http://click

Zend Framework基于Command命令行建立ZF项目的方法

本文实例讲述了Zend Framework基于Command命令行建立ZF项目的方法.分享给大家供大家参考,具体如下: zend framework 的项目结构比较复杂,但是有既定的结构.zf提供了使用Command生成项目结构的工具,使用非常方便,初学者可以不用为了复杂的结构而Orz. 使用前的一些配置. 涉及到的文件: 1.zf 的 library 2.bin zf下载时所带的bin文件夹 3.php.exe 第一步: 将library和bin文件夹拷贝到服务器根目录,我的服务器跟目录为E:

使用curl命令行模拟登录WordPress的方法

WordPress默认登录页面:http://192.168.0.120/wordpress/wp-login.php 1.Chrome浏览器F12,输入一个错误的密码,点击登录: 取出"log=root&pwd=root@123&wp-submit=%E7%99%BB%E5%BD%95&redirect_to=http%3A%2F%2F192.168.0.120%2Fwordpress%2Fwp-admin%2F&testcookie=1",并替换为正

在 Linux 命令行发送邮件的 5 种方法(推荐)

当你需要在 shell 脚本中创建邮件时,就需要用到命令行发送邮件的知识.Linux 中有很多命令可以实现发送邮件.本教程中包含了最流行的 5 个命令行邮件客户端,你可以选择其中一个.这 5 个命令分别是: mail / mailx mutt mpack sendmail ssmtp 工作原理 我先从整体上来解释下 Linux 中邮件命令怎么把邮件传递给收件人的.邮件命令撰写邮件并发送给一个本地邮件传输代理(MTA,如 sendmail.Postfix).邮件服务器和远程邮件服务器之间通信以实际

python解析命令行参数的三种方法详解

这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法:sys.argv.argparse解析.getopt解析 方法一:sys.argv -- 命令行执行:python test_命令行传参.py 1,2,3 1000 # test_命令行传参.py import sys def para_input(): print(len(sys.argv)) #

Android如何通过命令行操作Sqlite3数据库的方法

1.首先,找到 Android SDK 在本机中的位置,如果不知道,可以通过在 Android Studio 找到,如下: 2.其次,通过 cmd 打开 windows 命令行窗口,如果,SDK 所在目录就在C盘下,可以直接通过 cd 命令挂载至 SDK 下的 platform-tools 目录,如下: cd C:\Users\wyj\AppData\Local\Android\Sdk\platform-tools 如果在其他盘(如 D 盘),需要先转到该盘: 然后再使用 cd 命令转到对应的位

使用命令行重启Windows服务器的方法

命令: c:/> shutdown /r 通常大多数用户的使用GUI图形界面方式访问远程或本地的Windows系统.在某些情况下,我们没有图形界面的系统重启按钮,但我们仍然可以使用命令行重新启动远程服务器.本文将帮助你重新启动的远程Windows Server使用命令行提示符. 使用命令行重新启动Windows Server 只需使用shutdown的 /r 命令来重新启动Windows服务器.以下是shutdown命令的各种例子. 重新启动本地系统 c:/> shutdown /r 重新启动