分段错误debian 8 golang

时间:2016-08-25 13:37:06

标签: linux go segmentation-fault debian

tstx程序代码(golang)

package main

import "fmt"

func main(){
 fmt.Printf("Hello")
}

开发电脑(基于debian的linux)一切都好,但是 当我在服务器计算机上运行它(Debian 8)时,我得到了分段错误

两个系统都是amd64,代码用[go build]

编译

[strace ./tstx] - 说

execve("./tstx", ["./tstx"], [/* 16 vars */]) = 0                                                                                                                                                                  
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffffffffffffff8b} ---                                                                                                                                
+++ killed by SIGSEGV +++    

1 个答案:

答案 0 :(得分:0)

由于您在一台计算机上进行编译并转移到另一台计算机上,因此您确实希望确保DLL不是问题。首先,构建:

CGO_ENABLED=0 go build...

确保它看起来不错:

ldd tstx

(它应该带有“不是动态可执行文件”或类似内容)。

禁用CGO意味着可执行文件会更大(静态链接的所有内容),但dll不会成为问题,因为它是自包含的。最后,通过uname验证他们的架构是否相同也不会有害......