Cloud Code ל-VS Code מאפשר לכם לנפות באגים באפליקציה שנפרסה ב-Cloud Run בקלות, באמצעות skaffold debug. למידע מפורט על ניפוי באגים ב-Skaffold, אפשר לעיין במאמר בנושא ניפוי באגים באמצעות Skaffold.
לא צריך להשלים הגדרה ידנית כמו הגדרת העברת יציאות או הוספת ארגומנטים לניפוי באגים שספציפיים לשפה. לניפוי באגים נדרשת אפליקציית Cloud Run שמוכנה ל-Cloud Code, שכוללת קובץ תצורה skaffold.yaml וקובץ launch.json מסוג cloudcode.cloudrun.
ניפוי באגים בשירות Cloud Run
כדי לנפות באגים בשירות:
כדי להריץ את השירות ולצרף אליו סשן של ניפוי באגים, פותחים את לוח הפקודות (מקישים על
Ctrl/Cmd+Shift+Pאו לוחצים על View > Command Palette) ואז מריצים את הפקודה Debug on Cloud Run Emulator.בתיבת הדו-שיח Run/Debug on Cloud Run Emulator, מגדירים את המפרטים של ההגדרה:
- בוחרים ב-Docker או ב-Buildpacks ככלי ה-build ומציינים את ה-Dockerfile או את ה-Buildpack.
- (אופציונלי) כדי לציין יעד של Dockerfile או ארגומנטים של build, לוחצים על הצגת הגדרות מתקדמות של build ואז מציינים את היעד או הארגומנטים.
- (אופציונלי) כדי לציין שם שירות בהתאמה אישית, כתובת URL של קובץ אימג' בקונטיינר, יציאת קונטיינר, זהות לשירות, מספר מעבדים ייעודיים או כמות זיכרון להקצאה לכל מופע קונטיינר, לוחצים על הצגת הגדרות שירות מתקדמות ומציינים את הערכים.
- (אופציונלי) כדי לציין משתני סביבה, לוחצים על הצגת הגדרות מתקדמות של שירות, לוחצים על משתני סביבה ומציינים את הערכים.
- (אופציונלי) כדי לציין חיבורים ל-Cloud SQL, לוחצים על Connections (חיבורים) ואז מציינים חיבור אחד בכל שורה.
- (אופציונלי) כדי ש-VS Code יקים מחדש סשן ניפוי באגים אחרי ששומרים שינוי בקוד, מסמנים את התיבה Automatically re-build and re-run on changes.
אם רוצים להתאים אישית את אופן הפעלת השירות, אפשר לערוך ישירות את קובץ
launch.json.כדי להתחיל לנפות באגים בשירות, לוחצים על ניפוי באגים.
אם מוצגת בקשה, מאמתים את פרטי הכניסה כדי להריץ ולנפות באגים באפליקציה באופן מקומי.
לכל מאגר שאפשר לנפות בו באגים בשירות, מאשרים או מזינים את הספרייה במאגר המרוחק שבה נמצאת התוכנית שרוצים לנפות בה באגים.
אפשר גם ללחוץ על
ESCכדי לדלג על ניפוי הבאגים של מאגר תגים.
Cloud Code מצרף סשן ניפוי באגים לכל קונטיינר שאפשר לנפות בו באגים בשירות.
כברירת מחדל, כששומרים שינוי באפליקציה, Cloud Code פורס מחדש את האפליקציה ומגדיר סשן חדש לניפוי באגים. אפשר להפעיל או להשבית את התכונה הזו באמצעות הדגל
watchבהגדרות ההפעלה של הפרויקט.כדי להוסיף נקודת עצירה, לוחצים בשולי העורך של הקובץ שמבצעים בו ניפוי באגים.
עיגולים אדומים מלאים מציינים נקודות עצירה פעילות, ועיגולים אפורים ריקים מציינים נקודות עצירה מושבתות.
כדי לשלוט טוב יותר בנקודות מעבר, אפשר להשתמש בקטע Breakpoints (נקודות מעבר) בתצוגת הניפוי באגים של VS Code.
כששולחים בקשה חדשה לשירות, הוא מושהה בשורה שצוינה.
אחרי שהסשן מסתיים, לוחצים לחיצה ימנית כדי להשתמש בפקודות הבאות:
- הצגת יומנים: פותחים את יומני האפליקציה של פריסה ספציפית באמצעות הכלי Logs Explorer של Cloud Code
- פתיחת כתובת URL: פתיחה של כתובת ה-URL של שירות האפליקציה של שירות ספציפי בדפדפן אינטרנט
אם השבתתם את מצב הצפייה בהגדרות ההפעלה ואתם רוצים לבצע שינויים באפליקציה, לבנות אותה מחדש ולפרוס אותה מחדש, לוחצים על סרגל הסטטוס של Cloud Code ואז על הפעלת מצב צפייה.
אם רוצים לבדוק משתנים ופרטי מחסנית, משתמשים בסרגל הצד של ניפוי הבאגים. כדי ליצור אינטראקציה עם סשן הניפוי באגים, משתמשים במסוף ניפוי הבאגים בחלונית התחתונה של כלי ניפוי הבאגים.
כדי להפסיק את הפריסה, לוחצים על הלחצן עצירה בסרגל הפעולות של הפריסה הנוכחית.

פתרון בעיות שקשורות ליצירת מאגרי תגים
אם מופיע קוד השגיאה BUILD_DOCKER_UNKNOWN, זה מצביע על בעיה ב-Docker. כדי לפתור את הבעיה, מבצעים אחת או יותר מהמשימות הבאות:
מפעילים מחדש את Docker ומנסים שוב ליצור את הקונטיינר.
אם השגיאה ממשיכה להופיע אחרי הפעלה מחדש, יכול להיות שאין ל-Docker מספיק מקום בדיסק. מידע נוסף על ניקוי אובייקטים שלא נמצאים בשימוש ב-Docker זמין במאמר Prune unused Docker objects.
כדי לפנות מקום, אפשר לנסות את התוסף Disk Usage (שימוש בדיסק) של Docker.
פרטי ההגדרות האישיות
Cloud Code מטפל בפרטי ההגדרה הספציפיים לשפה הבאים:
Node.js
כתיבה מחדש של נקודת הכניסה כדי להפעיל:
node --inspect=localhost:9229
Python
התקנת המודול ptvsd באמצעות קונטיינר Init וכתיבה מחדש של נקודת הכניסה כדי להפעיל:
python -m ptvsd --host localhost --port 5678
המשך
התקנת מאגר התגים של dlv באמצעות מאגר תגים של Init ושכתוב נקודת הכניסה כך שהפעלת סשן הניפוי באגים תתבצע רק עם שרת ניפוי באגים (במצב ללא ממשק משתמש), תמשיך את התהליך בניפוי באגים בהפעלה, תקבל כמה חיבורי לקוח ותאזין בכתובת localhost:56268:
dlv exec --headless --continue --accept-multiclient --listen=localhost:56268 --api-version=2, <app> --
Java
הוספת סביבה JAVA_TOOLS_OPTIONS עם ההגדרה המתאימה של Java Debug Wire Protocol (JDWP) כך שסוכן הניפוי באגים של JDWP יאזין לחיבור שקע ביציאה 5005 ויאפשר למכונה הווירטואלית להתחיל לבצע לפני שמצורף מנפה הבאגים:
jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y
.NET
אפליקציות .NET Core מוגדרות לפריסה יחד עם vsdbg עבור VS Code.
אם נתקלתם בבעיות בהגדרה האוטומטית, תוכלו להיעזר במאמר הגדרה מפורטת של מאתר הבאגים.