chrome.debugger

refresh date: 2026-09-25 robots: noindex

বিবরণ

chrome.debugger API, Chrome-এর রিমোট ডিবাগিং প্রোটোকল-এর জন্য বিকল্প ট্রান্সপোর্ট হিসেবে কাজ করে। নেটওয়ার্ক ইন্টার‍্যাকশন ইন্সট্রুমেন্ট, জাভাস্ক্রিপ্ট ডিবাগ, DOM ও CSS মিউটেট এবং আরও অনেক কিছু করতে এক বা একাধিক ট্যাবে অ্যাটাচ করতে chrome.debugger ব্যবহার করুন। sendCommand-এর সাথে ট্যাব টার্গেট করতে এবং onEvent কলব্যাক থেকে tabId-এর মাধ্যমে ইভেন্ট রুট করতে Debuggee প্রপার্টি tabId ব্যবহার করুন।

অনুমতি

debugger

নিরাপত্তা সংক্রান্ত নোট

নিরাপত্তার কারণে, chrome.debugger API সব Chrome DevTools প্রোটোকল ডোমেনে অ্যাক্সেস প্রদান করে না। উপলভ্য ডোমেনগুলি হল: অ্যাক্সেসিবিলিটি, অডিট, CacheStorage, Console, CSS, Database, Debugger, DOM, DOMDebugger, DOMSnapshot, Emulation, Fetch, IO, Input, Inspector, Log, Network, Overlay, Page, Performance, Runtime, Storage, Target, Tracing, WebAudio এবং WebAuthn।

ম্যানিফেস্ট

এই API ব্যবহার করার জন্য আপনার এক্সটেনশনের ম্যানিফেস্টে "debugger" অনুমতি ঘোষণা করতে হবে।

{
  "name": "My extension",
  ...
  "permissions": [
    "debugger",
  ],
  ...
}

উদাহরণ

এই API ব্যবহার করে দেখতে, chrome-extension-samples রিপোজিটরি থেকে debugger API উদাহরণ ইনস্টল করুন।

ধরন

Debuggee

ডিবাগি শনাক্তকারী। tabId, extensionId বা targetId-এর মধ্যে যেকোনও একটি উল্লেখ করতে হবে

প্রপার্টি

  • extensionId

    স্ট্রিং ঐচ্ছিক

    আপনি যে এক্সটেনশন ডিবাগ করতে চান সেটির আইডি। --silent-debugger-extension-api কমান্ড-লাইন সুইচ ব্যবহার করা হলে তবেই এক্সটেনশন ব্যাকগ্রাউন্ড পৃষ্ঠায় অ্যাটাচ করা সম্ভব।

  • tabId

    নম্বর ঐচ্ছিক

    আপনি যে ট্যাব ডিবাগ করতে চান সেটির আইডি।

  • targetId

    স্ট্রিং ঐচ্ছিক

    ডিবাগ টার্গেটের অস্বচ্ছ আইডি।

DebuggerSession

Chrome 125+

ডিবাগার সেশন শনাক্তকারী। tabId, extensionId বা targetId-এর মধ্যে যেকোনও একটি উল্লেখ করতে হবে। এছাড়াও, একটি ঐচ্ছিক sessionId প্রদান করা যেতে পারে। onEvent থেকে পাঠানো আর্গুমেন্টের জন্য sessionId উল্লেখ করা থাকলে, এর অর্থ হল রুট ডিবাগি সেশনের মধ্যে চাইল্ড প্রোটোকল সেশন থেকে ইভেন্টটি আসছে। sendCommand-এ পাস করার সময় sessionId উল্লেখ করা থাকলে, এটি রুট ডিবাগি সেশনের মধ্যে চাইল্ড প্রোটোকল সেশনকে টার্গেট করে।

প্রপার্টি

  • extensionId

    স্ট্রিং ঐচ্ছিক

    আপনি যে এক্সটেনশন ডিবাগ করতে চান সেটির আইডি। --silent-debugger-extension-api কমান্ড-লাইন সুইচ ব্যবহার করা হলে তবেই এক্সটেনশন ব্যাকগ্রাউন্ড পৃষ্ঠায় অ্যাটাচ করা সম্ভব।

  • sessionId

    স্ট্রিং ঐচ্ছিক

    Chrome DevTools Protocol সেশনের অস্বচ্ছ আইডি। tabId, extensionId বা targetId দ্বারা শনাক্ত করা রুট সেশনের মধ্যে চাইল্ড সেশন শনাক্ত করে।

  • tabId

    নম্বর ঐচ্ছিক

    আপনি যে ট্যাব ডিবাগ করতে চান সেটির আইডি।

  • targetId

    স্ট্রিং ঐচ্ছিক

    ডিবাগ টার্গেটের অস্বচ্ছ আইডি।

DetachReason

Chrome 44+

কানেকশন বন্ধ করার কারণ।

Enum

"target_closed"

"canceled_by_user"

TargetInfo

টার্গেট সংক্রান্ত তথ্য ডিবাগ করুন

প্রপার্টি

  • সংযুক্ত

    বুলিয়ান

    ডিবাগার আগে থেকেই অ্যাটাচ করা থাকলে সত্য।

  • extensionId

    স্ট্রিং ঐচ্ছিক

    এক্সটেনশন আইডি, ধরন = 'background_page' হলে এটি সংজ্ঞায়িত করা হয়।

  • faviconUrl

    স্ট্রিং ঐচ্ছিক

    টার্গেট ফেভিকন URL।

  • id

    স্ট্রিং

    টার্গেট আইডি।

  • tabId

    নম্বর ঐচ্ছিক

    ট্যাব আইডি, ধরন == 'পৃষ্ঠা' হলে সংজ্ঞায়িত।

  • শীর্ষক

    স্ট্রিং

    টার্গেট পৃষ্ঠার টাইটেল।

  • ধরন

    টার্গেটের ধরন।

  • URL

    স্ট্রিং

    টার্গেট URL।

TargetInfoType

Chrome 44+

টার্গেটের ধরন।

Enum

"পৃষ্ঠা"

"background_page"

"কর্মী"

"অন্যান্য"

পদ্ধতি

attach()

প্রতিশ্রুতি
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)
: Promise<void>

প্রদত্ত টার্গেটে ডিবাগার অ্যাটাচ করে।

প্যারামিটারগুলি

  • আপনি যে ডিবাগিং টার্গেটের সাথে অ্যাটাচ করতে চান।

  • requiredVersion

    স্ট্রিং

    প্রয়োজনীয় ডিবাগিং প্রোটোকল ভার্সন ("0.1")। শুধুমাত্র ম্যাচিং মেজর ভার্সন এবং আরও বেশি বা সমান মাইনর ভার্সনের সাথে ডিবাগি অ্যাটাচ করা যায়। প্রোটোকল ভার্সনের তালিকা এখান থেকে পাওয়া যাবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 96+

    অ্যাটাচ অপারেশন সম্পূর্ণ বা ব্যর্থ হলে সমাধান হয়ে যায়। কোনও ভ্যালু ছাড়াই প্রমিস রিজলভ হয়। If the attach fails, the promise will be rejected.

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

detach()

প্রতিশ্রুতি
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)
: Promise<void>

প্রদত্ত টার্গেট থেকে ডিবাগার আলাদা করে।

প্যারামিটারগুলি

  • ডিবাগিং টার্গেট যেখান থেকে আপনি ডিটাচ করতে চান।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    () => void

রিটার্ন

  • <void> প্রমিস

    Chrome 96+

    আলাদা করার অপারেশন সম্পূর্ণ বা ব্যর্থ হলে সমাধান হয়ে যায়। কোনও ভ্যালু ছাড়াই প্রমিস রিজলভ হয়। ডিটাচ করা না গেলে, প্রমিস বাতিল করা হবে।

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

getTargets()

প্রতিশ্রুতি
chrome.debugger.getTargets(
  callback?: function,
)
: Promise<TargetInfo[]>

উপলভ্য ডিবাগ টার্গেটের তালিকা দেখায়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (result: TargetInfo[]) => void

    • ফলাফল

      উপলভ্য ডিবাগ টার্গেটের সাথে সম্পর্কিত TargetInfo অবজেক্টের অ্যারে।

রিটার্ন

  • প্রতিশ্রুতি<TargetInfo[]>

    Chrome 96+

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

sendCommand()

প্রতিশ্রুতি
chrome.debugger.sendCommand(
  target: DebuggerSession,
  method: string,
  commandParams?: object,
  callback?: function,
)
: Promise<object | undefined>

ডিবাগিং টার্গেটে প্রদত্ত কমান্ড পাঠায়।

প্যারামিটারগুলি

  • আপনি যে ডিবাগিং টার্গেটে কমান্ড পাঠাতে চান।

  • মেথড

    স্ট্রিং

    পদ্ধতির নাম। রিমোট ডিবাগিং প্রোটোকল দ্বারা সংজ্ঞায়িত পদ্ধতিগুলির মধ্যে একটি হতে হবে।

  • commandParams

    অবজেক্ট ঐচ্ছিক

    অনুরোধের প্যারামিটার সহ JSON অবজেক্ট। এই অবজেক্টটি অবশ্যই প্রদত্ত পদ্ধতির জন্য রিমোট ডিবাগিং প্যারাম স্কিমের সাথে সামঞ্জস্যপূর্ণ হতে হবে।

  • কলব্যাক

    ফাংশন ঐচ্ছিক

    callback প্যারামিটারটি দেখতে এইরকম:

    (result?: object) => void

    • ফলাফল

      অবজেক্ট ঐচ্ছিক

      রেসপন্স সহ JSON অবজেক্ট। পদ্ধতির নামের উপর নির্ভর করে উত্তরের স্ট্রাকচার আলাদা হয় এবং রিমোট ডিবাগিং প্রোটোকলে কমান্ডের বিবরণের 'রিটার্ন' অ্যাট্রিবিউট দ্বারা এটি সংজ্ঞায়িত করা হয়।

রিটার্ন

  • <অবজেক্ট | অনির্ধারিত> প্রমিস

    Chrome 96+

    রেসপন্স বডি। মেসেজ পোস্ট করার সময় কোনও সমস্যা হলে, প্রমিস বাতিল করা হবে।

    Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।

ইভেন্ট

onDetach

chrome.debugger.onDetach.addListener(
  callback: function,
)

ট্যাবের জন্য ব্রাউজার ডিবাগিং সেশন বন্ধ করলে ফায়ার করা হয়। ট্যাব বন্ধ করা হলে অথবা অ্যাটাচ করা ট্যাবের জন্য Chrome DevTools চালু করা হলে এটি হয়।

প্যারামিটারগুলি

onEvent

chrome.debugger.onEvent.addListener(
  callback: function,
)

ডিবাগিং টার্গেট যখনই ইন্সট্রুমেন্টেশন ইভেন্ট ইস্যু করে তখনই ফায়ার করা হয়।

প্যারামিটারগুলি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (source: DebuggerSession, method: string, params?: object) => void

    • সোর্স
    • মেথড

      স্ট্রিং

    • প্যারাম

      অবজেক্ট ঐচ্ছিক