Google Workspace ऐड-ऑन डेवलपर के तौर पर, आपको कोड डीबग करने की ज़रूरत पड़ सकती है. ऐसा बदलावों को टेस्ट करने या मुश्किल समस्याओं को हल करने के लिए किया जाता है. Google Workspace ऐड-ऑन को डीबग करने के कई तरीके हैं. ये तरीके, आपके ऐप्लिकेशन के आर्किटेक्चर, ऐप्लिकेशन के काम करने के तरीके, ऐप्लिकेशन को डिप्लॉय करने के तरीके, और आपकी प्राथमिकताओं पर निर्भर करते हैं.
इस पेज पर, ngrok का इस्तेमाल करके, एचटीटीपी Google Workspace ऐड-ऑन को डीबग करने का तरीका बताया गया है. ngrok एक यूनीफ़ाइड इनग्रेस प्लैटफ़ॉर्म है. इसका इस्तेमाल, लोकल डेवलपमेंट एनवायरमेंट को टेस्ट करने के लिए किया जा सकता है. इस गाइड में, लोकल एनवायरमेंट में कोड में किए गए बदलावों को टेस्ट करने और रिमोट एनवायरमेंट में समस्याओं को हल करने का तरीका बताया गया है.
लोकल डेवलपमेंट एनवायरमेंट से डीबग करना
इस सेक्शन में, Google Workspace के ऐड-ऑन के साथ इंटरैक्ट किया जाता है. यह ऐड-ऑन, आपके लोकल एनवायरमेंट में काम करता है.
ज़रूरी शर्तें
Node.js
- आपके लोकल एनवायरमेंट में,
nodeऔरnpmके नए वर्शन इंस्टॉल होने चाहिए. आपके लोकल एनवायरमेंट में,
nodemonका नया वर्शन इंस्टॉल होना चाहिए. इसका इस्तेमाल ऑटो-रीलोड के लिए किया जाता है:npm install -g nodemonGoogle Cloud प्रोजेक्ट. क्विकस्टार्ट गाइड के ज़रूरी शर्तें और एनवायरमेंट सेट अप करना सेक्शन पढ़ें.
Google Workspace ऐड-ऑन का कोड, जिसे आपको अपने लोकल एनवायरमेंट में डीबग करना है. इस गाइड में, झलक दिखाने वाले लिंक की सुविधाओं के बारे में बताने के लिए, GitHub रिपॉज़िटरी
googleworkspace/add-ons-samplesसे लिए गए कोड के उदाहरण3p-resourcesका इस्तेमाल किया गया है.आपके लोकल एनवायरमेंट में ऐसा आईडीई सेट अप होना चाहिए जो डीबग कर सके. इस गाइड में, उदाहरण के तौर पर
Visual Studio CodeIDE और इसकी डिफ़ॉल्ट डीबग करने की सुविधाओं का इस्तेमाल किया गया है.ngrokखाता.आपके लोकल एनवायरमेंट में,
gcloudका नया वर्शन इंस्टॉल और शुरू किया गया हो.
Python
- आपके लोकल एनवायरमेंट में
python3का नया वर्शन इंस्टॉल होना चाहिए. - आपके लोकल एनवायरमेंट में
pipऔरvirtualenvका नया वर्शन इंस्टॉल हो. इनका इस्तेमाल, Python पैकेज और वर्चुअल एनवायरमेंट को मैनेज करने के लिए किया जाता है. - Google Cloud प्रोजेक्ट. क्विकस्टार्ट गाइड के ज़रूरी शर्तें और एनवायरमेंट सेट अप करें सेक्शन देखें.
- Google Workspace ऐड-ऑन का कोड, जिसे आपको अपने लोकल एनवायरमेंट में डीबग करना है. इस गाइड में, झलक दिखाने वाले लिंक की सुविधाओं के बारे में बताने के लिए, GitHub रिपॉज़िटरी
googleworkspace/add-ons-samplesसे लिए गए कोड के उदाहरण3p-resourcesका इस्तेमाल किया गया है. - आपके लोकल एनवायरमेंट में ऐसा आईडीई सेट अप होना चाहिए जो डीबग कर सके. इस गाइड में, उदाहरण के तौर पर
Visual Studio CodeIDE और इसकी डिफ़ॉल्ट डीबग करने की सुविधाओं का इस्तेमाल किया गया है. ngrokखाता.- आपके लोकल एनवायरमेंट में,
gcloudका नया वर्शन इंस्टॉल और शुरू किया गया हो.
Java
- आपके लोकल एनवायरमेंट में
Java SE 11's JDKका नया स्टेबल वर्शन इंस्टॉल होना चाहिए. - आपके लोकल एनवायरमेंट में
Apache Mavenका नया वर्शन इंस्टॉल होना चाहिए. इसका इस्तेमाल Java प्रोजेक्ट मैनेज करने के लिए किया जाता है. - Google Cloud प्रोजेक्ट. क्विकस्टार्ट गाइड के ज़रूरी शर्तें और एनवायरमेंट सेट अप करें सेक्शन देखें.
- Google Workspace ऐड-ऑन का कोड, जिसे आपको अपने लोकल एनवायरमेंट में डीबग करना है. इस गाइड में, झलक दिखाने वाले लिंक की सुविधाओं के बारे में बताने के लिए, GitHub रिपॉज़िटरी
googleworkspace/add-ons-samplesसे लिए गए कोड के उदाहरण3p-resourcesका इस्तेमाल किया गया है. - आपके लोकल एनवायरमेंट में ऐसा आईडीई सेट अप होना चाहिए जो डीबग कर सके. इस गाइड में, उदाहरण के तौर पर
Visual Studio CodeIDE और इसकी डिफ़ॉल्ट डीबग करने की सुविधाओं का इस्तेमाल किया गया है. ngrokखाता.- आपके लोकल एनवायरमेंट में,
gcloudका नया वर्शन इंस्टॉल और शुरू किया गया हो.
लोकल होस्ट सेवा को सार्वजनिक तौर पर उपलब्ध कराना
आपको अपने लोकल एनवायरमेंट को इंटरनेट से कनेक्ट करना होगा, ताकि Google Workspace ऐड-ऑन इसे ऐक्सेस कर सके. ngrok ऐप्लिकेशन का इस्तेमाल, सार्वजनिक यूआरएल पर किए गए एचटीटीपी अनुरोधों को आपके लोकल एनवायरमेंट पर रीडायरेक्ट करने के लिए किया जाता है.
- अपने लोकल एनवायरमेंट के ब्राउज़र में, अपने
ngrokखाते में साइन इन करें. - ऐप्लिकेशन इंस्टॉल करें और अपने लोकल एनवायरमेंट में
authtokenसेट अप करें. - अपने
ngrokखाते में एक स्टैटिक डोमेन बनाएं. इस गाइड के निर्देशों में इसेNGROK_STATIC_DOMAINके तौर पर रेफ़र किया गया है.
ऐड-ऑन डिप्लॉयमेंट बनाना और उसे इंस्टॉल करना
Google Workspace ऐड-ऑन को कॉन्फ़िगर करें, ताकि वह अपने सभी एचटीटीपी अनुरोध आपके स्टैटिक डोमेन पर भेज सके. आपकी डिप्लॉयमेंट फ़ाइल ऐसी दिखनी चाहिए:
{ "oauthScopes": [ "https://www.googleapis.com/auth/workspace.linkpreview", "https://www.googleapis.com/auth/workspace.linkcreate" ], "addOns": { "common": { "name": "Manage support cases", "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png", "layoutProperties": { "primaryColor": "#dd4b39" } }, "docs": { "linkPreviewTriggers": [ { "runFunction": "NGROK_STATIC_DOMAIN", "patterns": [ { "hostPattern": "example.com", "pathPrefix": "support/cases" }, { "hostPattern": "*.example.com", "pathPrefix": "cases" }, { "hostPattern": "cases.example.com" } ], "labelText": "Support case", "localizedLabelText": { "es": "Caso de soporte" }, "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png" } ], "createActionTriggers": [ { "id": "createCase", "labelText": "Create support case", "localizedLabelText": { "es": "Crear caso de soporte" }, "runFunction": "$URL2", "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png" } ] }, "httpOptions": { "granularOauthPermissionSupport": "OPT_IN" } } }NGROK_STATIC_DOMAINकी जगह, अपनेngrokखाते में मौजूद स्टैटिक डोमेन डालें.इस्तेमाल करने के लिए Google Cloud प्रोजेक्ट सेट करें:
gcloud config set project PROJECT_IDऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के लिए, नए उपयोगकर्ता के क्रेडेंशियल पाएं:
gcloud auth application-default loginPROJECT_IDकी जगह, ऐप्लिकेशन के Google Cloud प्रोजेक्ट का प्रोजेक्ट आईडी डालें.डिप्लॉयमेंट बनाएं:
gcloud workspace-add-ons deployments create manageSupportCases \ --deployment-file=DEPLOYMENT_FILE_PATHDEPLOYMENT_FILE_PATHकी जगह, अपनी डिप्लॉयमेंट फ़ाइल का पाथ डालें.परिनियोजन इंस्टॉल करें:
gcloud workspace-add-ons deployments install manageSupportCasesदूसरी इमेज. Google Workspace ऐड-ऑन, अपने सभी एचटीटीपी अनुरोधों को स्टैटिक डोमेन पर भेजता है. `ngrok` सार्वजनिक सेवा, Google Workspace ऐड-ऑन और स्थानीय तौर पर काम करने वाले ऐप्लिकेशन कोड के बीच एक पुल की तरह काम करती है.
Google Workspace ऐड-ऑन की जांच करना
Google Workspace ऐड-ऑन को स्थानीय तौर पर डिप्लॉय, टेस्ट, डीबग, और अपने-आप रीलोड किया जा सकता है.
Node.js
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio CodeIDE में जाकर, यह तरीका अपनाएं:- नई विंडो में,
add-ons-samples/node/3p-resourcesफ़ोल्डर खोलें. ऐप्लिकेशन को लोकल रन और ऑटो-रीलोड डीबग के लिए कॉन्फ़िगर करें. इसके लिए,
package.jsonफ़ाइल में एक डिपेंडेंसी और दो स्क्रिप्ट जोड़ें:{ ... "dependencies": { ... "@google-cloud/functions-framework": "^3.3.0" }, "scripts": { ... "start": "npx functions-framework --target=createLinkPreview --port=9000", "debug-watch": "nodemon --watch ./ --exec npm start" } ... }रूट डायरेक्ट्री से, ऐप्लिकेशन इंस्टॉल करें:
npm installरूट डायरेक्ट्री में
.vscode/launch.jsonफ़ाइल बनाकर,Debug Watchनाम का एक लॉन्च बनाएं और उसे कॉन्फ़िगर करें. यह लॉन्च, स्क्रिप्टdebug-watchको ट्रिगर करता है:{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "launch", "name": "Debug Watch", "cwd": "${workspaceRoot}", "runtimeExecutable": "npm", "runtimeArgs": ["run-script", "debug-watch"] }] }index.jsफ़ाइल में एक ब्रेकपॉइंट जोड़ें, जो एचटीटीपी अनुरोध को प्रोसेस करने के दौरान रुक जाए. इसके बाद, पहले से जोड़े गएDebug Watchकॉन्फ़िगरेशन के साथ चलाना और डीबग करना शुरू करें. अब ऐप्लिकेशन चल रहा है और पोर्ट9000पर एचटीटीपी अनुरोधों को सुन रहा है.
तीसरी इमेज. ऐप्लिकेशन चल रहा है और पोर्ट 9000पर एचटीटीपी अनुरोधों को सुन रहा है.
- नई विंडो में,
अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन लॉन्च करें:ngrok http --domain=NGROK_STATIC_DOMAIN 9000NGROK_STATIC_DOMAINको अपनेngrokखाते में मौजूद स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए गए पोर्ट पर रीडायरेक्ट किया जाता है.
चौथी इमेज. ngrokसर्वर चालू है और रीडायरेक्ट कर रहा है.ngrokऐप्लिकेशन, आपके लोकलहोस्ट पर एक वेब इंटरफ़ेस भी शुरू करता है. इसे ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखी जा सकती है.
पांचवीं इमेज. ngrokऐप्लिकेशन से होस्ट किया गया वेब इंटरफ़ेस, जिसमें कोई एचटीटीपी अनुरोध नहीं दिख रहा है.टेस्टर खाते से, नए Google दस्तावेज़ में केस के यूआरएल की झलक देखकर, अपने Google Workspace ऐड-ऑन को टेस्ट करें:
कोई Google दस्तावेज़ बनाएं.
यह लिंक टाइप करें और
enterदबाएं:https://example.com/support/case/?name=Name1&description=Description1&priority=P1लिंक पर क्लिक करें.
अपने लोकल एनवायरमेंट में
Visual Studio Codeमें, आपको दिखेगा कि सेट किए गए ब्रेकपॉइंट पर एक्ज़ीक्यूशन रुक गया है.
छठी इमेज. सेट किए गए ब्रेकपॉइंट पर, कोड का एक्ज़ीक्यूशन रोक दिया जाता है. Google Workspace ऐड-ऑन के टाइम आउट होने से पहले,
Visual Studio Codeडीबगर से स्क्रिप्ट को फिर से शुरू करने पर, Google Workspace ऐड-ऑन, Google दस्तावेज़ में कैश मेमोरी से लिंक की झलक दिखाता है.अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.
सातवीं इमेज. ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से किया गया एचटीटीपी अनुरोध.ऐप्लिकेशन के व्यवहार को बदलने के लिए,
index.jsकी लाइन51परCaseकोCase:से बदलें. फ़ाइल सेव करने पर,nodemonअपडेट किए गए सोर्स कोड के साथ ऐप्लिकेशन को अपने-आप फिर से लोड कर देता है. साथ ही,Visual Studio Codeडीबग मोड में रहता है.
आठवीं इमेज. ऐप्लिकेशन चल रहा है और कोड में किए गए बदलाव के साथ, पोर्ट 9000पर एचटीटीपी अनुरोधों को सुन रहा है.इस बार, आपको लिंक पर क्लिक करके नए Google दस्तावेज़ में कुछ सेकंड तक इंतज़ार करने की ज़रूरत नहीं है. इसके बजाय, अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन के होस्ट किए गए वेब इंटरफ़ेस पर लॉग किया गया आखिरी एचटीटीपी अनुरोध चुनें औरReplayपर क्लिक करें. पिछली बार की तरह, इस बार भी आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इस पर डीबग किया जा रहा है.Visual Studio Codeडिबगर से फिर से एक्ज़ीक्यूशन शुरू करने पर, आपको अपने लोकल एनवायरमेंट मेंngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस में यह दिखेगा कि ऐप्लिकेशन, झलक वाले कार्ड के अपडेट किए गए वर्शन के साथ जवाब जनरेट करता है.
Python
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio CodeIDE में जाकर, यह तरीका अपनाएं:- नई विंडो में,
add-ons-samples/python/3p-resources/create_link_previewफ़ोल्डर खोलें. Python
envके लिए वर्चुअल एनवायरमेंट बनाएं और उसे चालू करें:virtualenv envsource env/bin/activateवर्चुअल एनवायरमेंट में,
pipका इस्तेमाल करके प्रोजेक्ट की सभी डिपेंडेंसी इंस्टॉल करें:pip install -r requirements.txtरूट डायरेक्ट्री में
.vscode/launch.jsonफ़ाइल बनाएं. साथ ही,Debug Watchनाम का एक लॉन्च कॉन्फ़िगर करें. यह लॉन्च, वर्चुअल एनवायरमेंटenvपर डीबग मोड में पोर्ट9000पर मौजूद मॉड्यूलfunctions-frameworkसे ऐप्लिकेशन को ट्रिगर करता है:{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "launch", "name": "Debug Watch", "python": "${workspaceFolder}/env/bin/python3", "module": "functions_framework", "args": [ "--target", "create_link_preview", "--port", "9000", "--debug" ] }] }main.pyफ़ाइल में एक ब्रेकपॉइंट जोड़ें, जो एचटीटीपी अनुरोध को प्रोसेस करने के दौरान रुक जाए. इसके बाद, पहले से जोड़े गएDebug Watchकॉन्फ़िगरेशन के साथ चलाना और डीबग करना शुरू करें. अब ऐप्लिकेशन चल रहा है और पोर्ट9000पर एचटीटीपी अनुरोधों को सुन रहा है.
तीसरी इमेज. ऐप्लिकेशन चल रहा है और पोर्ट 9000पर एचटीटीपी अनुरोधों को सुन रहा है.
- नई विंडो में,
अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन लॉन्च करें:ngrok http --domain=NGROK_STATIC_DOMAIN 9000NGROK_STATIC_DOMAINको अपनेngrokखाते में मौजूद स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए गए पोर्ट पर रीडायरेक्ट किया जाता है.
चौथी इमेज. ngrokसर्वर चल रहा है और रीडायरेक्ट कर रहा है.ngrokऐप्लिकेशन, आपके लोकलहोस्ट पर एक वेब इंटरफ़ेस भी शुरू करता है. इसे ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखें.
पांचवीं इमेज. ngrokऐप्लिकेशन से होस्ट किया गया वेब इंटरफ़ेस, जिसमें कोई एचटीटीपी अनुरोध नहीं दिख रहा है.टेस्टर खाते से, नए Google दस्तावेज़ में केस के यूआरएल की झलक देखकर, अपने Google Workspace ऐड-ऑन को टेस्ट करें:
कोई Google दस्तावेज़ बनाएं.
यह लिंक टाइप करें और
enterदबाएं:https://example.com/support/case/?name=Name1&description=Description1&priority=P1लिंक पर क्लिक करें.
अपने लोकल एनवायरमेंट में
Visual Studio Codeमें, आपको दिखेगा कि सेट किए गए ब्रेकपॉइंट पर एक्ज़ीक्यूशन रुक गया है.
छठी इमेज. सेट किए गए ब्रेकपॉइंट पर, कोड का एक्ज़ीक्यूशन रोक दिया जाता है. Google Workspace ऐड-ऑन के टाइम आउट होने से पहले,
Visual Studio Codeडीबगर से स्क्रिप्ट को फिर से शुरू करने पर, Google Workspace ऐड-ऑन, Google दस्तावेज़ में कैश मेमोरी से लिंक की झलक दिखाता है.अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.
सातवीं इमेज. ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से किया गया एचटीटीपी अनुरोध.ऐप्लिकेशन के व्यवहार में बदलाव करने के लिए,
main.pyफ़ाइल की56लाइन मेंCaseकोCase:से बदलें. फ़ाइल सेव करने पर,Visual Studio Codeअपडेट किए गए सोर्स कोड के साथ ऐप्लिकेशन अपने-आप फिर से लोड हो जाता है और डीबग मोड में रहता है.
आठवीं इमेज. ऐप्लिकेशन चल रहा है और कोड में किए गए बदलाव के साथ, पोर्ट 9000पर एचटीटीपी अनुरोधों को सुन रहा है.इस बार, आपको लिंक पर क्लिक करके नए Google दस्तावेज़ में कुछ सेकंड तक इंतज़ार करने की ज़रूरत नहीं है. इसके बजाय, अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन के होस्ट किए गए वेब इंटरफ़ेस पर लॉग किया गया आखिरी एचटीटीपी अनुरोध चुनें औरReplayपर क्लिक करें. पिछली बार की तरह, इस बार भी आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इस पर डीबग किया जा रहा है.Visual Studio Codeडिबगर से फिर से एक्ज़ीक्यूशन शुरू करने पर, आपको अपने लोकल एनवायरमेंट मेंngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस में यह दिखेगा कि ऐप्लिकेशन, झलक वाले कार्ड के अपडेट किए गए वर्शन के साथ जवाब जनरेट करता है.
Java
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio CodeIDE में जाकर, यह तरीका अपनाएं:- नई विंडो में,
add-ons-samples/java/3p-resourcesफ़ोल्डर खोलें. ऐप्लिकेशन को स्थानीय तौर पर पोर्ट
9000पर चलाने के लिए, Maven प्रोजेक्ट को कॉन्फ़िगर करें. इसके लिए,pom.xmlफ़ाइल में Cloud Functions Framework build pluginfunction-maven-pluginजोड़ें:CreateLinkPreview... <plugin> <groupId>com.google.cloud.functions</groupId> <artifactId>function-maven-plugin</artifactId> <version>0.11.0</version> <configuration> <functionTarget>CreateLinkPreview</functionTarget> <port>9000</port> </configuration> </plugin> ...अब इसे डीबग मोड में स्थानीय तौर पर लॉन्च किया जा सकता है:
mvnDebug function:run Preparing to execute Maven in debug mode Listening for transport dt_socket at address: 8000रूट डायरेक्ट्री में
.vscode/launch.jsonफ़ाइल बनाएं. साथ ही,Remote Debug Watchनाम का एक लॉन्च कॉन्फ़िगर करें, जो पोर्ट8000पर पहले लॉन्च किए गए ऐप्लिकेशन से अटैच हो:{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Remote Debug Watch", "projectName": "http-function", "hostName": "localhost", "port": 8000 }] }CreateLinkPreview.javaफ़ाइल में एक ब्रेकपॉइंट जोड़ें, जो एचटीटीपी अनुरोध को प्रोसेस करने की प्रोसेस को रोकता है. इसके बाद, पहले से जोड़े गएRemote Debug Watchकॉन्फ़िगरेशन के साथ अटैच करना और डीबग करना शुरू करें. ऐप्लिकेशन अब चल रहा है और पोर्ट9000पर एचटीटीपी अनुरोधों को सुन रहा है.
तीसरी इमेज. ऐप्लिकेशन चल रहा है और पोर्ट 9000पर एचटीटीपी अनुरोधों को सुन रहा है.
- नई विंडो में,
अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन लॉन्च करें:ngrok http --domain=NGROK_STATIC_DOMAIN 9000NGROK_STATIC_DOMAINको अपनेngrokखाते में मौजूद स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए गए पोर्ट पर रीडायरेक्ट किया जाता है.
चौथी इमेज. ngrokसर्वर चालू है और रीडायरेक्ट कर रहा है.ngrokऐप्लिकेशन, आपके लोकलहोस्ट पर एक वेब इंटरफ़ेस भी शुरू करता है. इसे ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखें.
पांचवीं इमेज. ngrokऐप्लिकेशन से होस्ट किया गया वेब इंटरफ़ेस, जिसमें कोई एचटीटीपी अनुरोध नहीं दिख रहा है.टेस्टर खाते से, नए Google दस्तावेज़ में केस के यूआरएल की झलक देखकर, अपने Google Workspace ऐड-ऑन को टेस्ट करें:
कोई Google दस्तावेज़ बनाएं.
यह लिंक टाइप करें और
enterदबाएं:https://example.com/support/case/?name=Name1&description=Description1&priority=P1लिंक पर क्लिक करें.
अपने लोकल एनवायरमेंट में
Visual Studio Codeमें, आपको दिखेगा कि सेट किए गए ब्रेकपॉइंट पर एक्ज़ीक्यूशन रुक गया है.
छठी इमेज. सेट किए गए ब्रेकपॉइंट पर, कोड का एक्ज़ीक्यूशन रोक दिया जाता है. Google Workspace ऐड-ऑन के टाइम आउट होने से पहले,
Visual Studio Codeडीबगर से स्क्रिप्ट को फिर से शुरू करने पर, Google Workspace ऐड-ऑन, Google दस्तावेज़ में कैश मेमोरी से लिंक की झलक दिखाता है.अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.
सातवीं इमेज. ngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से किया गया एचटीटीपी अनुरोध.ऐप्लिकेशन के व्यवहार में बदलाव करने के लिए,
CreateLinkPreview.javaफ़ाइल की78लाइन मेंCaseकोCase:से बदलें. इसके बाद,mvnDebugप्रोसेस को रीस्टार्ट करें औरRemote Debug Watchको फिर से लॉन्च करें, ताकि डीबगिंग को फिर से अटैच और रीस्टार्ट किया जा सके.इस बार, आपको लिंक पर क्लिक करके नए Google दस्तावेज़ में कुछ सेकंड तक इंतज़ार करने की ज़रूरत नहीं है. इसके बजाय, अपने लोकल एनवायरमेंट में
ngrokऐप्लिकेशन के होस्ट किए गए वेब इंटरफ़ेस पर लॉग किया गया आखिरी एचटीटीपी अनुरोध चुनें औरReplayपर क्लिक करें. पिछली बार की तरह, इस बार भी आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इस पर डीबग किया जा रहा है.Visual Studio Codeडिबगर से फिर से एक्ज़ीक्यूशन शुरू करने पर, आपको अपने लोकल एनवायरमेंट मेंngrokऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस में यह दिखेगा कि ऐप्लिकेशन, झलक वाले कार्ड के अपडेट किए गए वर्शन के साथ जवाब जनरेट करता है.
रिमोट एनवायरमेंट से डीबग करना
इस सेक्शन में, Google Workspace के ऐड-ऑन के साथ इंटरैक्ट किया जाता है. यह ऐड-ऑन, रिमोट एनवायरमेंट पर काम करता है.
ज़रूरी शर्तें
- आपका Google Workspace ऐड-ऑन डिप्लॉय और इंस्टॉल किया गया हो.
- आपका ऐप्लिकेशन, रिमोट एनवायरमेंट में चल रहा है. साथ ही, किसी पोर्ट पर डीबगर चालू है. इस गाइड के निर्देशों में इसे
REMOTE_DEBUG_PORTके तौर पर रेफ़र किया गया है. - आपका लोकल एनवायरमेंट, रिमोट एनवायरमेंट से
sshहो सकता है. - आपके लोकल एनवायरमेंट में एक ऐसा आईडीई सेट अप किया गया हो जो डीबग कर सकता हो. इस गाइड में, उदाहरण के तौर पर
Visual Studio CodeIDE और इसकी डिफ़ॉल्ट डीबग करने की सुविधाओं का इस्तेमाल किया गया है.
अपने लोकल और रिमोट एनवायरमेंट को कनेक्ट करना
अपने लोकल एनवायरमेंट में, जहां से आपको डीबग क्लाइंट कनेक्शन शुरू करना है वहां एसएसएच टनल सेट अप करें:
ssh -L LOCAL_DEBUG_PORT:localhost:REMOTE_DEBUG_PORT REMOTE_USERNAME@REMOTE_ADDRESSइनकी जगह ये डालें:
LOCAL_DEBUG_PORT: आपके लोकल एनवायरमेंट में मौजूद डीबग पोर्ट.REMOTE_USERNAME: रिमोट एनवायरमेंट में आपका उपयोगकर्ता नाम.REMOTE_ADDRESS: रिमोट एनवायरमेंट का पता.REMOTE_DEBUG_PORT: रिमोट एनवायरमेंट में मौजूद डीबग पोर्ट.
आपके लोकल एनवायरमेंट में मौजूद डीबग पोर्ट अब आपके रिमोट एनवायरमेंट में मौजूद डीबग पोर्ट से लिंक हो गया है.
डीबग करना शुरू करें
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए Visual Studio Code IDE में जाकर, यह काम करें:
- नई विंडो में, अपने ऐप्लिकेशन का सोर्स कोड खोलें.
रूट डायरेक्ट्री में
.vscode/launch.jsonफ़ाइल बनाएं औरDebug Remoteनाम का एक लॉन्च कॉन्फ़िगर करें. यह लॉन्च, आपके लोकल एनवायरमेंट में डीबग पोर्ट से अटैच होता है:Node.js
{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "attach", "name": "Debug Remote", "address": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }Python
{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "attach", "name": "Debug Remote", "connect": { "host": "127.0.0.1", "port": LOCAL_DEBUG_PORT } }] }Java
{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Debug Remote", "hostName": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }LOCAL_DEBUG_PORTको अपने लोकल एनवायरमेंट में मौजूद डीबग पोर्ट से बदलें.अपने ऐप्लिकेशन के सोर्स कोड में एक ब्रेकपॉइंट जोड़ें. इससे HTTP अनुरोध की प्रोसेसिंग रुक जाएगी. इसके बाद,
Debug Remoteकॉन्फ़िगरेशन का इस्तेमाल करके, ऐप्लिकेशन को चलाना और डीबग करना शुरू करें.इंस्टॉल किए गए Google Workspace ऐड-ऑन के साथ इंटरैक्ट करें. आपका Google Workspace ऐड-ऑन जवाब नहीं देता, क्योंकि
Visual Studio CodeIDE में इसकी डीबगिंग की जा रही है.
मिलते-जुलते विषय
- गड़बड़ी के लॉग के लिए क्वेरी करने का तरीका जानें.