2

サンプルファイル

src/test.go

package main
import (
  . "clib"
)
func main() {
  a := "123";
  b := "456";
  c := "789";
  println(a,b,c);
  Output("ABC");
}

src/clib/clib.h

#ifndef CLIB
void output(char* str);
#endif

src/clib/clib.c

#include "clib.h"
#include <stdio.h>
void output(char* str)
{
    printf("%s\n", str);
}

src/clib/clib.go

package clib
/*
#cgo CFLAGS:-g
#include "clib.h"
*/
import "C"
func Output(s string) {
  p := C.CString(s);
  C.output(p);
}

実行コード

go build -gcflags "-N -l" test.go
gdb ./test
b 10
r
info locals  // <- every variable's value is wrong!

この問題を解決するのを手伝ってくれる人、どうもありがとう。

私の環境:

  • Ubuntu 11.04 i386
  • gdb 7.6
  • 1.1に行く
4

1 に答える 1

4

これに関して現在未解決のバグがあります: https://code.google.com/p/go/issues/detail?id=5221

gdb を使用した cgo のデバッグは 1.0 では機能していましたが、現在 1.1 では機能していません。取り組んでいます。

于 2013-06-17T13:13:26.080 に答える