摘要:上一篇容器化開發(fā)環(huán)境已經(jīng)簡單的介紹了如何容器化開發(fā)環(huán)境。學(xué)會(huì)斷點(diǎn)調(diào)試容器中的應(yīng)用,再也不用為我那烏黑亮麗的頭發(fā)著急啦原文鏈接
上一篇容器化開發(fā)環(huán)境已經(jīng)簡單的介紹了如何容器化開發(fā)環(huán)境。在開發(fā)過程中,很多時(shí)候都需要通過斷點(diǎn)的方式來調(diào)試程序或定位BUG,那么如何斷點(diǎn)調(diào)試運(yùn)行在容器中的應(yīng)用呢???
容器就像一個(gè)虛擬機(jī),就像一個(gè)遠(yuǎn)程的服務(wù)器,要斷點(diǎn)調(diào)試容器中的應(yīng)用,就像要斷點(diǎn)調(diào)試虛擬機(jī)和遠(yuǎn)程的服務(wù)器上的應(yīng)用一樣。如何配置一個(gè)可以遠(yuǎn)程斷點(diǎn)調(diào)試的應(yīng)用,每個(gè)語言,每個(gè)框架都有不同的方式,接下來介紹的例子使用的技術(shù)棧如下:
Spring Boot
Gradle
IntelliJ IDEA
接下來會(huì)基于上一篇博客中的DEMO hello-dockerize 進(jìn)行擴(kuò)展。
clone code repo
$ git clone https://github.com/aikin/hello-dockerize.git
更新build.gradle文件,在文件中寫入apply plugin: "application" 和
/* remote debug setup */ applicationDefaultJvmArgs = [ "-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n" ]
更新docker-compose.yml文件
web: build: ./dockerize environment: - LANG=C.UTF-8 - TERM=xterm - DEBUG=true ports: - "8080:8080" - "5005:5005" volumes: - .:/hello-dockerize
啟動(dòng)容器
$ docker-compose run --service-ports web
配置 IntelliJ IDEA
打開工具欄Run --> Edit Configurations
添加新配置 點(diǎn)擊加號(hào),選擇Remote,將 Host localhost 修改為docker-machine ip machine-name獲取的IP,在/etc/hosts文件中綁定的本地域名dockerhost
在容器中啟動(dòng)服務(wù):
root@b73c06ebe59f:/hello-dockerize# ./gradlew bootRun --debug-jvm --stacktrace
啟動(dòng) IntelliJ IDEA 的 debugger 模式
點(diǎn)擊debug按鈕
打開瀏覽器訪問http://dockerhost:8080/hello-dockerize,如果你也看到下面的畫面,恭喜你成功啦。
學(xué)會(huì)斷點(diǎn)調(diào)試容器中的應(yīng)用,再也不用為我那烏黑亮麗的頭發(fā)著急啦!??!
原文鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/26736.html
摘要:連接容器內(nèi)的進(jìn)行斷點(diǎn)調(diào)試進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時(shí)。 PhpStorm連接容器內(nèi)的XDebug進(jìn)行斷點(diǎn)調(diào)試 php進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時(shí)。在php于phpstorm都安裝在同一環(huán)境下時(shí),配置phpstorm的xdebug調(diào)試并不是多困難的事情,但是如果你使...
摘要:這樣就配置好了安裝插件監(jiān)聽地址開啟小電話以后,如果訪問會(huì)自動(dòng)進(jìn)入斷點(diǎn)中的模式,這樣我們的開發(fā)環(huán)境的斷點(diǎn)調(diào)試就已經(jīng)配置好了。 docker-compose環(huán)境來自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 說明 在開發(fā)中,斷點(diǎn)調(diào)試是我們最快能找出Bug代碼問題的所在,那么在docker中如何使用...
摘要:這樣就配置好了安裝插件監(jiān)聽地址開啟小電話以后,如果訪問會(huì)自動(dòng)進(jìn)入斷點(diǎn)中的模式,這樣我們的開發(fā)環(huán)境的斷點(diǎn)調(diào)試就已經(jīng)配置好了。 docker-compose環(huán)境來自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 說明 在開發(fā)中,斷點(diǎn)調(diào)試是我們最快能找出Bug代碼問題的所在,那么在docker中如何使用...
摘要:思考之所以會(huì)選擇為切入點(diǎn),是因?yàn)橥ㄟ^命名可以看出這是用來構(gòu)建代理強(qiáng)化對(duì)象的地方,并且由于是先將目標(biāo)類加載到內(nèi)存中,之后通過修改字節(jié)碼生成目標(biāo)類的子類,因此我猜測強(qiáng)化是在目標(biāo)類實(shí)例化后觸發(fā)的時(shí)候進(jìn)行的。 【干貨點(diǎn)】 此處是【好好面試】系列文的第11篇文章??赐暝撈恼?,你就可以了解Spring中Aop的相關(guān)使用和原理,并且能夠輕松解答Aop相關(guān)的面試問題。更重要的是,很多人其實(shí)一看源碼就...
摘要:用于顯示日志信息及輸入一些命令請求監(jiān)聽??色@得請求列表,點(diǎn)開某一項(xiàng)將看到數(shù)據(jù)頭部數(shù)據(jù)。包含本次請求的請求方法狀態(tài)碼請求服務(wù)器的地址其他一些設(shè)置響應(yīng)頭部包含用戶代理,幫服務(wù)器識(shí)別設(shè)備用預(yù)覽。 九宮格——用html+css制作一個(gè)網(wǎng)頁 一. 目標(biāo)效果: showImg(https://segmentfault.com/img/bVbbxBA?w=872&h=644); 二. 效果描述 圓角...
閱讀 1603·2023-04-26 00:20
閱讀 1214·2023-04-25 21:49
閱讀 870·2021-09-22 15:52
閱讀 649·2021-09-07 10:16
閱讀 1030·2021-08-18 10:22
閱讀 2724·2019-08-30 14:07
閱讀 2295·2019-08-30 14:00
閱讀 2724·2019-08-30 13:00