JDI
טוב, אז אחרי ששאלתי פה בפורום בשבוע שעבר בעניין, אז הנה כמה מסקנות בעניין. 1. JDI הוא Java Debug Interface, שזה API שנועד לאפשר Debugging capabilities, בעיקר בצורה מרוחקת (כלומר מ-JVM אחר). זה אוסף package-ים של SUN, לא משהו בסטנדרט של JAVA אבל בכל זאת מ-SUN אז זה בסדר
2. את ה-JDI תמצאו בתוך tools.jar שנמצא תחת ספריית ה-lib בהתקנת ה-JDK. 3. קיים כמובן תיעוד מלא לכל העסק. ניתן דרך JDI להוציא מידע על התוכנה שרצה, בדיוק כאילו הייתם DEBUGGER - אפשר לעצור את התוכנית, להמשיך את ריצתה, לקבוע BREAKPOINTS, לתשאל מצב THREAD-ים וכו' וכו'. צירפתי קובץ שמדגים התחברות לאפליקציה רצה. כדי לגרום לעסק לתקתק יש להריץ אפליקציה מסוימת במצב DEBUG ותוך פתיחת PORT ייעודי שמקשיב לכניסות מ-JVM-ים חיצוניים. הנה הצורה להריץ למשל:
טוב, אז אחרי ששאלתי פה בפורום בשבוע שעבר בעניין, אז הנה כמה מסקנות בעניין. 1. JDI הוא Java Debug Interface, שזה API שנועד לאפשר Debugging capabilities, בעיקר בצורה מרוחקת (כלומר מ-JVM אחר). זה אוסף package-ים של SUN, לא משהו בסטנדרט של JAVA אבל בכל זאת מ-SUN אז זה בסדר
D:\Sources\Java\DebugDemo>java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n -Djava.co mpiler=NONE com.eldad.debugdemo.DebugDemo
לאחר מכן יש להריץ את ה-class המצורפת (שנו ל-java.). מטבע הדברים מדובר ב-demo בלבד, אז אל תשימו לב לכל מיני שטויות כמו טיפול לקוי ב-exceptions וכו'. זה לא קוד מבצעי