所以我想調(diào)試一個(gè)在k8s集群上運(yùn)行的golang應(yīng)用程序,但是當(dāng)我想附加到應(yīng)用程序時(shí),我收到錯(cuò)誤消息。在 k8s 部署中,我添加了所需的權(quán)限: securityContext: capabilities: add: - SYS_PTRACE privileged: true runAsUser: 0 allowPrivilegeEscalation: true我用所需的 gcflags “all=-N -l” 編譯了我的應(yīng)用程序go build -mod vendor -gcflags "all=-N -l" --ldflags -w -s -o app我用以下命令開始 pod:dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec /app我驗(yàn)證了我運(yùn)行正確的容器映像,它是我推送的相同SHA哈希。我驗(yàn)證了哈希值在這里也匹配的正確二進(jìn)制文件。我設(shè)置:echo 0 > /proc/sys/kernel/yama/ptrace_scopecat /proc/sys/kernel/yama/ptrace_scope0下面是二進(jìn)制文件的輸出。readelf -S app
1 回答

幕布斯7119047
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
您將作為標(biāo)志傳遞給鏈接器。-s -w
根據(jù)cmd/link
的文檔:
-s:省略符號(hào)表和調(diào)試信息。
-w:省略矮人符號(hào)表。
簡(jiǎn)而言之,生成命令將刪除調(diào)試器調(diào)試所需的信息。
如果刪除(或僅刪除 ),它應(yīng)該按預(yù)期工作。-ldflags
-s -w
- 1 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報(bào)
0/150
提交
取消