• Bee Watch
    • 特性
    • 安装
    • 快速入门
      • 用法
      • 连接
    • 示例和 API 文档

    Bee Watch

    Build Status

    Bee Watch 是一款 Go 语言的交互式调试工具。

    特性

    • 使用 CriticalInfoTrace 三个级别来改变调试器的行为。
    • Display() 打印变量值或者使用 Printf() 自定义输出格式。
    • 使用用户友好界面的 WebSocket 模式或能够轻松控制的 命令行 模式。
    • 调用 AddWatchVars() 来监视变量并在程序调用 Break() 时显示它们的信息。
    • 通过 beewatch.json 配置文件来实现自定义配置。

    安装

    Bee Watch 是一个可以使用 “go get” 安装的 Go 项目,您可以执行以下命令完成自动安装:

    1. go get github.com/beego/beewatch

    注意 该项目目前只能通过源码安装。

    快速入门

    用法

    1. package main
    2. import (
    3. "time"
    4. "github.com/beego/beewatch"
    5. )
    6. func main() {
    7. // 默认级别为:Trace,
    8. // 或使用 `beewatch.Start(beewatch.Info())` 设置级别。
    9. beewatch.Start()
    10. // 声明一些变量。
    11. appName := "Bee Watch"
    12. boolean := true
    13. number := 3862
    14. floatNum := 3.1415926
    15. test := "fail to watch"
    16. // 增加监视变量,参数必须为偶数。
    17. // 需要注意的是您必须传递被监视变量的地址。
    18. // 该功能当前只支持基本类型。
    19. // 在下面的例子中,'test' 不会被监视。
    20. beewatch.AddWatchVars("test", test, "App Name", &appName,
    21. "bool", &boolean, "number", &number, "float", &floatNum)
    22. // 打印信息。
    23. beewatch.Info().Display("App Name", appName).Break().
    24. Printf("boolean value is %v; number is %d", boolean, number)
    25. beewatch.Critical().Break().Display("float", floatNum)
    26. // 修改一些值。
    27. appName = "Bee Watch2"
    28. number = 250
    29. // 您将在这里看到一些有趣的东西。
    30. beewatch.Trace().Break()
    31. // 多线程测试。
    32. for i := 0; i < 3; i++ {
    33. go multipletest(i)
    34. }
    35. beewatch.Trace().Printf("Wait 3 seconds...")
    36. select {
    37. case <-time.After(3 * time.Second):
    38. beewatch.Trace().Printf("Done debug")
    39. }
    40. // 关闭调试器,当您调试 Web 服务器时,可忽略该操作。
    41. beewatch.Close()
    42. }
    43. func multipletest(num int) {
    44. beewatch.Critical().Break().Display("num", num)
    45. }

    连接

    当您使用 WebSocket 模式时,Bee Watch 会自动监听 http://localhost:23456,您可以用过配置 beewatch.json 来修改调试器行为(请从 Bee Watch 的源码目录拷贝默认配置)。

    您的浏览器必须支持 WebSocket,在 Mac 和 Windows 上的 Chrome、Safari 和 Firefox 均以通过测试。

    Bee Watch demo

    示例和 API 文档

    Go Walker