chrome.debugger

Beschrijving

De chrome.debugger API dient als alternatief transportmechanisme voor het externe debugprotocol van Chrome. Gebruik chrome.debugger om verbinding te maken met een of meer tabbladen om netwerkinteractie te instrumenteren, JavaScript te debuggen, de DOM en CSS te wijzigen en meer. Gebruik de eigenschap tabId Debuggee om tabbladen te targeten met sendCommand en gebeurtenissen te routeren op basis van tabId vanuit onEvent -callbacks.

Toestemmingen

debugger

Beveiligingsnota

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

Manifest

Om deze API te kunnen gebruiken, moet u de machtiging "debugger" in het manifest van uw extensie declareren.

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

Voorbeelden

Om deze API uit te proberen, installeer je het debugger-API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

Debuggee

Identificatiecode van de te debuggen applicatie. TabId, extensionId of targetId moet worden opgegeven.

Eigenschappen

  • extensie-ID

    string optioneel

    De ID van de extensie die u wilt debuggen. Het koppelen aan een achtergrondpagina van een extensie is alleen mogelijk wanneer de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • tabId

    nummer optioneel

    De ID van het tabblad dat u wilt debuggen.

  • doel-ID

    string optioneel

    De ondoorzichtige ID van het debugdoel.

DebuggerSession

Chrome 125+

Identificatiecode van de debugsessie. Een van de volgende waarden moet worden opgegeven: tabId, extensionId of targetId. Daarnaast kan optioneel een sessionId worden opgegeven. Als sessionId wordt opgegeven voor argumenten die worden verzonden vanuit onEvent , betekent dit dat de gebeurtenis afkomstig is van een subprotocolsessie binnen de hoofddebugsessie. Als sessionId wordt opgegeven bij het doorgeven aan sendCommand , is de gebeurtenis gericht op een subprotocolsessie binnen de hoofddebugsessie.

Eigenschappen

  • extensie-ID

    string optioneel

    De ID van de extensie die u wilt debuggen. Het koppelen aan een achtergrondpagina van een extensie is alleen mogelijk wanneer de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • sessie-ID

    string optioneel

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

  • tabId

    nummer optioneel

    De ID van het tabblad dat u wilt debuggen.

  • doel-ID

    string optioneel

    De ondoorzichtige ID van het debugdoel.

DetachReason

Chrome 44+

Reden voor het verbreken van de verbinding.

Enum

"doel_gesloten"

"geannuleerd_door_gebruiker"

TargetInfo

Foutopsporingsdoelinformatie

Eigenschappen

  • bijgevoegd

    booleaans

    Retourneert true als de debugger al is gekoppeld.

  • extensie-ID

    string optioneel

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

  • faviconUrl

    string optioneel

    Doel-URL voor het favicon.

  • id

    snaar

    Doel-ID.

  • tabId

    nummer optioneel

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

  • titel

    snaar

    Doelpaginatitel.

  • Doeltype.

  • URL

    snaar

    Doel-URL.

TargetInfoType

Chrome 44+

Doeltype.

Enum

"pagina"

"achtergrondpagina"

"werknemer"

"ander"

Methoden

attach()

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

Koppelt de debugger aan het opgegeven doel.

Parameters

  • doel

    Het debugdoel waaraan u zich wilt koppelen.

  • vereiste versie

    snaar

    Vereiste debugprotocolversie ("0.1"). Men kan alleen verbinding maken met het te debuggen systeem met een overeenkomende hoofdversie en een subversie die groter of gelijk is aan die versie. Een lijst met protocolversies is hier te vinden.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • Promise<void>

    Chrome 96+

    De promise wordt opgelost zodra de koppelingsbewerking slaagt of mislukt. De promise wordt opgelost zonder waarde. Als de koppeling mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

detach()

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

Ontkoppelt de debugger van het opgegeven doel.

Parameters

  • doel

    Het debugdoel waarvan u zich wilt loskoppelen.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • Promise<void>

    Chrome 96+

    De promise wordt opgelost zodra de ontkoppelingsbewerking slaagt of mislukt. De promise wordt opgelost zonder waarde. Als de ontkoppeling mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

getTargets()

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

Geeft de lijst met beschikbare debugdoelen weer.

Parameters

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: TargetInfo[]) => void

    • resultaat

      Een array van TargetInfo-objecten die overeenkomen met de beschikbare debugdoelen.

Retourneert

  • Promise< TargetInfo []>

    Chrome 96+

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

sendCommand()

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

Verstuurt het opgegeven commando naar het debugdoel.

Parameters

  • Het debugdoel waarnaar u de opdracht wilt verzenden.

  • methode

    snaar

    Methodenaam. Dit moet een van de methoden zijn die gedefinieerd zijn door het protocol voor debuggen op afstand .

  • commandoParams

    object optioneel

    JSON-object met verzoekparameters. Dit object moet voldoen aan het parameterschema voor debuggen op afstand voor de betreffende methode.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result?: object) => void

    • resultaat

      object optioneel

      Een JSON-object met het antwoord. De structuur van het antwoord varieert afhankelijk van de methodenaam en wordt gedefinieerd door het 'returns'-attribuut van de opdrachtbeschrijving in het protocol voor debuggen op afstand.

Retourneert

  • Promise<object | undefined>

    Chrome 96+

    De reactiebody. Als er een fout optreedt tijdens het verzenden van het bericht, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

Evenementen

onDetach

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

Deze gebeurtenis wordt geactiveerd wanneer de browser de debugsessie voor het tabblad beëindigt. Dit gebeurt wanneer het tabblad wordt gesloten of wanneer Chrome DevTools wordt geopend voor het gekoppelde tabblad.

Parameters

onEvent

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

Wordt geactiveerd wanneer het debugdoel een instrumentatiegebeurtenis genereert.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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

,

Beschrijving

De chrome.debugger API dient als alternatief transportmechanisme voor het externe debugprotocol van Chrome. Gebruik chrome.debugger om verbinding te maken met een of meer tabbladen om netwerkinteractie te instrumenteren, JavaScript te debuggen, de DOM en CSS te wijzigen en meer. Gebruik de eigenschap tabId Debuggee om tabbladen te targeten met sendCommand en gebeurtenissen te routeren op basis van tabId vanuit onEvent -callbacks.

Toestemmingen

debugger

Beveiligingsnota

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

Manifest

Om deze API te kunnen gebruiken, moet u de machtiging "debugger" in het manifest van uw extensie declareren.

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

Voorbeelden

Om deze API uit te proberen, installeer je het debugger-API-voorbeeld uit de chrome-extension-samples- repository.

Soorten

Debuggee

Identificatiecode van de te debuggen applicatie. TabId, extensionId of targetId moet worden opgegeven.

Eigenschappen

  • extensie-ID

    string optioneel

    De ID van de extensie die u wilt debuggen. Het koppelen aan een achtergrondpagina van een extensie is alleen mogelijk wanneer de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • tabId

    nummer optioneel

    De ID van het tabblad dat u wilt debuggen.

  • doel-ID

    string optioneel

    De ondoorzichtige ID van het debugdoel.

DebuggerSession

Chrome 125+

Identificatiecode van de debugsessie. Een van de volgende waarden moet worden opgegeven: tabId, extensionId of targetId. Daarnaast kan optioneel een sessionId worden opgegeven. Als sessionId wordt opgegeven voor argumenten die worden verzonden vanuit onEvent , betekent dit dat de gebeurtenis afkomstig is van een subprotocolsessie binnen de hoofddebugsessie. Als sessionId wordt opgegeven bij het doorgeven aan sendCommand , is de gebeurtenis gericht op een subprotocolsessie binnen de hoofddebugsessie.

Eigenschappen

  • extensie-ID

    string optioneel

    De ID van de extensie die u wilt debuggen. Het koppelen aan een achtergrondpagina van een extensie is alleen mogelijk wanneer de opdrachtregeloptie --silent-debugger-extension-api wordt gebruikt.

  • sessie-ID

    string optioneel

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

  • tabId

    nummer optioneel

    De ID van het tabblad dat u wilt debuggen.

  • doel-ID

    string optioneel

    De ondoorzichtige ID van het debugdoel.

DetachReason

Chrome 44+

Reden voor het verbreken van de verbinding.

Enum

"doel_gesloten"

"geannuleerd_door_gebruiker"

TargetInfo

Foutopsporingsdoelinformatie

Eigenschappen

  • bijgevoegd

    booleaans

    Retourneert true als de debugger al is gekoppeld.

  • extensie-ID

    string optioneel

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

  • faviconUrl

    string optioneel

    Doel-URL voor het favicon.

  • id

    snaar

    Doel-ID.

  • tabId

    nummer optioneel

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

  • titel

    snaar

    Doelpaginatitel.

  • Doeltype.

  • URL

    snaar

    Doel-URL.

TargetInfoType

Chrome 44+

Doeltype.

Enum

"pagina"

"achtergrondpagina"

"werknemer"

"ander"

Methoden

attach()

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

Koppelt de debugger aan het opgegeven doel.

Parameters

  • doel

    Het debugdoel waaraan u zich wilt koppelen.

  • vereiste versie

    snaar

    Vereiste debugprotocolversie ("0.1"). Men kan alleen verbinding maken met het te debuggen systeem met een overeenkomende hoofdversie en een subversie die groter of gelijk is aan die versie. Een lijst met protocolversies is hier te vinden.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • Promise<void>

    Chrome 96+

    De promise wordt opgelost zodra de koppelingsbewerking slaagt of mislukt. De promise wordt opgelost zonder waarde. Als de koppeling mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

detach()

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

Ontkoppelt de debugger van het opgegeven doel.

Parameters

  • doel

    Het debugdoel waarvan u zich wilt loskoppelen.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retourneert

  • Promise<void>

    Chrome 96+

    De promise wordt opgelost zodra de ontkoppelingsbewerking slaagt of mislukt. De promise wordt opgelost zonder waarde. Als de ontkoppeling mislukt, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

getTargets()

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

Geeft de lijst met beschikbare debugdoelen weer.

Parameters

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: TargetInfo[]) => void

    • resultaat

      Een array van TargetInfo-objecten die overeenkomen met de beschikbare debugdoelen.

Retourneert

  • Promise< TargetInfo []>

    Chrome 96+

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

sendCommand()

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

Verstuurt het opgegeven commando naar het debugdoel.

Parameters

  • Het debugdoel waarnaar u de opdracht wilt verzenden.

  • methode

    snaar

    Methodenaam. Dit moet een van de methoden zijn die gedefinieerd zijn door het protocol voor debuggen op afstand .

  • commandoParams

    object optioneel

    JSON-object met verzoekparameters. Dit object moet voldoen aan het parameterschema voor debuggen op afstand voor de betreffende methode.

  • terugbelverzoek

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result?: object) => void

    • resultaat

      object optioneel

      Een JSON-object met het antwoord. De structuur van het antwoord varieert afhankelijk van de methodenaam en wordt gedefinieerd door het 'returns'-attribuut van de opdrachtbeschrijving in het protocol voor debuggen op afstand.

Retourneert

  • Promise<object | undefined>

    Chrome 96+

    De reactiebody. Als er een fout optreedt tijdens het verzenden van het bericht, wordt de promise afgewezen.

    Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.

Evenementen

onDetach

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

Deze gebeurtenis wordt geactiveerd wanneer de browser de debugsessie voor het tabblad beëindigt. Dit gebeurt wanneer het tabblad wordt gesloten of wanneer Chrome DevTools wordt geopend voor het gekoppelde tabblad.

Parameters

onEvent

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

Wordt geactiveerd wanneer het debugdoel een instrumentatiegebeurtenis genereert.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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