Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Google cloud run中运行go cloud调试代理,以便在Stackdriver调试中调试go应用程序_Go_Google Cloud Platform_Stackdriver_Google Cloud Stackdriver_Google Cloud Debugger - Fatal编程技术网

如何在Google cloud run中运行go cloud调试代理,以便在Stackdriver调试中调试go应用程序

如何在Google cloud run中运行go cloud调试代理,以便在Stackdriver调试中调试go应用程序,go,google-cloud-platform,stackdriver,google-cloud-stackdriver,google-cloud-debugger,Go,Google Cloud Platform,Stackdriver,Google Cloud Stackdriver,Google Cloud Debugger,我正在尝试在cloud run中运行go cloud调试代理 FROM golang:1.13.1 RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent RUN mkdir -p /go/src/xyz WORKDIR /go/src/xyz COPY . . RUN go build -gcflags=all='-N -l' -o main . EXPOSE 8080 ENTRYPOINT ["go-cloud-debug

我正在尝试在cloud run中运行go cloud调试代理

FROM golang:1.13.1 
RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
RUN mkdir -p /go/src/xyz
WORKDIR /go/src/xyz
COPY . .

RUN go build -gcflags=all='-N -l' -o main .


EXPOSE 8080
ENTRYPOINT ["go-cloud-debug-agent","-projectid=someproject-12313423","-appmodule=main","-appversion=1.0","--","/go/src/xyz/main"]
不幸的是,当尝试将其部署到云运行时,我在Stackdriver日志中看到以下错误

Error loading program: AttrStmtList not present or not int64 for unit 98

有人知道如何在cloud Run中使用go cloud debug agent吗?

正如@JohnHanley所指出的,我必须将golang版本更改为1.11,以便与debug agent兼容。 为了得出结论,下面的Dockerfile应该在云中运行,运行任何golang代码,并让您使用Stackdriver调试

FROM golang:1.11
RUN go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
RUN mkdir -p /go/src/xyz
WORKDIR /go/src/xyz
COPY . .

RUN go build -gcflags=all='-N -l' -o main .


EXPOSE 8080
ENTRYPOINT ["go-cloud-debug-agent","-projectid=someproject-12313423","-appmodule=main","-appversion=1.0","--","/go/src/xyz/main"]

GCP应该发布一些示例,因为从他们当前的文档中我可以推断,没有办法在cloud run上运行go cloud debug agent,并且该cloud run不受支持。

go目前不受cloud run支持。以下是调试器支持的语言和平台列表:

我没有看到此错误,但调试器正在抱怨该程序。此错误与正在调试的主程序的可执行文件格式ELF有关。尝试在Docker中本地运行容器。尝试使用版本1.11与调试代理兼容版本必须匹配,但我不确定。谢谢@JohnHanley您是对的,将golang更改为1.11解决了问题,应用程序正在开始使用go-cloud-debug-agent。好的,go-cloud调试代理似乎可以工作,但现在当我在应用程序的任何一点设置快照时,云运行没有响应,在Stackdriver调试中,我一直在等待快照,只等待快照命中。。。有什么想法吗?@MaciejPerliński你解决过你的响应问题吗?@ahong nope我放弃了使用这种方法的想法,但现在可能值得重新审视一下,因为官方文档表明没有官方支持,但在图表中列出的其他地方运行虚拟机和容器意味着我们应该能够使用云运行这是docker容器,就像我们在VM中所做的一样,并且仍然使用调试器代理。没有看到带调试代理的容器化应用程序和普通VM之间的真正区别。如果你知道有什么不同,为什么它在Cloud Run中不起作用,请分享你的想法。Cloud Run是谷歌管理的服务。在别处运行的虚拟机和容器不是谷歌管理的服务。