ब्यौरा
chrome.debugger
एपीआई, Chrome के रिमोट डीबगिंग प्रोटोकॉल के लिए, वैकल्पिक ट्रांसपोर्ट के तौर पर काम करता है. इंस्ट्रुमेंट नेटवर्क इंटरैक्शन के लिए एक या ज़्यादा टैब को अटैच करने, JavaScript को डीबग करने, DOM और सीएसएस में बदलाव करने वगैरह के लिए chrome.debugger
का इस्तेमाल करें. sendCommand
वाले टैब को टारगेट करने और onEvent
कॉलबैक से tabId
की मदद से इवेंट को रूट करने के लिए, Debuggee
प्रॉपर्टी tabId
का इस्तेमाल करें.
अनुमतियां
debugger
सुरक्षा नोट
सुरक्षा की वजहों से, chrome.debugger
एपीआई, Chrome के सभी DevTools का ऐक्सेस नहीं देता है
प्रोटोकॉल डोमेन. फ़िलहाल, ये डोमेन उपलब्ध हैं: सुलभता,
ऑडिट, CacheStorage, कंसोल,
सीएसएस, डेटाबेस, डीबगर, DOM,
DOMDebugger, DOMSnapshot,
एम्युलेशन, फ़ेच करें, IO, इनपुट,
इंस्पेक्टर, लॉग, नेटवर्क, ओवरले,
पेज, परफ़ॉर्मेंस, प्रोफ़ाइलर,
रनटाइम, डिवाइस का स्टोरेज, टारगेट, ट्रेसिंग,
WebAudio और WebAuthn.
मेनिफ़ेस्ट
इस एपीआई का इस्तेमाल करने के लिए, आपको अपने एक्सटेंशन के मेनिफ़ेस्ट में "debugger"
` अनुमति के बारे में जानकारी देनी होगी.
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
उदाहरण
इस एपीआई को आज़माने के लिए, chrome-extension-samples से debugger API का उदाहरण इंस्टॉल करें डेटा स्टोर करने की जगह.
टाइप
Debuggee
Debuggee आइडेंटिफ़ायर. tabId, extensionsId या targetId में से किसी एक का इस्तेमाल करना ज़रूरी है
प्रॉपर्टी
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिसे आपको डीबग करना है. किसी एक्सटेंशन के बैकग्राउंड पेज में अटैच करने की सुविधा सिर्फ़ तब काम करती है, जब
--silent-debugger-extension-api
कमांड-लाइन स्विच का इस्तेमाल किया गया हो. -
tabId
नंबर वैकल्पिक
उस टैब का आईडी, जिसे आपको डीबग करना है.
-
targetId
स्ट्रिंग ज़रूरी नहीं
डीबग टारगेट का ओपेक आईडी.
DebuggerSession
डीबगर सेशन आइडेंटिफ़ायर. कोई एक tabId, extensionsId या targetId तय करना ज़रूरी है. इसके अलावा, एक वैकल्पिक sessionId दिया जा सकता है. अगर onEvent
से भेजे गए आर्ग्युमेंट के लिए sessionId दिया गया है, तो इसका मतलब है कि इवेंट रूट डीबगी सेशन के किसी चाइल्ड प्रोटोकॉल सेशन से आ रहा है. अगर sendCommand
को पास किए जाने पर sessionId दिया जाता है, तो यह रूट डीबगी सेशन में किसी चाइल्ड प्रोटोकॉल सेशन को टारगेट करता है.
प्रॉपर्टी
-
extensionId
स्ट्रिंग ज़रूरी नहीं
उस एक्सटेंशन का आईडी जिसे आपको डीबग करना है. किसी एक्सटेंशन के बैकग्राउंड पेज में अटैच करने की सुविधा सिर्फ़ तब काम करती है, जब
--silent-debugger-extension-api
कमांड-लाइन स्विच का इस्तेमाल किया गया हो. -
sessionId
स्ट्रिंग ज़रूरी नहीं
Chrome DevTools प्रोटोकॉल सेशन का ओपेक आईडी. TabId, extensionsId या targetId से पहचाने गए रूट सेशन में किसी चाइल्ड सेशन की पहचान करता है.
-
tabId
नंबर वैकल्पिक
उस टैब का आईडी, जिसे आपको डीबग करना है.
-
targetId
स्ट्रिंग ज़रूरी नहीं
डीबग टारगेट का ओपेक आईडी.
DetachReason
कनेक्शन बंद किए जाने की वजह.
Enum
"target_closed"
"canceled_by_user"
TargetInfo
डीबग टारगेट की जानकारी
प्रॉपर्टी
-
अटैच किया गया
बूलियन
अगर डीबगर पहले से अटैच है, तो सही है.
-
extensionId
स्ट्रिंग ज़रूरी नहीं
एक्सटेंशन आईडी, अगर टाइप = 'background_page' है, तो इसका पता चलता है.
-
faviconUrl
स्ट्रिंग ज़रूरी नहीं
टारगेट फ़ेविकॉन यूआरएल.
-
आईडी
स्ट्रिंग
टारगेट आईडी.
-
tabId
नंबर वैकल्पिक
टैब आईडी, अगर टाइप == 'page' है.
-
title
स्ट्रिंग
टारगेट पेज का टाइटल.
-
टाइप
टारगेट टाइप.
-
url
स्ट्रिंग
टारगेट यूआरएल.
TargetInfoType
टारगेट टाइप.
Enum
"पेज"
"background_page"
"कर्मी"
"अन्य"
तरीके
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
)
दिए गए टारगेट में डीबगर अटैच करता है.
पैरामीटर
-
टारगेट
उस टारगेट को डीबग करना जिसे आपको अटैच करना है.
-
requiredVersion
स्ट्रिंग
डीबग करने वाले प्रोटोकॉल का ज़रूरी वर्शन ("0.1"). डीबग करने के लिए, सिर्फ़ उस मेजर वर्शन और उसके बाद के माइनर वर्शन के साथ दस्तावेज़ अटैच किया जा सकता है. प्रोटोकॉल वर्शन की सूची यहां दी गई है.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
Chrome 96 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
)
दिए गए टारगेट से डीबगर को अलग करता है.
पैरामीटर
-
टारगेट
वह टारगेट डीबग करना जिससे आपको अलग करना है.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
प्रॉमिस<void>
Chrome 96 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.
getTargets()
chrome.debugger.getTargets(
callback?: function,
)
उपलब्ध डीबग टारगेट की सूची दिखाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(result: TargetInfo[]) => void
-
नतीजा
उपलब्ध डीबग टारगेट से जुड़े TargetInfo ऑब्जेक्ट की कलेक्शन.
-
रिटर्न
-
Promise<TargetInfo[]>
Chrome 96 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
)
यह निर्देश, डीबग करने वाले टारगेट को भेजता है.
पैरामीटर
-
टारगेट
उस टारगेट को डीबग करना जिसे आपको निर्देश भेजना है.
-
तरीका
स्ट्रिंग
तरीके का नाम. यह रिमोट डीबगिंग प्रोटोकॉल के बताए गए तरीकों में से एक होना चाहिए.
-
commandParams
ऑब्जेक्ट ज़रूरी नहीं
अनुरोध पैरामीटर के साथ JSON ऑब्जेक्ट. यह ऑब्जेक्ट दिए गए तरीके के लिए, रिमोट डीबगिंग पैरामीटर स्कीम के मुताबिक होना चाहिए.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(result?: object) => void
-
नतीजा
ऑब्जेक्ट ज़रूरी नहीं
रिस्पॉन्स के साथ JSON ऑब्जेक्ट. तरीके के नाम के आधार पर रिस्पॉन्स का स्ट्रक्चर अलग-अलग होता है. यह स्ट्रक्चर 'रिटर्न' से तय होता है रिमोट डीबगिंग प्रोटोकॉल में निर्देश की जानकारी का एट्रिब्यूट.
-
रिटर्न
-
Promise<object | तय नहीं है>
Chrome 96 और उसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.
इवेंट
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
यह तब ट्रिगर होता है, जब ब्राउज़र, टैब के लिए डीबग करने वाले सेशन को खत्म कर देता है. ऐसा तब होता है, जब टैब को बंद किया जा रहा हो या अटैच किए गए टैब के लिए Chrome DevTools को शुरू किया जा रहा हो.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(source: Debuggee, reason: DetachReason) => void
-
source
-
कारण
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
टारगेट से जुड़ी समस्याओं वाले इंस्ट्रुमेंटेशन इवेंट को डीबग करने पर सक्रिय होता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(source: DebuggerSession, method: string, params?: object) => void
-
source
-
तरीका
स्ट्रिंग
-
पैरामीटर
ऑब्जेक्ट ज़रूरी नहीं
-