示例文件
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!
谁能帮助我解决这个问题,非常感谢。
我的环境:
最佳答案
当前存在一个与此有关的未解决错误:https://code.google.com/p/go/issues/detail?id=5221
使用gdb调试cgo在1.0中可用,但在1.1中已被破坏。正在努力。