在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
godebug是一个跨平台的Go程序调试工具,传统的编译型语言调试器使用底层系统调用并读取二进制文件用于调试各类符号。使用起来很麻烦而且很难移植。 godebug使用不同的方法,直接把源码作为目标程序,在每一行插入调试代码,然后编译并运行。结果就是一个全功能的调试器,完全可以移植到不同平台。事实上,由于有了gopherjs ,你也可以在浏览器上进行调试: 点击此处尝试原文调试窗口。通过原文的“DEBUG IT”按钮,你可以编辑程序并重新调试它。 工作原理 下面这张是描述上面例子的矢量图: 从中可以看出原始代码转换了两次:第一次godebug插入调试instrumentation,然后gopherjs将结果编译成JavaScript。 让我们看一下instrumentation步骤,以下是godebug插入的调用:
使用godebug Step 1.安装 Step 2.设置断点 在任何想要断点的地方添加这个标记: 由于断点是源代码的一部分,你可以将自己的逻辑置于他们周围。假设你正在运行一个表格驱动多情况测试,其中一个测试输入“weird string”的情况是失败的,那么你可以将下面这个断点放入测试当中: godebug test将于标记处暂停程序,方便定位。 Step 3.运行程序 使用godebug运行命令: 或者对测试来说 ,运行测试命令: 默认情况下,godebug只会添加调试instrumentation到package main(为了godebug运行)或者测试下的package(为了godebug测试)。这意味着在默认情况下,你无法进入来自导入包的函数。当需要的时候,执行下面这个行命令: 最后 godebug仍然还是一款需要打磨的新工具,目前存在的已知限制包括:
其在GitHub上的地址点此进入。 极客头条正式开通了微信公众号,刊选每日精华内容和最新的资讯文章。在微信搜索“csdn_geek”或扫描下方的二维码。 |
请发表评论