GDB无法在cgo代码中调试go程序

示例文件

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


肥皂起泡泡
浏览 258回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go