0

我一直在試圖按照 Setting Up Stackdriver Debugger for Java applications on Google Compute Engine,但我遇到Stackdriver調試的問題。谷歌雲 - Stackdriver調試報告「文件未找到在可執行文件」爲GCE碼頭戰

我從一個單獨的構建服務器構建我的.war文件,然後將其部署到我的GCE服務器。我通過/etc/defaults將代理添加到啓動命令,我的應用出現在https://console.cloud.google.com/debug控制面板中。我在run命令中設置的版本與源 - 上下文(s).json文件中顯示的版本匹配。

然而,當我點擊打開應用程序,我看到

沒有源版本信息由部署的應用程序提供

連接了應用程序的git倉庫作爲鏡像雲貯存消息,並且可以瀏覽Stackdriver Debug頁面邊欄中的源文件。但是,如果我瀏覽到一個文件並添加一個斷點,則會出現錯誤消息「在可執行文件中找不到文件」。

我運行了gcloud preview app gen-repo-info-file命令,它創建了兩個基本的json文件,用於存儲我的git repo和修訂版。它應該做其他事嗎?

我已經嘗試使用正常模式和提取模式運行碼頭。如果我有jetty首先提取war文件,我可以在WEB-INF/classes目錄中看到source-context.json文件。

我錯過了什麼?

回答

0

這裏有一些事情正在進行。

首先,它聽起來像你正在做gen-repo-info-file正確的事情。調試器代理應該從WEB-INF/classes目錄中選取json文件。

調試器使用模糊匹配來查找源文件,只要.java文件的名稱與可執行文件中的文件相匹配,就不會出現該錯誤。

考慮到您的問題中信息的最可能的情況是您將調試器附加到啓動器進程,而不是您的實際應用程序。沒有進一步的細節,我不能絕對確認,但。

如果您通過[email protected]向我們發送更多詳細信息,我們可以仔細查看您的案例,以瞭解我們是否能夠準確理解發生的情況並有可能改進我們的文檔,因爲聽起來像您遵循docs非常密切。

相關問題