断点

golang调试工具Delve

↘锁芯ラ 提交于 2019-12-26 02:11:43
转自:http://www.cnblogs.com/li-peng/p/8522592.html Devle 是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。   线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。   安装Devle   安装Devle非常简单,直接运行go get 即可: go get -u github.com/derekparker/delve/cmd/dlv   如果你的go版本为1.5请先设置环境变量GO15VENDOREXPERIMENT=1再运行go get。我的go版本为1.10,不用设置。   使用Devle调试golang服务   先写一个简单的web服务,然后使用Devle来进行调试。   在$GOPATH/src/github.com/mytest 文件夹下创建main.go 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "net/http" 7 "os" 8 ) 9 10 const port = "8000" 11 12 func main() { 13 http.HandleFunc("/hi", hi) 14 15

golang调试工具Delve

蓝咒 提交于 2019-12-26 02:10:59
   Devle 是一个非常棒的golang 调试工具,支持多种调试方式,直接运行调试,或者attach到一个正在运行中的golang程序,进行调试。   线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。   安装Devle   安装Devle非常简单,直接运行go get 即可: go get -u github.com/derekparker/delve/cmd/dlv   如果你的go版本为1.5请先设置环境变量 GO15VENDOREXPERIMENT=1 再运行go get。我的go版本为1.10,不用设置。   使用Devle调试golang服务   先写一个简单的web服务,然后使用Devle来进行调试。   在$GOPATH/src/github.com/mytest 文件夹下创建main.go 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "net/http" 7 "os" 8 ) 9 10 const port = "8000" 11 12 func main() { 13 http.HandleFunc("/hi", hi) 14 15 fmt.Println("runing on port: " + port) 16

python与VScode

风格不统一 提交于 2019-12-26 01:49:41
用VScode写python是非常方便的。vscode是一个功能非常强大的编辑器,下面介绍大致的使用方法: 下载安装python,配置环境变量。 下载安装VScode(vscode会自动连接python)。 安装python插件,安装好后,直接按F5键就可运行python代码。 点击界面左下角,可以切换不同的python环境。 Vscode的功能非常强大,例如其自带的断点调试功能就非常好用,可以查看当前运行变量的值。 具体的操作: 搭建环境   在VSCode中搜索扩展Python,就是这货:   安装后,重新加载。上图中我因为已经装过了,所以显示的是禁用、卸载按钮。   下面就可以愉快的和Python玩耍了。是不是超方便? 基本操作   快在VSCode开始你的第一段Python代码吧,Python插件自带的Pylint功能会在你输入的过程中给你自动提示,自动完成,以及错误提示。   这里需要提醒各位PythonER们,VSCode包括VS中,Tab都默认是4个空格。   常用的几个操作快捷键,估计VSer们都能无痛转换: 首先是F1/Ctrl+Shit+P万能键,谁用谁知道 Ctrl+P:文件切换 Ctrl+空格:自动提示 F12/Ctrl+左键:跳转到定义 Shift+F12:预览定义 Ctrl+G:跳转行号 Ctrl+/:注释切换 Alt+↑↓:整行上下移动 Ctrl+↑↓

Fiddler 指定地址 加断点

纵饮孤独 提交于 2019-12-25 13:10:14
Fiddler设置断点 一、对所有请求设置断点:通过菜单选项或对应快捷键进行设置 ①before requests:发送请求时断点 ②after responses:响应请求时断点 二、对指定网址设置断点: ①发送请求时断点:bpu命令 设置:bpu 指定地址,设置完回车 清除:bpu 回车 ②响应请求时断点:bpafter命令 设置:bpafter 指定地址,设置完回车 清除:bpafter 回车 相关问题欢迎留言讨论! 来源: CSDN 作者: 前端的小小对象 链接: https://blog.csdn.net/a736755244/article/details/103694673

GDB调试之暂停

£可爱£侵袭症+ 提交于 2019-12-25 06:42:21
暂停机制: 有3种方式可以通知GDB暂停程序的执行。 a.断点: 通知GDB在程序中的特定位置暂停执行; b.监视点:通知GDB当特定内存位置(或者涉及一个或多个位置的表达式)的值发生变化时暂停执行; c.捕获点: 通知GDB当特定事件发生时暂停执行; 容易混淆的是,在GDB文档中将这3个机制都称为断点。这可能是因为它们的很多属性和命令都相同; GDB关于删除断点的delete命令:删除断点、监视点和捕获点; GDB中关于“位置”的含义非常灵活,它可以指各种源代码行、代码地址、源代码文件中的行号或者函数的入口等; 设置格式: 文件名:行号 断点可以通过函数名,当前文件内的行号来设置,也可以先指定文件名再指定行号,还可以指定与暂停位置的偏移量,或者用地址来设置; 程序员创建的每个断点(包括断点、监视点、和捕获点)都被标识为从1开始的唯一整数标识符;这个标识符用来执行该断点上的各种操作, break function 在函数function() 的入口(第一行可执行代码)处设置断点, 例如: break main 在源文件filename的line处设置断点,如果filename不在当前目录中,则可以给出相对路径名或者完全路径名来帮助GDB查找该文件。 例如: break source/bed.c:35 break bed.c:function 临时断点(只生效一次):

GDB 常用命令参考手册

人盡茶涼 提交于 2019-12-25 06:41:49
原文链接 GDB 常用命令参考手册 GDB 命令行参数 GDB 命令 GDB 操作提示 GDB 相关手册 相关链接 GDB 命令行参数 启动 GDB: gdb executable gdb -e executable -c core-file gdb executable -pid process-id (使用命令 'ps -auxw' 可以查看进程的 pid) 选项 含义 --help -h 列出命令行参数。 --exec= file -e file 指定可执行文件。 --core= core-file -c core-file 指明 core 文件。 --command= file -x file 从指定文件中读取 gdb 命令。 --directory= directory -d directory 把指定目录加入到源文件搜索路径中。 --cd= directory 以指定目录作为当前路径来运行 gdb 。 --nx -n 不要执行 .gdbinit 文件中的命令。默认情况下,这个文件中的命令会在所有命令行参数处理完后被执行。 --batch 在非交互模式下运行 gdb 。从文件中读取命令,所以需要 -x 选项。 --symbols= file -s file 从指定文件中读取符号表。 -write 允许对可执行文件和 core 文件进行写操作。 --quiet -q

使用gdb进行调试中级篇

我与影子孤独终老i 提交于 2019-12-25 06:41:35
  闲话少叙,经过 上篇文章 的铺垫后,咱们趁热打铁,继续学习。    设置断点   break <function> 在进入指定函数时停住。C++中可以使用class::function或function(type,type)格式来指定函数名。    break <linenum> 在指定行号停住。    break filename:linenum 在源文件filename的linenum行处停住    break filename:function 在源文件filename的function函数的入口处停住    break *address 在程序运行的内存地址处停住    break if i=100 表示当i为100时停住程序    info breakpoints( info break ) 查看断点    设置观察点(WatchPoint)   观察点一般来观察某个表达式(变量也是一种表达式)的值是否有变化了,如果有变化,马上停住程序。我们有下面的几种方法来设置观察点:    watch <expr> 为表达式(变量)expr设置一个观察点。一量表达式值有变化时,马上停住程序    rwatch <expr> 当表达式(变量)expr被读时,停住程序    awatch <expr> 当表达式(变量)的值被读或被写时,停住程序    info watchpoints

GDB调试

╄→гoц情女王★ 提交于 2019-12-25 06:41:19
概述:   GDB是UNIX下强大的调试工具,如果在UNIX下调试C/C++程序,GDB会比IDE的调试工具更好使。   要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:   如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。 启动gdb   启动GDB的方法有以下几种: 1、gdb <program> program也就是你的执行文件,一般在当然目录下。如果你需要带 argv[] ,则需要选项 -args 2、gdb <program> core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。 3、gdb <program> <PID> 如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。    GDB实现的功能: 按自定义的要求来运行程序。 可让被指定的程序在你所设置的断点处停住 当程序被停住时,检查你的程序中所发生的所有事。 动态低改变运行环境   可能从这几点你会觉得和IDE的调试没什么两样

GDB常用命令

本秂侑毒 提交于 2019-12-25 06:41:03
启动和停止:   gdb <gropram>  //使用gdb调试program可执行文件,注意在编译时gcc要加入-g参数。   gdb <program> core //用 gdb 同时调试一个运行程序和 core 文件,core 是程序异常终止后 core dump 后产生的文件。   gdb <program> <PID>  //如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程 ID。gdb 会自动attach 上去,并调试他。program 应该在 PATH 环境变量中搜索得到。   run或r  //运行程序(在此给出命令行参数)   kill  //停止程序 显示代码:   list==l   list<linenum>  //显示程序第linenum行周围的程序   list<functiont>  //显示函数名为function的函数的源程序   list  //显示当前行后面的源程序   list-  //显示当前行前面的源程序 断点:   break == b   break <function>   //在函数function入口处设置断点   break <linenum>  //在指定行号停住   break *addreee  //在地址address处停止   break <linespc> thread <threadno>  

gdb Debug

为君一笑 提交于 2019-12-25 06:40:43
  源码会进行行号提示。   如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码。或者:使用断点或单步运行,到某个函数处使用s进入这个函数。 3)设置断点  (gdb) b 6   这样会在运行到源码第6行时停止,可以查看变量的值、堆栈情况等;这个行号是gdb的行号。 4)查看断点处情况  (gdb) info b   可以键入"info b"来查看断点处情况,可以设置多个断点; 5)运行代码  (gdb) r 6)显示变量值  (gdb) p n   在程序暂停时,键入"p 变量名"(print)即可;   GDB在显示变量值时都会在对应值之前加上"$N"标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写作"$N",而无需写冗长的变量名; 7)观察变量  (gdb) watch n 在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点; 8)单步运行  (gdb) n 9)程序继续运行  (gdb) c   使程序继续往下运行,直到再次遇到断点或程序结束; 10)退出GDB  (gdb) q 2.断点调试 命令格式   例子       作用 break + 设置断点的行号  break n      在n行处设置断点 tbreak +