chrome.debugger

refresh date: 2026-09-25 robots: noindex

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 bir veya daha fazla sekmeye eklemek üzere chrome.debugger kullanın. sendCommand ile sekmeleri hedeflemek ve onEvent geri çağırmalarından tabId ile etkinlikleri yönlendirmek için Debuggee özelliğini tabId kullanın.

İzinler

debugger

Güvenlik Notu

Güvenlik nedeniyle chrome.debugger API, tüm Chrome Geliştirici Araçları Protokolü alanlarına erişim sağlamaz. Kullanılabilir alanlar şunlardır: 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 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 hata ayıklayıcı API örneğini yükleyin.

Türler

Debuggee

Hata ayıklananın tanımlayıcısı. tabId, extensionId veya targetId belirtilmelidir

Özellikler

  • extensionId

    string isteğe bağlı

    Hata ayıklamak istediğiniz uzantının kimliği. Uzantı arka plan sayfasına ekleme işlemi 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

    string isteğe bağlı

    Hata ayıklama hedefinin opak kimliği.

DebuggerSession

Chrome 125 ve sonraki sürümler

Hata ayıklayıcı oturum tanımlayıcısı. tabId, extensionId veya targetId'den biri belirtilmelidir. Ayrıca, isteğe bağlı bir sessionId sağlanabilir. onEvent tarafından gönderilen bağımsız değişkenler için sessionId belirtilmişse etkinlik, kök hata ayıklanan oturumundaki bir alt protokol oturumundan geliyor demektir. sessionId, sendCommand yöntemine iletilirken belirtilirse kök hata ayıklama oturumundaki bir alt protokol oturumunu hedefler.

Özellikler

  • extensionId

    string isteğe bağlı

    Hata ayıklamak istediğiniz uzantının kimliği. Uzantı arka plan sayfasına ekleme işlemi yalnızca --silent-debugger-extension-api komut satırı anahtarı kullanıldığında mümkündür.

  • sessionId

    string 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

    string isteğe bağlı

    Hata ayıklama hedefinin opak kimliği.

DetachReason

Chrome 44+

Bağlantının sonlandırılma nedeni.

Enum

"target_closed"

"canceled_by_user"

TargetInfo

Hata ayıklama hedefi bilgileri

Özellikler

  • ekli

    boole

    Hata ayıklayıcı zaten ekliyse True değerini döndürür.

  • extensionId

    string isteğe bağlı

    Uzantı kimliği, type = 'background_page' ise tanımlanır.

  • faviconUrl

    string isteğe bağlı

    Hedef site simgesi URL'si.

  • id

    dize

    Hedef kimliği.

  • tabId

    number isteğe bağlı

    type == 'page' ise tanımlanan sekme kimliği.

  • title

    dize

    Hedef sayfa başlığı.

  • Hedef türü.

  • url

    dize

    Hedef URL.

TargetInfoType

Chrome 44+

Hedef türü.

Enum

"page"

"background_page"

"worker"

"diğer"

Yöntemler

attach()

Taahhüt
chrome.debugger.attach(
  target: Debuggee,
  requiredVersion: string,
  callback?: function,
)
: Promise<void>

Hata ayıklayıcıyı belirtilen hedefe ekler.

Parametreler

  • 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 alt sürüme sahip hata ayıklanan uygulamaya bağlanılabilir. Protokol sürümlerinin listesine buradan ulaşabilirsiniz.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Chrome 96+

    Ekleme işlemi başarılı veya başarısız olduğunda çözümlenir. Promise, değer olmadan çözümlenir. Ekleme işlemi başarısız olursa promise reddedilir.

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

detach()

Taahhüt
chrome.debugger.detach(
  target: Debuggee,
  callback?: function,
)
: Promise<void>

Hata ayıklayıcıyı belirtilen hedeften ayırır.

Parametreler

  • Bağlantısını kesmek istediğiniz hata ayıklama hedefi.

  • callback

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Chrome 96+

    Ayırma işlemi başarılı veya başarısız olduğunda çözümlenir. Promise, değer olmadan çözümlenir. Ayırma işlemi başarısız olursa promise reddedilir.

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

getTargets()

Taahhüt
chrome.debugger.getTargets(
  callback?: function,
)
: Promise<TargetInfo[]>

Kullanılabilir hata ayıklama hedeflerinin listesini döndürür.

Parametreler

  • callback

    function 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+

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

sendCommand()

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

Verilen 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

    isteğe bağlı nesne

    İ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

    function isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result?: object) => void

    • sonuç

      isteğe bağlı nesne

      Yanıtı içeren JSON nesnesi. Yanıtın yapısı, yöntem adına göre değişir ve uzaktan hata ayıklama protokolündeki komut açıklamasının "returns" özelliği tarafından tanımlanır.

İadeler

  • Promise<object | undefined>

    Chrome 96+

    Yanıt gövdesi. Mesaj yayınlanırken bir hata oluşursa promise reddedilir.

    Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.

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ılırken veya ekli sekme için Chrome Geliştirici Araçları çağrılırken meydana gelir.

Parametreler

onEvent

chrome.debugger.onEvent.addListener(
  callback: function,
)

Hata ayıklama hedefi, araç etkinliği yayınladığında tetiklenir.

Parametreler

  • callback

    işlev

    callback parametresi şu şekilde görünür:

    (source: DebuggerSession, method: string, params?: object) => void