refresh date: 2026-09-25 robots: noindex
Description
L'API chrome.debugger sert de transport alternatif pour le protocole de débogage à distance de Chrome. Utilisez chrome.debugger pour l'associer à un ou plusieurs onglets afin d'instrumenter l'interaction réseau, de déboguer JavaScript, de modifier le DOM et le CSS, et plus encore. Utilisez la propriété Debuggee tabId pour cibler les onglets avec sendCommand et acheminer les événements par tabId à partir des rappels onEvent.
Autorisations
debuggerRemarque concernant la sécurité
Pour des raisons de sécurité, l'API chrome.debugger ne permet pas d'accéder à tous les domaines du protocole Chrome DevTools. Les domaines disponibles sont les suivants : 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 et WebAuthn.
Fichier manifeste
Pour utiliser cette API, vous devez déclarer l'autorisation "debugger" dans le fichier manifeste de votre extension.
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
Exemples
Pour essayer cette API, installez l'exemple d'API de débogueur à partir du dépôt chrome-extension-samples.
Types
Debuggee
Identifiant du débogué. Vous devez spécifier tabId, extensionId ou targetId
Propriétés
-
extensionId
chaîne facultatif
ID de l'extension que vous souhaitez déboguer. L'association à une page d'arrière-plan d'extension n'est possible que lorsque le commutateur de ligne de commande
--silent-debugger-extension-apiest utilisé. -
tabId
number facultatif
ID de l'onglet que vous souhaitez déboguer.
-
targetId
chaîne facultatif
ID opaque de la cible de débogage.
DebuggerSession
Identifiant de session du débogueur. Vous devez spécifier tabId, extensionId ou targetId. Vous pouvez également fournir un ID de session facultatif. Si sessionId est spécifié pour les arguments envoyés depuis onEvent, cela signifie que l'événement provient d'une session de protocole enfant au sein de la session de débogage racine. Si sessionId est spécifié lorsqu'il est transmis à sendCommand, il cible une session de protocole enfant dans la session racine de l'application déboguée.
Propriétés
-
extensionId
chaîne facultatif
ID de l'extension que vous souhaitez déboguer. L'association à une page d'arrière-plan d'extension n'est possible que lorsque le commutateur de ligne de commande
--silent-debugger-extension-apiest utilisé. -
sessionId
chaîne facultatif
ID opaque de la session du protocole Chrome DevTools. Identifie une session enfant dans la session racine identifiée par tabId, extensionId ou targetId.
-
tabId
number facultatif
ID de l'onglet que vous souhaitez déboguer.
-
targetId
chaîne facultatif
ID opaque de la cible de débogage.
DetachReason
Motif de la fin de la connexion.
Énumération
"target_closed"
"canceled_by_user"
TargetInfo
Informations sur la cible de débogage
Propriétés
-
associé
booléen
"True" si le débogueur est déjà associé.
-
extensionId
chaîne facultatif
ID de l'extension, défini si type = "background_page".
-
faviconUrl
chaîne facultatif
URL du favicon cible.
-
id
chaîne
ID de la cible.
-
tabId
number facultatif
ID de l'onglet, défini si type == 'page'.
-
titre
chaîne
Titre de la page cible.
-
type
Type de cible.
-
url
chaîne
URL cible.
TargetInfoType
Type de cible.
Énumération
"page"
"background_page"
"worker"
"other"
Méthodes
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
Associe le débogueur à la cible donnée.
Paramètres
-
cible
Cible de débogage à laquelle vous souhaitez vous associer.
-
requiredVersion
chaîne
Version du protocole de débogage requise ("0.1"). Vous ne pouvez vous associer qu'au programme de débogage avec une version majeure correspondante et une version mineure supérieure ou égale. La liste des versions du protocole est disponible sur cette page.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureSe résout une fois que l'opération d'association a réussi ou échoué. La promesse est résolue sans valeur. Si l'association échoue, la promesse sera rejetée.
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
Dissocie le débogueur de la cible donnée.
Paramètres
-
cible
Cible de débogage dont vous souhaitez vous dissocier.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
Renvoie
-
Promise<void>
Chrome 96 ou version ultérieureSe résout une fois que l'opération de dissociation a réussi ou échoué. La promesse est résolue sans valeur. Si l'opération échoue, la promesse est rejetée.
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
Renvoie la liste des cibles de débogage disponibles.
Paramètres
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(result: TargetInfo[]) => void
-
résultat
Tableau d'objets TargetInfo correspondant aux cibles de débogage disponibles.
-
Renvoie
-
Promise<TargetInfo[]>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
Envoie la commande donnée à la cible de débogage.
Paramètres
-
cible
Cible de débogage à laquelle vous souhaitez envoyer la commande.
-
method
chaîne
Nom de la méthode. Il doit s'agir de l'une des méthodes définies par le protocole de débogage à distance.
-
commandParams
objet facultatif
Objet JSON avec les paramètres de la requête. Cet objet doit être conforme au schéma des paramètres de débogage à distance pour la méthode donnée.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(result?: object) => void
-
résultat
objet facultatif
Objet JSON avec la réponse. La structure de la réponse varie en fonction du nom de la méthode et est définie par l'attribut "returns" de la description de la commande dans le protocole de débogage à distance.
-
Renvoie
-
Promise<object | undefined>
Chrome 96 ou version ultérieureCorps de la réponse. Si une erreur se produit lors de la publication du message, la promesse sera rejetée.
Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
Déclenché lorsque le navigateur met fin à la session de débogage de l'onglet. Cela se produit lorsque l'onglet est fermé ou que les Outils pour les développeurs Chrome sont appelés pour l'onglet associé.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(source: Debuggee, reason: DetachReason) => void
-
source
-
reason
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
Se déclenche chaque fois que la cible de débogage émet un événement d'instrumentation.
Paramètres
-
callback
fonction
Le paramètre
callbackse présente comme suit :(source: DebuggerSession, method: string, params?: object) => void
-
source
-
method
chaîne
-
params
objet facultatif
-