chrome.debugger

refresh date: 2026-09-25 robots: noindex

Beschrijving

De chrome.debugger API dient als alternatief transport voor het protocol voor externe foutopsporing van Chrome. Gebruik chrome.debugger om aan een of meer tabbladen te koppelen om onder andere netwerkinteractie te instrumenteren, JavaScript te debuggen en de DOM en CSS te muteren. Gebruik de property Debuggee tabId om tabbladen te targeten met sendCommand en gebeurtenissen te routeren op tabId vanuit onEvent-callbacks.

Rechten

debugger

Beveiligingsopmerking

Om veiligheidsredenen biedt de chrome.debugger-API geen toegang tot alle domeinen van het Chrome DevTools-protocol. De beschikbare domeinen zijn: Accessibility, Audits, CacheStorage, Console, CSS, Database, Debugger, DOM, DOMDebugger, DOMSnapshot, Emulation, Fetch, IO, Input, Inspector, Log, Network, Overlay, Page, Performance, Runtime, Storage, Target, Tracing, WebAudio en WebAuthn.

Manifest

Je moet het recht "debugger" definiëren in het manifest van je extensie om deze API te gebruiken.

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

Voorbeelden

Als je deze API wilt proberen, installeer je het voorbeeld van de debugger-API uit de repository chrome-extension-samples.

Typen

Debuggee

ID van debuggee. tabId, extensionId of targetId moet worden ingevoerd

Eigenschappen

  • extensionId

    tekenreeks optioneel

    De ID van de extensie die je wilt debuggen. Koppelen aan een achtergrondpagina van een extensie is alleen mogelijk als de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • tabId

    number optioneel

    De ID van het tabblad dat je wilt debuggen.

  • targetId

    tekenreeks optioneel

    De ondoorzichtige ID van het foutopsporingsdoel.

DebuggerSession

Chrome 125+

ID van de foutopsporingssessie. Er moet een tabId, extensionId of targetId worden ingevoerd. Daarnaast kan een optionele sessionId worden verstrekt. Als sessionId is ingevoerd voor argumenten die worden gestuurd vanuit onEvent, betekent dit dat de gebeurtenis afkomstig is van een onderliggende protocolsessie binnen de root-debuggee-sessie. Als sessionId wordt gespecificeerd wanneer deze wordt doorgegeven aan sendCommand, is deze gericht op een onderliggende protocolsessie binnen de root-debuggee-sessie.

Eigenschappen

  • extensionId

    tekenreeks optioneel

    De ID van de extensie die je wilt debuggen. Koppelen aan een achtergrondpagina van een extensie is alleen mogelijk als de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • sessionId

    tekenreeks optioneel

    De ondoorzichtige ID van de sessie van het Chrome DevTools-protocol. Identificeert een onderliggende sessie binnen de hoofdsessie die wordt geïdentificeerd door tabId, extensionId of targetId.

  • tabId

    number optioneel

    De ID van het tabblad dat je wilt debuggen.

  • targetId

    tekenreeks optioneel

    De ondoorzichtige ID van het foutopsporingsdoel.

DetachReason

Chrome 44+

Reden voor beëindiging van de verbinding.

Enum

"target_closed"

"canceled_by_user"

TargetInfo

Informatie over foutopsporingsdoel

Eigenschappen

  • gekoppeld

    booleaans

    True als de debugger al is gekoppeld.

  • extensionId

    tekenreeks optioneel

    De extensie-ID, gedefinieerd als type = 'background_page'.

  • faviconUrl

    tekenreeks optioneel

    Doelfavicon-URL.

  • id

    tekenreeks

    Doel-ID.

  • tabId

    number optioneel

    De tabblad-ID, gedefinieerd als type == 'page'.

  • titel

    tekenreeks

    Titel van doelpagina.

  • Doeltype.

  • url

    tekenreeks

    Doel-URL.

TargetInfoType

Chrome 44+

Doeltype.

Enum

"page"

"background_page"

"worker"

"other"

Methoden

attach()

Promise
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)
: Promise<void>

Koppelt de debugger aan het opgegeven doel.

Parameters

  • target

    Het foutopsporingsdoel waaraan je wilt koppelen.

  • requiredVersion

    tekenreeks

    Vereiste versie van foutopsporingsprotocol (0.1). Je kunt alleen koppelen aan de debuggee met een overeenkomende hoofdversie en een grotere of gelijke onderversie. Hier vindt u een lijst met de protocolversies.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 96+

    Wordt opgelost zodra de koppelingsbewerking is geslaagd of mislukt. De belofte wordt omgezet zonder waarde. Als de koppeling mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

detach()

Promise
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)
: Promise<void>

Maakt de debugger los van het opgegeven doel.

Parameters

  • target

    Het foutopsporingsdoel waarvan je de koppeling wilt verwijderen.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 96+

    Wordt opgelost zodra de ontkoppelingsbewerking is geslaagd of mislukt. De belofte wordt omgezet zonder waarde. Als het loskoppelen mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getTargets()

Promise
chrome.debugger.getTargets(
  callback?: function,
)
: Promise<TargetInfo[]>

Retourneert de lijst met beschikbare foutopsporingsdoelen.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (result: TargetInfo[]) => void

    • resultaat

      Matrix van TargetInfo-objecten die overeenkomen met de beschikbare foutopsporingsdoelen.

Retourzendingen

  • Promise<TargetInfo[]>

    Chrome 96+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

sendCommand()

Promise
chrome.debugger.sendCommand(
  target: DebuggerSession,
  method: string,
  commandParams?: object,
  callback?: function,
)
: Promise<object | undefined>

Stuurt de gegeven opdracht naar het foutopsporingsdoel.

Parameters

  • Het foutopsporingsdoel waarnaar je de opdracht wilt sturen.

  • method

    tekenreeks

    Methodenaam. Moet een van de methoden zijn die zijn gedefinieerd door het protocol voor foutopsporing op afstand.

  • commandParams

    object optioneel

    Json-object met verzoekparameters. Dit object moet voldoen aan het schema voor parameters voor foutopsporing op afstand voor de gegeven methode.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (result?: object) => void

    • resultaat

      object optioneel

      JSON-object met de reactie. De structuur van de reactie verschilt afhankelijk van de naam van de methode en wordt gedefinieerd door het kenmerk 'returns' van de opdrachtbeschrijving in het protocol voor foutopsporing op afstand.

Retourzendingen

  • Promise<object | undefined>

    Chrome 96+

    Tekstgedeelte van reactie. Als er een fout optreedt bij het posten van het bericht, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

Evenementen

onDetach

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

Wordt geactiveerd als de browser de foutopsporingssessie voor het tabblad beëindigt. Dit gebeurt als het tabblad wordt gesloten of als Chrome DevTools wordt aangeroepen voor het bijgevoegde tabblad.

Parameters

onEvent

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

Wordt geactiveerd wanneer het foutopsporingsdoel een instrumentatiegebeurtenis uitvoert.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

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