Açıklama
chrome.debugger
API, Chrome'un uzaktan hata ayıklama protokolü için alternatif bir aktarım görevi görür. Ağ etkileşimini ölçmek, JavaScript'te hata ayıklamak, DOM ve CSS'yi değiştirmek ve daha fazlası için chrome.debugger
simgesini kullanarak bir veya daha fazla sekmeye bağlanın. Debuggee
özelliğini kullanarak sendCommand
ile sekmeleri hedefleyin ve onEvent
geri çağırmalarından gelen etkinlikleri tabId
ile yönlendirin.tabId
İzinler
debugger
Güvenlik Notu
Güvenlik nedeniyle, chrome.debugger
API'si tüm Chrome Geliştirici Araçları Protokol Alanlarına erişim sağlamaz. Kullanılabilir alanlar: 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 ve WebAuthn
Manifest
Bu API'yi kullanmak için uzantınızın manifest dosyasında "debugger"
iznini beyan etmeniz gerekir.
{
"name": "My extension",
...
"permissions": [
"debugger",
],
...
}
Örnekler
Bu API'yi denemek için chrome-extension-samples deposundan debugger API örneğini yükleyin.
Türler
Debuggee
Hata ayıklanan uygulama tanımlayıcısı. tabId, extensionId veya targetId belirtilmelidir
Özellikler
-
extensionId
dize isteğe bağlı
Hata ayıklamak istediğiniz uzantının kimliği. Bir uzantı arka plan sayfasına ekleme yalnızca
--silent-debugger-extension-api
komut satırı anahtarı kullanıldığında mümkündür. -
tabId
number isteğe bağlı
Hata ayıklamak istediğiniz sekmenin kimliği.
-
targetId
dize isteğe bağlı
Hata ayıklama hedefinin opak kimliği.
DebuggerSession
Hata ayıklayıcı oturumu tanımlayıcısı. tabId, extensionId veya targetId özelliklerinden biri belirtilmelidir. Ayrıca, isteğe bağlı bir sessionId de sağlanabilir. onEvent
öğesinden gönderilen bağımsız değişkenler için sessionId belirtilmişse etkinlik, kök hata ayıklanan oturum içindeki bir alt protokol oturumundan geliyor demektir. sendCommand
'ye iletilirken sessionId belirtilirse kök hata ayıklanan oturumdaki bir alt protokol oturumunu hedefler.
Özellikler
-
extensionId
dize isteğe bağlı
Hata ayıklamak istediğiniz uzantının kimliği. Bir uzantı arka plan sayfasına ekleme yalnızca
--silent-debugger-extension-api
komut satırı anahtarı kullanıldığında mümkündür. -
sessionId
dize isteğe bağlı
Chrome Geliştirici Araçları Protokolü oturumunun opak kimliği. tabId, extensionId veya targetId ile tanımlanan kök oturumdaki bir alt oturumu tanımlar.
-
tabId
number isteğe bağlı
Hata ayıklamak istediğiniz sekmenin kimliği.
-
targetId
dize isteğe bağlı
Hata ayıklama hedefinin opak kimliği.
DetachReason
Bağlantı sonlandırma nedeni.
Enum
"target_closed"
"canceled_by_user"
TargetInfo
Hata ayıklama hedef bilgileri
Özellikler
-
ekli
boolean
Hata ayıklayıcı zaten eklenmişse doğru değerini döndürür.
-
extensionId
dize isteğe bağlı
type = "background_page" ise tanımlanan uzantı kimliği.
-
faviconUrl
dize isteğe bağlı
Hedef site simgesi URL'si.
-
id
dize
Hedef kimliği.
-
tabId
number isteğe bağlı
Tür == "page" ise tanımlanan sekme kimliği.
-
title
dize
Hedef sayfa başlığı.
-
tür
Hedef türü.
-
url
dize
Hedef URL.
TargetInfoType
Hedef türü.
Enum
"page"
"background_page"
"worker"
"other"
Yöntemler
attach()
chrome.debugger.attach(
target: Debuggee,
requiredVersion: string,
callback?: function,
): Promise<void>
Hata ayıklayıcıyı belirtilen hedefe ekler.
Parametreler
-
hedef
Hata ayıklanan (Debuggee)
Eklemek istediğiniz hata ayıklama hedefi.
-
requiredVersion
dize
Gerekli hata ayıklama protokolü sürümü ("0.1"). Yalnızca eşleşen ana sürüme ve daha büyük veya eşit küçük sürüme sahip bir hata ayıklama işlemine eklenebilir. Protokol sürümlerinin listesine buradan ulaşabilirsiniz.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
detach()
chrome.debugger.detach(
target: Debuggee,
callback?: function,
): Promise<void>
Hata ayıklayıcıyı belirtilen hedeften ayırır.
Parametreler
-
hedef
Hata ayıklanan (Debuggee)
Ayrılmak istediğiniz hata ayıklama hedefi.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 96 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
getTargets()
chrome.debugger.getTargets(
callback?: function,
): Promise<TargetInfo[]>
Kullanılabilir hata ayıklama hedeflerinin listesini döndürür.
Parametreler
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(result: TargetInfo[]) => void
-
sonuç
Kullanılabilir hata ayıklama hedeflerine karşılık gelen TargetInfo nesneleri dizisi.
-
İadeler
-
Promise<TargetInfo[]>
Chrome 96 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
sendCommand()
chrome.debugger.sendCommand(
target: DebuggerSession,
method: string,
commandParams?: object,
callback?: function,
): Promise<object | undefined>
Belirtilen komutu hata ayıklama hedefine gönderir.
Parametreler
-
hedef
Komutu göndermek istediğiniz hata ayıklama hedefi.
-
method
dize
Yöntem adı. Uzaktan hata ayıklama protokolü tarafından tanımlanan yöntemlerden biri olmalıdır.
-
commandParams
object isteğe bağlı
İstek parametrelerini içeren JSON nesnesi. Bu nesne, belirli bir yöntem için uzaktan hata ayıklama parametreleri şemasına uygun olmalıdır.
-
callback
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(result?: object) => void
-
sonuç
object isteğe bağlı
Yanıtı içeren JSON nesnesi. Yanıtın yapısı, yöntem adına bağlı olarak değişir ve uzaktan hata ayıklama protokolündeki komut açıklamasının "returns" özelliğiyle tanımlanır.
-
İadeler
-
Promise<object | undefined>
Chrome 96 veya daha yeni bir sürümPromises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.
Etkinlikler
onDetach
chrome.debugger.onDetach.addListener(
callback: function,
)
Tarayıcı, sekme için hata ayıklama oturumunu sonlandırdığında tetiklenir. Bu durum, sekme kapatıldığında veya ekli sekme için Chrome Geliştirici Araçları çağrıldığında meydana gelir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(source: Debuggee, reason: DetachReason) => void
-
kaynak
Hata ayıklanan (Debuggee)
-
neden
-
onEvent
chrome.debugger.onEvent.addListener(
callback: function,
)
Hata ayıklama hedefi, enstrümantasyon etkinliğini her tetiklediğinde tetiklenir.
Parametreler
-
callback
işlev
callback
parametresi şu şekilde görünür:(source: DebuggerSession, method: string, params?: object) => void
-
kaynak
-
method
dize
-
params
object isteğe bağlı
-