Google compute engine 谷歌云-Stackdriver调试报告”;在可执行文件中找不到文件";GCE码头战
我一直在尝试遵循,但在Stackdriver调试方面遇到了问题 我正在从一个单独的构建服务器构建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连接为镜像云存储库
.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