chrome.debugger

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

Chrome 125+

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

Chrome 44 veya daha yeni bir sürüm

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ığı.

  • Hedef türü.

  • url

    dize

    Hedef URL.

TargetInfoType

Chrome 44 veya daha yeni bir sürüm

Hedef türü.

Enum

"page"

"background_page"

"worker"

"other"

Yöntemler

attach()

Promise
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üm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

detach()

Promise
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üm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getTargets()

Promise
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üm

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

sendCommand()

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

Belirtilen komutu hata ayıklama hedefine gönderir.

Parametreler

  • 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üm

    Promises 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

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