Google Workspace ऐड-ऑन डेवलपर के तौर पर, आपको बदलावों की जांच करने या मुश्किल समस्याओं को हल करने के लिए, कोड को डीबग करना पड़ सकता है. Google Workspace ऐड-ऑन को कई तरीकों से डीबग किया जा सकता है. यह कई बातों पर निर्भर करता है. जैसे, आपके ऐप्लिकेशन का आर्किटेक्चर, ऐप्लिकेशन क्या करता है, आपका ऐप्लिकेशन कैसे डिप्लॉय किया जाता है, और आपकी प्राथमिकताएं क्या हैं.
इस पेज पर बताया गया है कि ngrok का इस्तेमाल करके Google Workspace ऐड-ऑन को कैसे डीबग किया जाता है. यह एक यूनिफ़ाइड इन्ग्रेस डेटा प्लैटफ़ॉर्म है, जिसका इस्तेमाल करके स्थानीय डेवलपमेंट एनवायरमेंट की जांच की जा सकती है. इस गाइड की मदद से, स्थानीय एनवायरमेंट में कोड में होने वाले बदलावों को टेस्ट किया जा सकता है. साथ ही, रिमोट एनवायरमेंट में समस्याओं को हल किया जा सकता है.
लोकल डेवलपमेंट एनवायरमेंट से डीबग करना
इस सेक्शन में, अपने Google Workspace ऐड-ऑन के साथ इंटरैक्ट किया जा सकता है. यह ऐड-ऑन आपके स्थानीय वातावरण में काम करता है.
पहला डायग्राम. लोकल डेवलपमेंट एनवायरमेंट में डीबग करें.
ज़रूरी शर्तें
Node.js
node
औरnpm
के नए वर्शन, आपके लोकल डिवाइस पर इंस्टॉल किए गए.nodemon
का सबसे नया वर्शन आपके डिवाइस पर इंस्टॉल हो जाता है. इसका इस्तेमाल, अपने-आप फिर से लोड होने के लिए किया जाता है:npm install -g nodemon
Google Cloud प्रोजेक्ट. इसके लिए, ज़रूरी शर्तें सेक्शन और क्विकस्टार्ट गाइड के एनवायरमेंट को सेट अप करें.
आपके लोकल एनवायरमेंट में डीबग करने के लिए, Google Workspace ऐड-ऑन का कोड. हम GitHub रिपॉज़िटरी में दिए गए
3p-resources
कोड के उदाहरण में दिए गए, झलक लिंक की सुविधाओं का इस्तेमाल करते हैं.googleworkspace/add-ons-samples
इस गाइड में सिर्फ़ उदाहरण के तौर पर ऐसा किया गया है.आपके लोकल एनवायरमेंट में सेट अप किया गया IDE, जो डीबग कर सकता है. हम उदाहरण के लिए, इस गाइड में दिए गए
Visual Studio Code
IDE और इसकी डिफ़ॉल्ट डीबग सुविधाओं का इस्तेमाल करते हैं.एक
ngrok
खाता.आपके स्थानीय इलाके में
gcloud
का नया वर्शन इंस्टॉल है और शुरू हुआ है.
Python
python3
का नया वर्शन आपके लोकल एनवायरमेंट में इंस्टॉल किया गया है.- आपके लोकल एनवायरमेंट में इंस्टॉल किए गए
pip
औरvirtualenv
के सबसे नए वर्शन का इस्तेमाल, Python पैकेज और वर्चुअल एनवायरमेंट को मैनेज करने के लिए किया जाता है. - Google Cloud प्रोजेक्ट. इसके लिए, ज़रूरी शर्तें सेक्शन और क्विकस्टार्ट गाइड के एनवायरमेंट को सेट अप करें.
- आपके लोकल एनवायरमेंट में डीबग करने के लिए, Google Workspace ऐड-ऑन का कोड. हम GitHub रिपॉज़िटरी में दिए गए
3p-resources
कोड के उदाहरण में दिए गए, झलक लिंक की सुविधाओं का इस्तेमाल करते हैं.googleworkspace/add-ons-samples
इस गाइड में सिर्फ़ उदाहरण के तौर पर ऐसा किया गया है. - आपके लोकल एनवायरमेंट में सेट अप किया गया IDE, जो डीबग कर सकता है. हम उदाहरण के लिए, इस गाइड में दिए गए
Visual Studio Code
IDE और इसकी डिफ़ॉल्ट डीबग सुविधाओं का इस्तेमाल करते हैं. - एक
ngrok
खाता. - आपके स्थानीय इलाके में
gcloud
का नया वर्शन इंस्टॉल है और शुरू हुआ है.
Java
Java SE 11's JDK
का नया और ठीक से काम करने वाला वर्शन, आपके डिवाइस के आस-पास इंस्टॉल हो जाता है.Apache Maven
का सबसे नया वर्शन आपके लोकल एनवायरमेंट में इंस्टॉल है. इसका इस्तेमाल Java प्रोजेक्ट मैनेज करने के लिए किया जाता है.- Google Cloud प्रोजेक्ट. इसके लिए, ज़रूरी शर्तें सेक्शन और क्विकस्टार्ट गाइड के एनवायरमेंट को सेट अप करें.
- आपके लोकल एनवायरमेंट में डीबग करने के लिए, Google Workspace ऐड-ऑन का कोड. हम GitHub रिपॉज़िटरी में दिए गए
3p-resources
कोड के उदाहरण में दिए गए, झलक लिंक की सुविधाओं का इस्तेमाल करते हैं.googleworkspace/add-ons-samples
इस गाइड में सिर्फ़ उदाहरण के तौर पर ऐसा किया गया है. - आपके लोकल एनवायरमेंट में सेट अप किया गया IDE, जो डीबग कर सकता है. हम उदाहरण के लिए, इस गाइड में दिए गए
Visual Studio Code
IDE और इसकी डिफ़ॉल्ट डीबग सुविधाओं का इस्तेमाल करते हैं. - एक
ngrok
खाता. - आपके स्थानीय इलाके में
gcloud
का नया वर्शन इंस्टॉल है और शुरू हुआ है.
localhost सेवा सार्वजनिक रूप से उपलब्ध कराना
आपको अपने लोकल एनवायरमेंट को इंटरनेट से कनेक्ट करना होगा, ताकि 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" } ] } } }
अपने
ngrok
खाते केNGROK_STATIC_DOMAIN
को स्टैटिक डोमेन से बदलें.Google Cloud प्रोजेक्ट को इस्तेमाल करने के लिए सेट करें:
gcloud config set project PROJECT_ID
ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल के लिए, नए उपयोगकर्ता क्रेडेंशियल हासिल करें:
gcloud auth application-default login
ऐप्लिकेशन के Google Cloud प्रोजेक्ट के लिए,
PROJECT_ID
की जगह प्रोजेक्ट आईडी डालें.डिप्लॉयमेंट बनाएं:
gcloud workspace-add-ons deployments create manageSupportCases \ --deployment-file=DEPLOYMENT_FILE_PATH
DEPLOYMENT_FILE_PATH
को अपनी डिप्लॉयमेंट फ़ाइल के पाथ से बदलें.डिप्लॉयमेंट इंस्टॉल करें:
gcloud workspace-add-ons deployments install manageSupportCases
दूसरी इमेज. Google Workspace ऐड-ऑन, अपने सभी एचटीटीपी अनुरोधों को स्टैटिक डोमेन पर भेजता है. ngrok
सार्वजनिक सेवा, Google Workspace ऐड-ऑन और स्थानीय तौर पर इस्तेमाल होने वाले ऐप्लिकेशन कोड के बीच पुल की तरह काम करती है.
Google Workspace ऐड-ऑन का इस्तेमाल करना
अपने Google Workspace ऐड-ऑन को स्थानीय तौर पर डिप्लॉय, टेस्ट, डीबग, और फिर से लोड किया जा सकता है.
Node.js
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio Code
IDE से, ये काम करें:- नई विंडो में,
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
Debug Watch
नाम का ऐसा लॉन्च बनाएं और कॉन्फ़िगर करें जो रूट डायरेक्ट्री में.vscode/launch.json
फ़ाइल बनाकर,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 9000
अपने
ngrok
खाते मेंNGROK_STATIC_DOMAIN
को स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए जाने वाले पोर्ट पर रीडायरेक्ट कर दिया जाता है.चौथी इमेज.
ngrok
सर्वर वाला टर्मिनल, जो चल रहा है और रीडायरेक्ट कर रहा है.ngrok
ऐप्लिकेशन की मदद से, आपके localhost पर एक वेब इंटरफ़ेस भी शुरू किया गया है. इसे किसी ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखी जा सकती है.पांचवी इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किया गया वेब इंटरफ़ेस, जो कोई एचटीटीपी अनुरोध नहीं दिखा रहा है.टेस्टर खाते की मदद से, नए Google Doc में केस के यूआरएल की झलक देखकर, अपने 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 Docs में दिखती है.अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.सातवीं इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से मिला एचटीटीपी अनुरोध.ऐप्लिकेशन का व्यवहार बदलने के लिए,
Case
कोindex.js
कीCase:
इनलाइन51
से बदलें. फ़ाइल सेव करने पर,nodemon
अपडेट किए गए सोर्स कोड के साथ ऐप्लिकेशन को अपने-आप फिर से लोड करता है औरVisual Studio Code
डीबग मोड में बना रहता है.आठवां इमेज. ऐप्लिकेशन चल रहा है और कोड में बदलाव लोड किए गए
9000
पोर्ट पर एचटीटीपी अनुरोधों को सुन रहा है.इस बार, लिंक पर क्लिक करने और नए Google दस्तावेज़ में कुछ सेकंड का इंतज़ार करने के बजाय, अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस पर लॉग किए गए आखिरी एचटीटीपी अनुरोध को चुना जा सकता है औरReplay
पर क्लिक किया जा सकता है. पहले की तरह ही, आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इसे सक्रिय रूप से डीबग किया जा रहा है.Visual Studio Code
के डीबगर से एक्ज़ीक्यूशन फिर से शुरू करने पर, अपने लोकल एनवायरमेंट मेंngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से देखा जा सकता है कि ऐप्लिकेशन, झलक दिखाने वाले कार्ड के अपडेट किए गए वर्शन के साथ रिस्पॉन्स जनरेट करता है.
Python
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio Code
IDE से, ये काम करें:- नई विंडो में,
add-ons-samples/python/3p-resources/create_link_preview
फ़ोल्डर खोलें. Python
env
के लिए, नया वर्चुअल एनवायरमेंट बनाएं और इसे चालू करें:virtualenv env
source 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 9000
अपने
ngrok
खाते मेंNGROK_STATIC_DOMAIN
को स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए जाने वाले पोर्ट पर रीडायरेक्ट कर दिया जाता है.चौथी इमेज.
ngrok
सर्वर वाला टर्मिनल, जो चल रहा है और रीडायरेक्ट कर रहा है.ngrok
ऐप्लिकेशन की मदद से, आपके localhost पर एक वेब इंटरफ़ेस भी शुरू किया गया है. इसे किसी ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखी जा सकती है.पांचवी इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किया गया वेब इंटरफ़ेस, जो कोई एचटीटीपी अनुरोध नहीं दिखा रहा है.टेस्टर खाते की मदद से, नए Google Doc में केस के यूआरएल की झलक देखकर, अपने 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 Docs में दिखती है.अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.सातवीं इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से मिला एचटीटीपी अनुरोध.ऐप्लिकेशन का व्यवहार बदलने के लिए,
Case
कोmain.py
फ़ाइल कीCase:
इनलाइन56
से बदलें. फ़ाइल सेव करने पर,Visual Studio Code
अपडेट किए गए सोर्स कोड के साथ ऐप्लिकेशन को अपने-आप फिर से लोड करता है और डीबग मोड में बना रहता है.आठवां इमेज. ऐप्लिकेशन चल रहा है और कोड में बदलाव लोड किए गए
9000
पोर्ट पर एचटीटीपी अनुरोधों को सुन रहा है.इस बार, लिंक पर क्लिक करने और नए Google दस्तावेज़ में कुछ सेकंड का इंतज़ार करने के बजाय, अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस पर लॉग किए गए आखिरी एचटीटीपी अनुरोध को चुना जा सकता है औरReplay
पर क्लिक किया जा सकता है. पहले की तरह ही, आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इसे सक्रिय रूप से डीबग किया जा रहा है.Visual Studio Code
के डीबगर से एक्ज़ीक्यूशन फिर से शुरू करने पर, अपने लोकल एनवायरमेंट मेंngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से देखा जा सकता है कि ऐप्लिकेशन, झलक दिखाने वाले कार्ड के अपडेट किए गए वर्शन के साथ रिस्पॉन्स जनरेट करता है.
Java
अपने लोकल एनवायरमेंट में इंस्टॉल किए गए
Visual Studio Code
IDE से, ये काम करें:- नई विंडो में,
add-ons-samples/java/3p-resources
फ़ोल्डर खोलें. pom.xml
फ़ाइल में Cloud फ़ंक्शन फ़्रेमवर्क बिल्ड प्लगिनfunction-maven-plugin
को जोड़कर,9000
पोर्ट पर ऐप्लिकेशनCreateLinkPreview
को स्थानीय तौर पर चलाने के लिए, Maven प्रोजेक्ट को कॉन्फ़िगर करें:... <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 9000
अपने
ngrok
खाते मेंNGROK_STATIC_DOMAIN
को स्टैटिक डोमेन से बदलें. अब सभी अनुरोधों को आपके लोकल एनवायरमेंट और ऐप्लिकेशन के इस्तेमाल किए जाने वाले पोर्ट पर रीडायरेक्ट कर दिया जाता है.चौथी इमेज.
ngrok
सर्वर वाला टर्मिनल, जो चल रहा है और रीडायरेक्ट कर रहा है.ngrok
ऐप्लिकेशन की मदद से, आपके localhost पर एक वेब इंटरफ़ेस भी शुरू किया गया है. इसे किसी ब्राउज़र में खोलकर, सभी गतिविधियों पर नज़र रखी जा सकती है.पांचवी इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किया गया वेब इंटरफ़ेस, जो कोई एचटीटीपी अनुरोध नहीं दिखा रहा है.टेस्टर खाते की मदद से, नए Google Doc में केस के यूआरएल की झलक देखकर, अपने 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 Docs में दिखती है.अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस से, एचटीटीपी अनुरोध और रिस्पॉन्स लॉग देखे जा सकते हैं.सातवीं इमेज.
ngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से मिला एचटीटीपी अनुरोध.ऐप्लिकेशन के व्यवहार में बदलाव करने के लिए,
Case
कोCreateLinkPreview.java
फ़ाइल कीCase:
इनलाइन78
से बदलें. इसके बाद,mvnDebug
प्रोसेस को रीस्टार्ट करें. साथ ही,Remote Debug Watch
को फिर से लॉन्च करके, डीबग को फिर से अटैच करके रीस्टार्ट करें.इस बार, लिंक पर क्लिक करने और नए Google दस्तावेज़ में कुछ सेकंड का इंतज़ार करने के बजाय, अपने लोकल एनवायरमेंट में
ngrok
ऐप्लिकेशन से होस्ट किए गए वेब इंटरफ़ेस पर लॉग किए गए आखिरी एचटीटीपी अनुरोध को चुना जा सकता है औरReplay
पर क्लिक किया जा सकता है. पहले की तरह ही, आपका Google Workspace ऐड-ऑन जवाब नहीं दे रहा है, क्योंकि इसे सक्रिय रूप से डीबग किया जा रहा है.Visual Studio Code
के डीबगर से एक्ज़ीक्यूशन फिर से शुरू करने पर, अपने लोकल एनवायरमेंट मेंngrok
ऐप्लिकेशन पर होस्ट किए गए वेब इंटरफ़ेस से देखा जा सकता है कि ऐप्लिकेशन, झलक दिखाने वाले कार्ड के अपडेट किए गए वर्शन के साथ रिस्पॉन्स जनरेट करता है.
रिमोट एनवायरमेंट से डीबग करें
इस सेक्शन में, अपने Google Workspace ऐड-ऑन के साथ इंटरैक्ट किया जा सकता है. यह ऐड-ऑन, रिमोट एनवायरमेंट पर काम करता है.
नौवीं इमेज. रिमोट एनवायरमेंट से डीबग करें.
ज़रूरी शर्तें
- आपका Google Workspace ऐड-ऑन डिप्लॉय और इंस्टॉल किया गया है.
- किसी दिए गए पोर्ट पर डीबगर की सुविधा के साथ, रिमोट एनवायरमेंट में चल रहा आपका ऐप्लिकेशन, इस गाइड के निर्देशों में इसे
REMOTE_DEBUG_PORT
के तौर पर दिखाया गया है. - आपका लोकल एनवायरमेंट, आपके रिमोट एनवायरमेंट में
ssh
हो सकता है. - आपके लोकल एनवायरमेंट में सेट अप किया गया IDE, जो डीबग कर सकता है. हम उदाहरण के लिए, इस गाइड में मौजूद
Visual Studio Code
IDE और इसकी डिफ़ॉल्ट डीबग सुविधाओं का इस्तेमाल कर रहे हैं.
अपने लोकल और रिमोट एनवायरमेंट को कनेक्ट करें
अपने स्थानीय एनवायरमेंट में, जहां से आपको डीबग क्लाइंट कनेक्शन शुरू करना है उसमें एसएसएच टनल सेट अप करें:
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
को डीबग पोर्ट से बदलें.अपने ऐप्लिकेशन के सोर्स कोड में ऐसा ब्रेकपॉइंट जोड़ें जो एचटीटीपी अनुरोध की प्रोसेसिंग को रोकता है. साथ ही, पहले जोड़े गए
Debug Remote
कॉन्फ़िगरेशन के साथ, चलना और डीबग करना शुरू करें.
इंस्टॉल किए गए Google Workspace ऐड-ऑन का इस्तेमाल करें. आपके Google Workspace ऐड-ऑन का जवाब नहीं है, क्योंकि इसे Visual Studio Code
IDE में डीबग किया जा रहा है.
मिलते-जुलते विषय
गड़बड़ी के लॉग क्वेरी करने का तरीका जानें.