运行使用gccgo构建的二进制文件时,“ELF可执行文件中没有调试信息”

时间:2014-08-01 13:58:14

标签: go gccgo

我决定尝试一下Go,然后编写了以下代码:

package main

import "fmt"

func main() {
    fmt.Printf("Hello, World\n")
}

我将其保存在main.go下,然后尝试使用gccgo main.go -o main进行编译。这很有效。但是,当我尝试./main时,我收到以下消息:

no debug info in ELF executable errno -1
fatal error: no debug info in ELF executable

runtime stack:
no debug info in ELF executable errno -1
panic during panic

究竟发生了什么?

1 个答案:

答案 0 :(得分:4)

首先,不要使用gccgo,它不支持Go 1.3。

其次,Go的运行时间取决于调试信息,我猜测你使用旧版本的gcc(可能是4.8)自动剥离它,你必须像运行它一样运行它gccgo -g main.go -o main

如果您正在使用ubuntu,则此bug是相关的。