fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation

朱运诚
2023-12-01

错误堆栈:

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x27 pc=0x7fc8a8a92932]

runtime stack:
runtime.throw({0x66d1b9, 0x7fc880f03a50})
        /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:719 +0x396

。。。

展示了一堆,就不复制那么多了

目标:

通过go语言实现一个http server,同时通过CGO封装了一个标准C的.so动态库去调用C++静态库.a文件

问题分析:

每次调用.a的某个函数时就会出现上边的错误

a.直接用C++demo 调用.a也没问题,排除了.a的bug

b.怀疑CGO的http框架,但是又不能注释掉C.func

c.尝试了N种解决方法都无果

解决方案:

工程中用到.a的任何.h文件一定要和其版本保持同步,不然构造对象时会出现一定的偏差,导致指针偏移错误;

其次,编译可执行文件前务必,先rm,再go build

 类似资料:

相关阅读

相关文章

相关问答