Eclipse 是一個(gè)集成開發(fā)環(huán)境,同時(shí)又是一個(gè)產(chǎn)品平臺(tái)。這樣有時(shí)候我們就會(huì)碰到一個(gè)問(wèn)題,在開發(fā)Debug項(xiàng)目的時(shí)候沒(méi)有問(wèn)題,打包發(fā)布的時(shí)候就有問(wèn)題了,這可如何是好?由于Debug時(shí)候和發(fā)布后plugin的ClassLoader機(jī)制不盡相同,出現(xiàn)這個(gè)問(wèn)題的幾率還有會(huì)有的。
Java 在這一點(diǎn)上為我們提供了方法,那就是遠(yuǎn)程Debug。遠(yuǎn)程Debug一般用于Web開發(fā),或者客戶端無(wú)法負(fù)載大規(guī)模的應(yīng)用時(shí)才會(huì)運(yùn)用到,所以Desktop developer 很少會(huì)涉及到這個(gè)概念。不過(guò)Eclipse 的產(chǎn)品平臺(tái)卻讓我再次體會(huì)到了Java的強(qiáng)大。
關(guān)于Eclipse Remote Debug的文章,大家可以從此處學(xué)習(xí):
http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html
Remote Debug 需要2方面的設(shè)置,一個(gè)是產(chǎn)品平臺(tái)JVM啟動(dòng)參數(shù)的設(shè)置,需要讓平臺(tái)以遠(yuǎn)程Debug的模式啟動(dòng)。然后是在開發(fā)端監(jiān)聽(tīng)產(chǎn)品平臺(tái)的運(yùn)行狀態(tài)。當(dāng)產(chǎn)品平臺(tái)運(yùn)行到斷點(diǎn)代碼時(shí),Eclipse開發(fā)端就會(huì)進(jìn)入Debug界面,像普通debug一樣正常debug了。