Deskripsi
chrome.debugger API berfungsi sebagai transportasi alternatif untuk protokol pen-debugan jarak jauh Chrome. Gunakan chrome.debugger untuk melampirkan ke satu atau beberapa tab untuk mengukur interaksi jaringan, men-debug JavaScript, memutasikan DOM dan CSS, dan banyak lagi. Gunakan properti Debuggee tabId untuk menargetkan tab dengan sendCommand dan mengarahkan peristiwa menurut tabId dari callback onEvent.
Izin
debuggerCatatan Keamanan
Untuk alasan keamanan, chrome.debugger API tidak memberikan akses ke semua Domain Protokol Chrome DevTools. Domain yang tersedia adalah: Aksesibilitas,
Audit, CacheStorage, Console,
CSS, Database, Debugger, DOM,
DOMDebugger, DOMSnapshot,
Emulasi, Fetch, IO, Input,
Inspector, Log, Network, Overlay,
Page, Performance, Profiler,
Runtime, Storage, Target, Tracing,
WebAudio, dan WebAuthn.
Manifes
Anda harus mendeklarasikan izin "debugger"` di manifes ekstensi untuk menggunakan API ini.
{
  "name": "My extension",
  ...
  "permissions": [
    "debugger",
  ],
  ...
}
Contoh
Untuk mencoba API ini, instal contoh API debugger dari repositori chrome-extension-samples.
Jenis
Debuggee
ID yang di-debug. tabId, extensionId, atau targetId harus ditentukan
Properti
- 
    extensionIdstring opsional ID ekstensi yang ingin Anda debug. Proses melampirkan ke halaman latar belakang ekstensi hanya dapat dilakukan jika tombol command line --silent-debugger-extension-apidigunakan.
- 
    tabIdnomor opsional ID tab yang ingin Anda debug. 
- 
    targetIdstring opsional ID buram target debug. 
DebuggerSession
ID sesi debugger. Salah satu dari tabId, extensionId, atau targetId harus ditentukan. Selain itu, sessionId opsional dapat diberikan. Jika sessionId ditentukan untuk argumen yang dikirim dari onEvent, berarti peristiwa berasal dari sesi protokol turunan dalam sesi debuggee root. Jika sessionId ditentukan saat diteruskan ke sendCommand, ID tersebut akan menargetkan sesi protokol turunan dalam sesi debuggee root.
Properti
- 
    extensionIdstring opsional ID ekstensi yang ingin Anda debug. Proses melampirkan ke halaman latar belakang ekstensi hanya dapat dilakukan jika tombol command line --silent-debugger-extension-apidigunakan.
- 
    sessionIdstring opsional ID buram sesi Chrome DevTools Protocol. Mengidentifikasi sesi turunan dalam sesi root yang diidentifikasi oleh tabId, extensionId, atau targetId. 
- 
    tabIdnomor opsional ID tab yang ingin Anda debug. 
- 
    targetIdstring opsional ID buram target debug. 
DetachReason
Alasan penghentian koneksi.
Enum
"target_closed" 
 
"canceled_by_user" 
 
TargetInfo
Informasi target debug
Properti
- 
    terpasangboolean Benar (True) jika debugger sudah terpasang. 
- 
    extensionIdstring opsional ID ekstensi, ditentukan jika type = 'background_page'. 
- 
    faviconUrlstring opsional URL favicon target. 
- 
    idstring ID target. 
- 
    tabIdnomor opsional ID tab, ditentukan jika type == 'page'. 
- 
    judulstring Judul halaman target. 
- 
    jenisJenis target. 
- 
    urlstring URL target. 
TargetInfoType
Jenis target.
Enum
"halaman" 
 
"background_page" 
 
"worker" 
 
"lainnya" 
 
Metode
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
Melampirkan debugger ke target yang diberikan.
Parameter
- 
    targetTarget pen-debugan yang ingin Anda lampirkan. 
- 
    requiredVersionstring Versi protokol debug yang diperlukan ("0.1"). Debugger hanya dapat dilampirkan ke target debug dengan versi utama yang cocok dan versi minor yang lebih besar atau sama. Daftar versi protokol dapat diperoleh di sini. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
Melepaskan debugger dari target yang diberikan.
Parameter
- 
    targetTarget proses debug yang ingin Anda lepaskan. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
Menampilkan daftar target debug yang tersedia.
Parameter
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(result: TargetInfo[]) => void - 
    hasilArray objek TargetInfo yang sesuai dengan target debug yang tersedia. 
 
- 
    
Hasil
- 
            Promise<TargetInfo[]> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
Mengirim perintah tertentu ke target proses debug.
Parameter
- 
    targetTarget pen-debugan yang ingin Anda kirimi perintah. 
- 
    methodstring Nama metode. Harus berupa salah satu metode yang ditentukan oleh protokol pen-debug-an jarak jauh. 
- 
    commandParamsobjek opsional Objek JSON dengan parameter permintaan. Objek ini harus sesuai dengan skema parameter debug jarak jauh untuk metode tertentu. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(result?: object) => void - 
    hasilobjek opsional Objek JSON dengan respons. Struktur respons bervariasi bergantung pada nama metode dan ditentukan oleh atribut 'returns' dari deskripsi perintah dalam protokol pen-debug-an jarak jauh. 
 
- 
    
Hasil
- 
            Promise<object | undefined> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
Acara
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
Diaktifkan saat browser menghentikan sesi proses debug untuk tab. Hal ini terjadi saat tab ditutup atau Chrome DevTools dipanggil untuk tab yang terlampir.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(source: Debuggee, reason: DetachReason) => void - 
    source
- 
    alasan
 
- 
    
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
Diaktifkan setiap kali men-debug peristiwa instrumentasi masalah target.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(source: DebuggerSession, method: string, params?: object) => void - 
    source
- 
    methodstring 
- 
    paramsobjek opsional 
 
-