ניפוי באגים מרחוק באמצעות IntelliJ IDEA

1. הקדמה

ניפוי באגים מרחוק נותן למפתחים את היכולת לאבחן באגים ייחודיים בשרת או בתהליך אחר. הוא מספק את האמצעים לאתר את הבאגים המעצבנים האלה וזיהוי צווארי בקבוק ביצועים וכיורי משאבים.

במדריך זה, נסתכל על איתור באגים מרחוק באמצעות JetBrains IntelliJ IDEA. בואו נכין את היישום לדוגמא שלנו תחילה על ידי שינוי ה- JVM.

2. הגדר את ה- JVM

נשתמש ביישום לדוגמא של מתזמן אביב כדי להתחבר בקלות ולהוסיף נקודות הפסקה למשימה המתוזמנת באופן קבוע.

יתר על כן, IntelliJ IDEA מספק את פרמטרי ה- JVM שלנו כחלק מהתצורה:

-agentlib: jdwp = transport = dt_socket, שרת = y, השעה = n, כתובת = *: 5005

2.1. פרמטרים של JVM

מלבד תצורת JDWP (Java Debug Wire Protocol) - jdwp = transport = dt_socket אנחנו רואים את שרת, לְהַשְׁעוֹת, ו כתובת פרמטרים.

ה שרת פרמטר מגדיר את ה- JVM כיעד לבאגים שלנו. ה לְהַשְׁעוֹת הפרמטר אומר ל- JVM לחכות ללקוח ניפוי הבאגים להתחבר לפני ההפעלה. סוף - סוף, ה כתובת הפרמטר משתמש במארח תווים כלליים ובנמל מוצהר.

אז בואו נבנה את יישום המתזמן:

חבילה נקייה mvn

ועכשיו נתחיל את היישום, כולל ה- -agentlib: jdwp פָּרָמֶטֶר:

java -jar -agentlib: jdwp = transport = dt_socket, שרת = y, השעה = n, כתובת = *: 5005 \ target / gs-scheduling-משימות-0.1.0.jar

פתח כל מסוף והפעל את הפקודה. עם הפעלת היישום שלנו, בואו נעבור ל- IntelliJ.

3. הפעל את התצורה ב- IntelliJ IDEA

לאחר מכן, ב- IntelliJ, אנו יוצרים תצורת הפעלה חדשה לצורך איתור באגים מרחוק:

כעת, לאחר שהאפליקציה שלנו פועלת, נתחיל את הפעלת ניפוי באגים מרחוק על ידי לחיצה על לנפות לַחְצָן.

4. איתור באגים מרחוק

לאחר מכן, אנו פותחים את ScheduleTask תיקון והצבת נקודת שבירה בשורה 36 המוצגת כאן:

report void publicCurrentTime () {log.info ("השעה עכשיו {}", dateFormat.format (תאריך חדש ())); }

מכיוון שהמשימה מבוצעת כל חמש שניות, היא תיפסק זמן קצר לאחר הוספתה. כתוצאה מכך, כעת נוכל לעבור על היישום כולו.

עבור בעיות בהפעלה של יישומים, אנו משנים את לְהַשְׁעוֹת דגל ל נ ולמקם נקודת שבירה ב רָאשִׁי שיטה של יישום.

4.1. מגבלות

לפעמים רישום ופלט מבלבלים אותנו בעת איתור באגים מרחוק. היומנים לא יישלחו למסוף IDE, כך שניתן להשתמש בקובץ יומן רישום חיצוני ולמפות אותו ב- IDE לצורך יכולת איתור איתור איתנה יותר.

זכור גם שאמנם איתור באגים מרחוק הוא כלי חזק מאוד, סביבת ייצור אינה מטרה מתאימה לאיתור באגים.

5. מסקנה

כפי שסיקרנו במאמר זה, קל להתקנה ולשימוש באגים מרחוק עם IntelliJ בכמה צעדים קצרים.

בדקנו כיצד להגדיר את יישום ה- JVM שלנו לאיתור באגים, כמו גם כמה מגבלות של כלי חשוב זה בארגז הכלים של המפתחים שלנו.

ניתן למצוא את היישום לדוגמא ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found