编译Go语言程序的时候,传递-gcflags "-N -l"参数,这样可以忽略Go语言内部做的一些优化,聚合变量和函数等优化

go build -gcflags "-N -l"

常用命令

  • list 显示源码,默认显示10行,例如list 15,显示十行代码,其中第15行在显示的十行里边的中间

  • break 设置断点,后面可以跟代码行号或者函数名

  • delete 删除断点,后面跟上断点设置的序号,这个序号可以通过info breakpoints获取相应的设置的断点序号

  • backtrace 简写命令bt,用来打印执行的代码过程

  • info 用来显示信息 info locals用来显示当前执行的程序中的变量值 info breakpoints显示当前设置的断点列表 info goroutines显示当前执行的goroutine列表

  • print 打印变量或者其他信息,后面跟上需要打印的变量名,

  • whatis 用来显示当前变量的类型,后面跟上变量名

  • next 跳到下一步 

  • continue 用来跳出当前断点,继续执行,后面跟上参数N,跳过多上次断点

  • set variable 用来改变运行过程中的变量值