国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Gradle插件開發(fā)秘籍之?dāng)帱c調(diào)試(基于Intellij)

CoderBear / 2480人閱讀

摘要:廢話少說,相信對于很多插件開發(fā)朋友們,開發(fā)過程中很大的一個痛點就是,插件的調(diào)試很痛苦,下面我就分享一下在這方面的心得。三干貨技巧開啟調(diào)試模式,先上最終效果圖如上圖,是可以正常地設(shè)置斷點調(diào)試和和等等。

Gradle插件開發(fā)這件事說大不大說小不小,但是對于有一定體量規(guī)模的Java項目來講,從插件開發(fā)入手來思考解決問題,有的時候能找到意想不到的法門。所以說這是一門錦上添花的手藝。
廢話少說,相信對于很多Gradle插件開發(fā)朋友們,開發(fā)過程中很大的一個痛點就是,插件的調(diào)試很痛苦,下面我就分享一下在這方面的心得。

一、增加運行參數(shù)

好吧這個很菜鳥,比如很常用參數(shù)的是--stacktrace,報錯后會打印出堆棧信息

二、Log輸出控制

這個不多說了,println就可以了,可以自己設(shè)置一些分級和flag。

三、干貨技巧:開啟調(diào)試模式,attach a debugger!

先上最終效果圖:

如上圖,是可以正常地設(shè)置斷點調(diào)試和step into和step out、resume等等。
實現(xiàn)辦法和原理:
大家都知道Gradle基于Groovy,而Groovy其實就是Java,所以也同樣遵循JDWP協(xié)議,只是這個技巧似乎在國內(nèi)的文章中沒有人出來分享,我就在此分享給大家。
首先,在你要執(zhí)行g(shù)radle命令的環(huán)境中加入如下環(huán)境變量(以Linux、MacOS為例):

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

其中,address等號后面的參數(shù)就表示debugger要監(jiān)聽的端口,這里我們設(shè)置為5005。
然后執(zhí)行g(shù)radle或gradlew任務(wù),會發(fā)現(xiàn)有如下提示:

這時任務(wù)就不會繼續(xù)執(zhí)行了,掛起等待Debugger的handshake!
這時我們啟動IDE,以Intellij為例,打開我們的gradle插件項目(包含正在運行的插件源碼的項目),然后找到工具欄的執(zhí)行區(qū)域,進入如下:

在界面里添加一個運行項,Remote:

需要配置的最核心參數(shù)就是如圖所示的端口號,就是上文中的address:

注意到下面有一個Search sources using ...意思是從什么范圍查找源碼,保持默認就好了,這個debugger收到JDWP消息后會從當(dāng)前工程中搜索源碼,基于當(dāng)前的源碼進行與gradle命令行中的JDWP agent進行交互。

OK,如果插件源碼中打好斷點,執(zhí)行到代碼時就會掛起在相應(yīng)位置了,大部分調(diào)試功能都很好使,大家可以嘗試一下!這個技巧還是比較簡單的,大家只要了解一下JDWP的核心原理,就可以理解上述過程了!

時間有限,如有不妥,歡迎指正!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/66604.html

相關(guān)文章

  • 容器化開發(fā)環(huán)境 - 如何斷點調(diào)試容器中的應(yīng)用

    摘要:上一篇容器化開發(fā)環(huán)境已經(jīng)簡單的介紹了如何容器化開發(fā)環(huán)境。學(xué)會斷點調(diào)試容器中的應(yīng)用,再也不用為我那烏黑亮麗的頭發(fā)著急啦原文鏈接 上一篇容器化開發(fā)環(huán)境已經(jīng)簡單的介紹了如何容器化開發(fā)環(huán)境。在開發(fā)過程中,很多時候都需要通過斷點的方式來調(diào)試程序或定位BUG,那么如何斷點調(diào)試運行在容器中的應(yīng)用呢??? 容器就像一個虛擬機,就像一個遠程的服務(wù)器,要斷點調(diào)試容器中的應(yīng)用,就像要斷點調(diào)試虛擬機和遠程的服...

    wean 評論0 收藏0
  • Kotlin 新版來了,支持跨平臺!

    摘要:還有一個好消息正式發(fā)布,做了對的支持。支持的目標(biāo)平臺有位。該版本也增加了對工程的實驗性質(zhì)的支持。于此同時微軟也在大力發(fā)展自己的語言的跨平臺,并且也在支持開發(fā)語言的各種工具,其實是在對和提出了挑戰(zhàn)。點擊上方開發(fā)者技術(shù)前線,選擇星標(biāo) 來源:開發(fā)者技術(shù)前線 作者:Tamic | 編輯: 可可 谷歌在今年的 I/O 大會上宣布,Kotlin 編程語言現(xiàn)在是 Android 應(yīng)用程序開發(fā)人員的首選...

    szysky 評論0 收藏0
  • Android Studio3.0新特性及安裝詳解

    摘要:許多新的棉絨檢查。如果程序在斷點上暫停,則應(yīng)用程序重新啟動。新的中的新型提供了對應(yīng)用程序活動的實時統(tǒng)一視圖。要打開,請按照下列步驟操作單擊視圖工具您也可以在工具欄中單擊。從工具欄中選擇要配置的設(shè)備和應(yīng)用程序進程。這樣基本上就順利安裝了。 簡介: Android Studio是Android的官方IDE。它是專為Android而打造,可以加快您的開發(fā)速度,幫助您為每款A(yù)ndroid設(shè)備構(gòu)...

    DDreach 評論0 收藏0

發(fā)表評論

0條評論

CoderBear

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<