chrome.experimental.debugger
For information on how to use experimental APIs, see the chrome.experimental.* APIs page.
Notes
Debugger API serves as an alternate transport for Chrome's
remote debugging protocol. Use debugger to attach to a tab, instrument its
network interaction, debug JavaScript, mutate page's DOM and CSS, etc.
As of today, attaching to the tab by means of the debugger API
and using embedded Chrome DevTools with that tab are mutually exclusive.
If user invokes Chrome DevTools while extension is attached to the tab,
debugging session is terminated. Extension can re-establish it later.
Manifest
You must declare the "debugger" permission in your extension's manifest
to use this API. The debugger API is currently experimental, so you must
declare the "experimental" permission to use it as well.
{
"name": "My extension",
...
"permissions": [
"debugger",
"experimental"
],
...
}
Examples
You can find samples of this API in
Samples.
API reference: chrome.experimental.debugger
Properties
getLastError
chrome.extensionlastError
Methods
attach
void
chrome.experimental.debugger.attach(, integer
tabId, function
callback)
Undocumented.
Attaches debugger to the tab with given id.
Parameters
-
tabId
(
optional
enumerated
Type
array of
integer
)
-
Undocumented.
- The id of the tab to which you want to attach.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
callback
(
optional
enumerated
Type
array of
function
)
-
Undocumented.
- If an error occurs while attaching to the tab, the callback will be called with no arguments and chrome.extension.lastError will be set to the error message.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
Returns
Callback function
The callback parameter should specify a function
that looks like this:
If you specify the callback parameter, it should
specify a function that looks like this:
function() {...};
This function was added in version .
If you require this function, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
detach
void
chrome.experimental.debugger.detach(, integer
tabId, function
callback)
Undocumented.
Detaches debugger from a tab with given id.
Parameters
-
tabId
(
optional
enumerated
Type
array of
integer
)
-
Undocumented.
- The id of the tab from which you want to detach.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
callback
(
optional
enumerated
Type
array of
function
)
-
Undocumented.
- If an error occurs while detaching from the tab, the callback will be called with no arguments and chrome.extension.lastError will be set to the error message.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
Returns
Callback function
The callback parameter should specify a function
that looks like this:
If you specify the callback parameter, it should
specify a function that looks like this:
function() {...};
This function was added in version .
If you require this function, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
sendRequest
void
chrome.experimental.debugger.sendRequest(, integer
tabId, string
method, object
params, function
callback)
Undocumented.
Sends given request to the debugger.
Parameters
-
tabId
(
optional
enumerated
Type
array of
integer
)
-
Undocumented.
- The id of the tab to which you want to send debugging request.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
method
(
optional
enumerated
Type
array of
string
)
-
Undocumented.
- Method name. Should be one of the methods defined by the remote debugging protocol.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
params
(
optional
enumerated
Type
array of
object
)
-
Undocumented.
- JSON object with request parameters. This object must conform to the remote debugging params scheme for given method.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
callback
(
optional
enumerated
Type
array of
function
)
-
Undocumented.
- Response body. If an error occurs while posting the message, the callback will be called with no arguments and chrome.extension.lastError will be set to the error message.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
Returns
Callback function
The callback parameter should specify a function
that looks like this:
If you specify the callback parameter, it should
specify a function that looks like this:
function(object result) {...};
-
result
(
optional
enumerated
Type
array of
object
)
-
Undocumented.
- JSON object with the response. Structure of the response varies depending on the method and is defined by the remote debugging protocol.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
This function was added in version .
If you require this function, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
Events
onDetach
chrome.experimental.debugger.onDetach.addListener(function(integer tabId) {...});
Undocumented.
Fired when browser terminates debugging session for the tab. This happens when either the tab is being closed or Chrome DevTools is being invoked for the attached tab.
Listener parameters
-
tabId
(
optional
enumerated
Type
array of
integer
)
-
Undocumented.
- The id of the tab that was detached.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
Extra parameters to addListener
Listener returns
onEvent
chrome.experimental.debugger.onEvent.addListener(function(integer tabId, string method, object params) {...});
Undocumented.
Fired whenever debugger issues instrumentation event.
Listener parameters
-
tabId
(
optional
enumerated
Type
array of
integer
)
-
Undocumented.
- The id of the tab that generated debug event.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
method
(
optional
enumerated
Type
array of
string
)
-
Undocumented.
- Method name. Should be one of the notifications defined by the remote debugging protocol.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
-
params
(
optional
enumerated
Type
array of
object
)
-
Undocumented.
- JSON object with the response. Structure of the response varies depending on the method and is defined by the remote debugging protocol.
-
This parameter was added in version
.
You must omit this parameter in earlier versions,
and you may omit it in any version. If you require this
parameter, the manifest key
minimum_chrome_version
can ensure that your extension won't be run in an earlier browser version.
-
-
-
-
Extra parameters to addListener
Listener returns