Google compute engine 谷歌云-Stackdriver调试报告”;在可执行文件中找不到文件";GCE码头战

Google compute engine 谷歌云-Stackdriver调试报告”;在可执行文件中找不到文件";GCE码头战,google-compute-engine,google-cloud-platform,stackdriver,Google Compute Engine,Google Cloud Platform,Stackdriver,我一直在尝试遵循,但在Stackdriver调试方面遇到了问题 我正在从一个单独的构建服务器构建.war文件,然后将其部署到我的GCE服务器。我通过/etc/defaults将代理添加到start命令,我的应用程序出现在https://console.cloud.google.com/debug控制面板。我在run命令中设置的版本与源上下文.json文件中显示的版本匹配 但是,当我单击打开应用程序时,我看到一条消息 部署的应用程序未提供源版本信息 我将应用程序的git repo连接为镜像云存储库

我一直在尝试遵循,但在Stackdriver调试方面遇到了问题

我正在从一个单独的构建服务器构建
.war
文件,然后将其部署到我的GCE服务器。我通过
/etc/defaults
将代理添加到start命令,我的应用程序出现在
https://console.cloud.google.com/debug
控制面板。我在run命令中设置的版本与源上下文.json文件中显示的版本匹配

但是,当我单击打开应用程序时,我看到一条消息

部署的应用程序未提供源版本信息

我将应用程序的git repo连接为镜像云存储库,可以在Stackdriver调试页面的侧栏中浏览源文件。但是,如果我浏览到一个文件并添加一个断点,我会得到一个错误,错误是“在可执行文件中找不到文件”

我已经运行了
gcloud preview app gen repo info file
命令,它创建了两个基本的
json
文件来存储我的git repo和修订版。它还能做什么吗

我尝试过使用正常模式和提取模式运行jetty。如果让jetty首先提取war文件,我可以在WEB-INF/classes目录中看到source-context.json文件


我错过了什么?

这里发生了几件事

首先,听起来您使用gen repo信息文件做的事情是正确的。调试器代理应该从WEB-INF/classes目录中获取json文件

调试器使用模糊匹配查找源文件,因此只要.java文件的名称与可执行文件中的文件匹配,就不会出现该错误

根据问题中的信息,最可能的情况是将调试器附加到启动程序进程,而不是实际的应用程序。不过,如果没有进一步的细节,我无法绝对证实这一点

如果您在cdbg向我们发送更多详细信息-feedback@google.com,我们可以更仔细地查看您的案例,看看我们是否能够准确地了解正在发生的事情,并有可能改进我们的文档,因为听起来您非常仔细地遵循了文档。

提到

您可以更新显示WEB-INF/class目录的代理路径

-agentpath:/opt/cdbg/cdbg_java_agent.so=--cdbg_extra_class_path=/opt/tomcat/webapps/myapp/WEB-INF/classes
对于多个类路径:

-agentpath:/opt/cdbg/cdbg_java_agent.so=--cdbg_extra_class_path=/opt/tomcat/webapps/myapp/WEB-INF/classes:/another/path/with/classes