亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:無法讓 gdb 為使用 C 庫的 Go 程序工作

Golang:無法讓 gdb 為使用 C 庫的 Go 程序工作

Go
慕妹3146593 2021-07-02 06:04:02
平臺是 Mac OSX Mavericks,我從端口安裝了 gdb 并對其進行了簽名。對于簡單的程序,它工作得很好,但是一旦我嘗試使用 C 庫的程序,它就無法加載符號。例如,如果我嘗試 Go GLFW 綁定中的 FSAA 示例,我會得到以下輸出:~/g/s/g/g/e/g/fsaa > ggdb mainGNU gdb (GDB) 7.6Copyright (C) 2013 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.  Type "show copying"and "show warranty" for details.This GDB was configured as "x86_64-apple-darwin13.0.0".For bug reporting instructions, please see:<http://www.gnu.org/software/gdb/bugs/>...Reading symbols from /Users/nils/gocode/src/github.com/go-gl/examples/glfw/fsaa/main...warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/attriblocation.cgo2.o': can't open to read symbols: No such file or directory.warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/buffer.cgo2.o': can't open to read symbols: No such file or directory.warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/color.cgo2.o': can't open to read symbols: No such file or directory.warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/framebuffer.cgo2.o': can't open to read symbols: No such file or directory.warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/gl.cgo2.o': can't open to read symbols: No such file or directory.warning: `/var/folders/rp/jyw8rd7j4hn10vyk5yjyfvw80000gn/T/go-build184019101/github.com/go-gl/gl/_obj/matrix.cgo2.o': can't open to read symbols: No such file or directory.我從后備箱得到了我的 go 版本,go version說:go version devel +f9af8b83c78c Fri Oct 25 23:00:22 2013 +0300 darwin/amd64GDB 版本是 7.6。我不想涉足 C 庫,我只想調試我的 Go 代碼。有任何想法嗎?
查看完整描述

1 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

您遇到了問題 5221。一個相關的問題是這個

對于 ELF 文件,此問題已部分修復,但對于您正在使用的 Mach 格式仍保持打開狀態。所以我想你必須等待 go 1.3 或來自提示的適當修復才能解決這個問題。

基本上問題在于您用于編譯.c文件的鏈接器不會從對象 ( .o) 文件中提取調試信息,而是引用它們。由于它們在構建過程后被刪除,gdb 無法讀取它們。

作為一種解決方法,您可以嘗試運行go build -workforgo-glfw以便不刪除構建目錄并且目標文件仍可訪問。


查看完整回答
反對 回復 2021-07-05
  • 1 回答
  • 0 關注
  • 321 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號