gpt4 book ai didi

debugging - GDB无法调试cgo代码内的go程序

转载 作者:IT王子 更新时间:2023-10-29 01:37:17 27 4
gpt4 key购买 nike

示例文件

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

最佳答案

目前有一个关于此的 Unresolved 错误:https://code.google.com/p/go/issues/detail?id=5221

用 gdb 调试 cgo 在 1.0 中有效,但目前在 1.1 中被破坏了。正在处理中。

关于debugging - GDB无法调试cgo代码内的go程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148279/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com