簡體   English   中英

Go 程序加載一個 DLL 編譯自 Go 代碼錯誤

[英]Go program loads a DLL compiled from Go code error

Go 程序加載從 Go 代碼編譯的 DLL
我該怎么辦 謝謝。
go 1.18版
windows 10
有時,調用操作后,第一次可以正常運行。 再運行會報錯,然后就一直報錯

報錯如下

fatal error: unexpected signal during runtime execution
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x67b21ff5]

goroutine 1 [running, locked to thread]:
runtime.throw({0x67bdb25b?, 0xc0000240c0?})
        C:/Program Files/Go/src/runtime/panic.go:1047 +0x65 fp=0xc00003b9c0 sp=0xc00003b990 pc=0x67b44085
runtime.sigpanic()
        C:/Program Files/Go/src/runtime/signal_windows.go:249 +0x213 fp=0xc00003ba08 sp=0xc00003b9c0 pc=0x67b572f3
runtime.heapBitsSetType(0xb0b245?, 0x300000002?, 0x100c000034000?, 0x1943b4f9628?)
        C:/Program Files/Go/src/runtime/mbitmap.go:921 +0x3d5 fp=0xc00003bb30 sp=0xc00003ba08 pc=0x67b21ff5       
runtime.mallocgc(0x10, 0x67bc4ba0, 0x1)
        C:/Program Files/Go/src/runtime/malloc.go:1050 +0x64d fp=0xc00003bba8 sp=0xc00003bb30 pc=0x67b1c58d       
runtime.newobject(0x14?)
        C:/Program Files/Go/src/runtime/malloc.go:1192 +0x27 fp=0xc00003bbd0 sp=0xc00003bba8 pc=0x67b1c927        
os/exec.Command({0x67bd43ec, 0x8}, {0x0, 0x0, 0x0?})
        C:/Program Files/Go/src/os/exec/exec.go:274 +0x38 fp=0xc00003bc28 sp=0xc00003bbd0 pc=0x67b9f6d8
main.main()
        D:/code/test_dll/main.go:68 +0x2c fp=0xc00003bc60 sp=0xc00003bc28 pc=0x67ba336c
main.RunHacking8(...)
        D:/code/test_dll/main.go:60
_cgoexp_b07154bc348b_RunHacking8(0x0?)
        _cgo_gotypes.go:39 +0x27 fp=0xc00003bc70 sp=0xc00003bc60 pc=0x67ba33c7
runtime.cgocallbackg1(0x67ba33a0, 0xc000026000?, 0x0)
        C:/Program Files/Go/src/runtime/cgocall.go:316 +0x2c2 fp=0xc00003bd40 sp=0xc00003bc70 pc=0x67b13f82
runtime.cgocallbackg(0xc000034000?, 0x300000002?, 0xc000034000?)
        C:/Program Files/Go/src/runtime/cgocall.go:235 +0x105 fp=0xc00003bdd0 sp=0xc00003bd40 pc=0x67b13bc5
runtime.cgocallbackg(0x67ba33a0, 0x6b639ffadf, 0x0)
        <autogenerated>:1 +0x36 fp=0xc00003bdf8 sp=0xc00003bdd0 pc=0x67b702d6
runtime: g 1: unexpected return pc for runtime.cgocallback called from 0xb542a0
stack: frame={sp:0xc00003bdf8, fp:0xc00003be20} stack=[0xc00003a000,0xc00003c000)

runtime.cgocallback(0xb02a8b, 0xb57e20, 0xbd4940)
        C:/Program Files/Go/src/runtime/asm_amd64.s:994 +0xd7 fp=0xc00003be20 sp=0xc00003bdf8 pc=0x67b6e097

我發現了問題,因為我的 dll 調用了另一個無法再次調用的 dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM