关于GDB的Go调试的困惑

时间:2018-01-19 16:03:02

标签: debugging go gdb

我是一名java程序员,我正在学习Go。现在我可以简单地使用GDB而且我有一个疑问,当我调试Go程序时,我无法检查对象(或变量)究竟是什么。 例如当我调试java程序时,我可以检查对象(或变量)中的所有内容。

    public void catTest() {
      Cat cat1=new Cat("Kitty", 2, "white");
      /*AnyThing*/
      cat1.jump();
    }

当我使用eclipse-debug模式调试这个java方法时,cat1中的内容显然在整个过程中。 Details of Variable cat1

当我调试go程序时,我尝试使用命令print winfo args来检查变量w。

    func sayhelloName(w http.ResponseWriter, r *http.Request) {
    r.ParseForm()    
    fmt.Println(r.Form)  
    fmt.Println("path", r.URL.Path)    
    fmt.Println("scheme", r.URL.Scheme)    
    fmt.Println(r.Form["url_long"])    
    for k, v := range r.Form {
        fmt.Println("key:", k)        
        fmt.Println("val:", strings.Join(v, ""))    
    }    
    fmt.Fprintf(w, "Hello astaxie!")
}  

我可以得到这个但不是关于变量w的内容。

$2 = {tab = 0x81c2e0, data = 0x11156990}

0 个答案:

没有答案