當我在Eclipse中以調試模式運行服務器時,Eclipse和我的應用程序服務器(JBoss)之間正在進行什麼通信?這個怎麼用?Eclipse如何在應用程序服務器中調試代碼?
回答
當你開始在調試模式下的服務器,它監聽指定的TCP端口上。 Eclipse連接到該端口,並使用Java調試有線協議(JDWP)進行交談。在此處閱讀詳細信息: http://java.sun.com/j2se/1.5.0/docs/guide/jpda/
我認爲它被稱爲JDWP(Java調試線協議) - 更多here
Eclipse調試從所謂的代理開始。
運行complies .class源代碼的JVM具有允許將外部庫(用Java或C++編寫)注入到JVM中的功能,僅僅是運行時。這些外部庫被稱爲代理,並且它們能夠修改已運行的.class文件的內容。這些代理可以訪問JVM的功能,這些功能無法從JVM中運行的常規Java代碼中訪問,並且可以用來執行有趣的內容,如注入和修改運行源代碼,分析等.JRebel等工具利用這塊功能實現了他們的魔力。
並通過代理庫到JVM,您通過啓動參數做到這一點,使用
agentlib:libname[=options] format.
我們實際上通過一個代理庫命名JDWP到JVM運行Tomcat。 jdwp是用於定義調試器和正在運行的JVM之間通信的JDWP(Java調試線協議)的特定於JVM的可選實現。它的實現,如果存在提供作爲JVM的本地庫作爲jdwp.so或jdwp.dll
那麼它是做什麼的? 簡而言之,我們傳遞的jdwp代理基本上提供了作爲運行應用程序的JVM實例和調試器(可以位於遠程或本地)之間的鏈接的功能。由於它是一個代理程序庫,它具有攔截正在運行的代碼,在JVM和調試程序之間創建橋樑的能力,並且具有在JVM上應用調試程序的功能。 由於在JVM體系結構中,調試功能在JVM本身中沒有找到,但是被抽象爲外部工具(通常被稱爲調試器),這些工具可以駐留在運行被調試的JVM的本地機器上,或者從外部機器運行。正是這種分離的模塊化架構使我們能夠在遠程計算機上運行JVM並使用JDWP,讓遠程調試器能夠與其通信。
這就是Eclipse調試器如何工作的簡稱。
- 1. 如何遠程調試Eclipse中的Java(EE)服務器代碼?
- 2. 如何在Eclipse中調試Web服務應用程序?
- 3. 在Eclipse中調試Java應用程序(Tanuki服務包裝器)
- 4. 無法在Visual Studio中調試無服務器應用程序代碼
- 5. 「未找到源代碼」,在Eclipse中調試Android應用程序
- 6. 在Eclipse下調試Web應用程序在Oracle應用服務器下
- 7. 如何在Android應用程序中使用Eclipse調試器?
- 8. 如何使用代理服務器測試/調試我的VB.NET應用程序?
- 9. 如何在現場服務器上調試asp.net應用程序
- 10. 在Eclipse中調試Red5服務器爲Java應用程序中的錯誤
- 11. 在服務器上調試時沒有找到源代碼(Eclipse)
- 12. 在Eclipse中客戶端/服務器UDP程序調試
- 13. 如何在Eclipse中調試R代碼
- 14. 如何在eclipse中調試php代碼?
- 15. 在Eclipse中調試FuseESB應用程序
- 16. 在Eclipse中調試應用程序
- 17. 在eclipse中調試uWsgi應用程序
- 18. 在Eclipse中調試Web應用程序
- 19. 調試Android應用程序(在Eclipse中)
- 20. 如何在VS代碼中調試vue js應用程序?
- 21. 如何在Aptana Jaxer中調試服務器端代碼?
- 22. 如何在服務器端代碼中進行調試?
- 23. 在Windows 8應用程序中使用服務器端代碼
- 24. 如何使用weblogic服務器在eclips中調試java web應用程序
- 25. 我如何在我的eclipse中調試遠程應用程序
- 26. 在JBOSS應用程序服務器中運行JBOSS-ESB代碼
- 27. 在Eclipse中調試Android源代碼 - 位置服務
- 28. 使用jetty服務器在eclipse中遠程調試
- 29. 如何使用eclipse調試Web服務
- 30. 如何在Web應用程序中啓用Eclipse調試功能?