摘要:上一篇容器化開(kāi)發(fā)環(huán)境已經(jīng)簡(jiǎn)單的介紹了如何容器化開(kāi)發(fā)環(huán)境。學(xué)會(huì)斷點(diǎn)調(diào)試容器中的應(yīng)用,再也不用為我那烏黑亮麗的頭發(fā)著急啦原文鏈接
上一篇容器化開(kāi)發(fā)環(huán)境已經(jīng)簡(jiǎn)單的介紹了如何容器化開(kāi)發(fā)環(huán)境。在開(kāi)發(fā)過(guò)程中,很多時(shí)候都需要通過(guò)斷點(diǎn)的方式來(lái)調(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è)語(yǔ)言,每個(gè)框架都有不同的方式,接下來(lái)介紹的例子使用的技術(shù)棧如下:
Spring Boot
Gradle
IntelliJ IDEA
接下來(lái)會(huì)基于上一篇博客中的DEMO hello-dockerize 進(jìn)行擴(kuò)展。
clone code repo
$ git clone https://github.com/aikin/hello-dockerize.git
更新build.gradle文件,在文件中寫(xiě)入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
打開(kāi)工具欄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按鈕
打開(kāi)瀏覽器訪問(wèn)http://dockerhost:8080/hello-dockerize,如果你也看到下面的畫(huà)面,恭喜你成功啦。
學(xué)會(huì)斷點(diǎn)調(diào)試容器中的應(yīng)用,再也不用為我那烏黑亮麗的頭發(fā)著急啦?。。?/em>
原文鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26736.html
摘要:連接容器內(nèi)的進(jìn)行斷點(diǎn)調(diào)試進(jìn)行斷點(diǎn)調(diào)試盡管不像其他語(yǔ)言那樣方便,但是有些是有確實(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)試盡管不像其他語(yǔ)言那樣方便,但是有些是有確實(shí)有其用處,比如調(diào)試循環(huán)內(nèi)的數(shù)據(jù)異常時(shí)。在php于phpstorm都安裝在同一環(huán)境下時(shí),配置phpstorm的xdebug調(diào)試并不是多困難的事情,但是如果你使...
摘要:這樣就配置好了安裝插件監(jiān)聽(tīng)地址開(kāi)啟小電話以后,如果訪問(wèn)會(huì)自動(dòng)進(jìn)入斷點(diǎn)中的模式,這樣我們的開(kāi)發(fā)環(huán)境的斷點(diǎn)調(diào)試就已經(jīng)配置好了。 docker-compose環(huán)境來(lái)自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 說(shuō)明 在開(kāi)發(fā)中,斷點(diǎn)調(diào)試是我們最快能找出Bug代碼問(wèn)題的所在,那么在docker中如何使用...
摘要:這樣就配置好了安裝插件監(jiān)聽(tīng)地址開(kāi)啟小電話以后,如果訪問(wèn)會(huì)自動(dòng)進(jìn)入斷點(diǎn)中的模式,這樣我們的開(kāi)發(fā)環(huán)境的斷點(diǎn)調(diào)試就已經(jīng)配置好了。 docker-compose環(huán)境來(lái)自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 說(shuō)明 在開(kāi)發(fā)中,斷點(diǎn)調(diào)試是我們最快能找出Bug代碼問(wèn)題的所在,那么在docker中如何使用...
摘要:思考之所以會(huì)選擇為切入點(diǎn),是因?yàn)橥ㄟ^(guò)命名可以看出這是用來(lái)構(gòu)建代理強(qiáng)化對(duì)象的地方,并且由于是先將目標(biāo)類加載到內(nèi)存中,之后通過(guò)修改字節(jié)碼生成目標(biāo)類的子類,因此我猜測(cè)強(qiáng)化是在目標(biāo)類實(shí)例化后觸發(fā)的時(shí)候進(jìn)行的。 【干貨點(diǎn)】 此處是【好好面試】系列文的第11篇文章??赐暝撈恼?,你就可以了解Spring中Aop的相關(guān)使用和原理,并且能夠輕松解答Aop相關(guān)的面試問(wèn)題。更重要的是,很多人其實(shí)一看源碼就...
摘要:用于顯示日志信息及輸入一些命令請(qǐng)求監(jiān)聽(tīng)??色@得請(qǐng)求列表,點(diǎn)開(kāi)某一項(xiàng)將看到數(shù)據(jù)頭部數(shù)據(jù)。包含本次請(qǐng)求的請(qǐng)求方法狀態(tài)碼請(qǐng)求服務(wù)器的地址其他一些設(shè)置響應(yīng)頭部包含用戶代理,幫服務(wù)器識(shí)別設(shè)備用預(yù)覽。 九宮格——用html+css制作一個(gè)網(wǎng)頁(yè) 一. 目標(biāo)效果: showImg(https://segmentfault.com/img/bVbbxBA?w=872&h=644); 二. 效果描述 圓角...
閱讀 1599·2023-04-26 00:20
閱讀 1211·2023-04-25 21:49
閱讀 866·2021-09-22 15:52
閱讀 645·2021-09-07 10:16
閱讀 1028·2021-08-18 10:22
閱讀 2721·2019-08-30 14:07
閱讀 2290·2019-08-30 14:00
閱讀 2722·2019-08-30 13:00