[英]Intellij CE 2018.2 + SBT in docker container: Remote debug breakpoints not working
我有一個Spark應用程序,我有許多實現的測試。 我在Docker容器內的SBT shell中運行此測試。 我需要通過從Intellij連接來調試應用程序,即使它連接到正在運行的SBT shell實例,也會完全忽略斷點。
我將fork / test設置為false。
還使用此cmd在容器內啟動SBT shell:
export SBT_OPTS =“ - agentlib:jdwp = transport = dt_socket,server = y,suspend = y,address = 5005 -Xmx4G”
其次是命令:sbt。
它顯示消息
在地址:5005收聽傳輸dt_socket
SBT shell暫停,直到Intellij調試器連接到指定的端口。
現在我轉到Intellij Remote調試器,調試控制台顯示以下消息:
連接到目標VM,地址:'localhost:5005',transport:'socket'
最后,SBT恢復並開始下載依賴項。
當我跑:
test:testOnly fully.qualified.class.name
並提交斷點,執行測試用例但忽略所有斷點。
我不知道還有什么可嘗試的! 請幫忙!
除了將test / fork設置為false之外,fork一般也應該設置為false。 這包括跑步,建築等
此外,請確保SBT_OPTS中的掛起標志設置為yes,以便等待Intellij Remote Debugger連接到它以執行測試。
就是這樣,這就是我從docker運行時獲得斷點的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.