我嘗試從看起來像這樣的Google Go程序中啟動JVM:package mainimport "fmt"import "os"import "log"func main() {var name stringname="\\jrex64\\bin\\java.exe"var path="-Xbootclasspath:jrex64\\lib\\rt.jar;"+"jrex64\\lib\\jfxrt.jar;"+"jrex64\\lib\\resources.jar;"+"jrex64\\lib\\ext\\sunjce_provider.jar;"+"jrex64\\lib\\ext\\zipfs.jar;"+"jrex64\\lib\\ext\\sunmscapi.jar;"+"jrex64\\lib\\ext\\sunec.jar;"+"jrex64\\lib\\ext\\dnsns.jar;"+"jrex64\\lib\\ext\\access-bridge-64.jar;"+"jrex64\\lib\\security\\local_policy.jar;"+"jrex64\\lib\\jce.jar;"+"jrex64\\lib\\jfr.jar;"+"jrex64\\lib\\jsse.jar;"+"jrex64\\lib\\charsets.jar;"+"jrex64\\lib\\";var args[] string=make([]string,4)args[0]="-verbose"args[1]=path;args[2]="-cp Ganesha_lib\\*"args[3]="-jar Ganesha.jar"var attr* os.ProcAttrproc,err:=os.StartProcess(name,args,attr)proc.Wait();if err!=nil { fmt.Println("an error occurred.\n") log.Fatal(err)}}這是我的第一個Go程序。我完全不知所措,出現(xiàn)以下錯誤:緊急情況:運行時錯誤:無效的內(nèi)存地址或nil指針取消引用[信號0xc0000005代碼= 0x0 addr = 0x0 pc = 0x4278b5] goroutine 1 [正在運行]:os.startProcess(0x4aacb4、0x14、0xf840001eb0、0x500000005、0x0 ...) :/Users/ADMINI~1/AppData/Local/Temp/2/bindist767862039/go/src/pkg/os/exec_posix.go:28 + 0x152 os.StartProcess(0x4aacb4,0x14,0xf840001eb0,0x500000005,0x0,... )C:/Users/ADMINI~1/AppData/Local/Temp/2/bindist767862039/go/src/pkg/os/doc.go:24 + 0x5c main.main()D:/MyGoProject/src/main.go :60 + 0x23c goroutine 2 [syscall]:由runtime.main創(chuàng)建:C:/Users/ADMINI~1/AppData/Local/Temp/2/bindist767862039/go/src/pkg/runtime/proc.c:221進程結(jié)束于退出代碼2我該如何解釋該錯誤代碼?什么地方出了錯?以及如何獲取JVM startet-它位于Go可執(zhí)行文件的子目錄中。
3 回答

青春有我
TA貢獻1784條經(jīng)驗 獲得超8個贊
這里:
var attr* os.ProcAttr
proc, err := os.StartProcess(name, args, attr)
該attr變量是零和提領(lǐng)時os.StartProcess它會導(dǎo)致你看到的錯誤。
- 3 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消