Debugowanie pamięci współdzielonej

Narzędzia do debugowania problemów z pamięcią współdzieloną.

Debugowanie workletów Shared Storage za pomocą Narzędzi deweloperskich

Aby sprawdzić elementy obsługi z pamięci współdzielonej uruchomione z otwartej strony, otwórz kartę „Źródła” w panelu Narzędzia programistyczne i dodaj punkt przerwania dla elementu obsługijącego zdarzenia „Element obsługi z pamięci współdzielonej / pierwsze oświadczenie skryptu”. Ten punkt przerwania wstrzyma początkowe wykonanie skryptu modułu lub krótkotrwałe zadania przy uruchamianiu.

Debugowanie workleta Shared Storage przez dodanie detektora na poziomie zdarzenia.
Do workleta Shared Storage można dodać punkt przerwania.

Dodatkowo na stronie chrome://inspect/#shared-storage-worklets wyświetlają się wszystkie aktywne moduły współdzielonego miejsca na dane ze wszystkich stron.

Debugowanie pamięci współdzielonej i prywatnej agregacji

Aby włączyć debugowanie, wywołaj metodę JavaScript enableDebugMode() w tym samym kontekście, w którym używane są współdzielone miejsce na dane i prywatna agregacja. Zostanie on zastosowany w przyszłych raportach w tym samym kontekście.

privateAggregation.enableDebugMode();

Aby powiązać raporty z kontekstami, które je wywołały, możesz ustawić 64-bitowy klucz debugowania typu liczba całkowita bez znaku, który jest przekazywany do wywołania JavaScript. debugKey to BigInt.

privateAggregation.enableDebugMode({debugKey: 1234});

Debugowanie pamięci współdzielonej

Shared Storage zwraca ogólny komunikat o błędzie:

Promise is rejected without and explicit error message

Debugowanie udostępnionego magazynu możesz przeprowadzić, otaczając wywołania blokami try-catch.

try {
  privateAggregation.contributeToHistogram({bucket, value});
} catch (e){
  console.log(e);
}

Debugowanie prywatnej agregacji

Raporty są wysyłane na adresy /.well-known/private-aggregation/report-shared-storage/.well-known/private-aggregation/debug/report-shared-storage. Raporty debugowania otrzymują ładunek podobny do tego poniżej w formacie JSON. Ten ładunek definiuje pole api jako „shared-storage”.

{
   "aggregation_coordinator_origin": "https://publickeyservice.msmt.gcp.privacysandboxservices.com",
   "aggregation_service_payloads": [ {
      "debug_cleartext_payload": "omRkYXRhlKJldmFsdWVEAAAAgGZidWNrZXRQAAAAAAAAAAAAAAAAB1vNFaJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAKJldmFsdWVEAAAAAGZidWNrZXRQAAAAAAAAAAAAAAAAAAAAAGlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "1569ab37-da44-4a26-80d9-5ed6524ab2a7",
      "payload": "/9nHrWn1MnJWRxFvanbubciWE9mPyIij6uYLi5k351eQCd3/TZpe2knaatUNcniq4a4e61tmKebv50OmMRZFnnCfcAwIdIgLHu1a3en97PojqWJBfO52RiVMIcP7KQTLzMxq2LhvPSdV4zjXo1Teu/JuIK3LIyis3vUMpS+tUAX0QV+I6X5SVmZFiNW9aMb8DwLOtqrBy5JJ/EkOIY0G+1Fi1/3R7UtKsqM1o71A/OzdmlNkwO7EV/VUNinGvWnd19FvDHe/kqkNdTHKbhAnMmbZzHW9bsEQS81leElCla6BTdbdbeeFU/jbTj0AOaoNOIe5r7FU5NG6nW4ULXTCbLLjTQ1mtl3id3IP41Zin1JvABCDC/HUSgLFz8EUqkmbMIOlMfNYA79aURq6FqE0GO0HtICYf0GPNdVv7p4jY3FNn6+JS4l5F3t+3lP9ceo4IpCE+31jzMtYJ+19xFh6C5ufteBR/iknZFcc1w3caQBhgRl5jt8DbaOzYcW4690H8Ul4Oh2wRO+6/njifk+pExLay/O5swLi2lUUph5OUEaaztwwzh2mnhwIBxMkPnfsGihiF+5KDEajVfMZ3NLsIDoZO+l4RTZrkqE+jVkAqaZGBiCIx42Edp/JV0DXfrryypCdQBZr8iEbSzCM9hKsMfLN7S/VkPe5rDwOZbhKCn5XXgfGz5tSx/KbZgsQf4OCEhwAyNPHAh3MHU7xmkQ3pKg4EIUC/WOtKAlVDOtDMmPPoQY1eAwJhw9SxZaYF1kHjUkTm3EnGhgXgOwCRWqeboNenSFaCyp6DbFNI3+ImONMi2oswrrZO+54Tyhca5mnLIiInI+C3SlP4Sv1jFECIUdf/mifJRM5hMj6OChzHf4sEifjqtD4A30c4OzGexWarie2xakdQej9Go4Lm0GZEDBfcAdWLT9HwmpeI2u4HDAblXDvLN8jYFDOOtzOl90oU7AwdhkumUCFLRadXAccXW9SvLfDswRkXMffMJLFqkRKVE1GPonFFtlzaRqp7IgE8L6AOtz6NDcxAjHnEuzDPPMcWMl1AFH0gq7h"
   } ],
   "debug_key": "1234",
   "shared_info": "{\"api\":\"shared-storage\",\"debug_mode\":\"enabled\",\"report_id\":\"80d93c0a-a94e-4ab7-aeb5-a4ecd4bfc598\",\"reporting_origin\":\"https://privacy-sandbox-demos-dsp.dev\",\"scheduled_report_time\":\"1717784740\",\"version\":\"0.1\"}"
}

Debugowanie ładunku tekstowego w postaci tekstu nieszyfrowanego

Wartość debug_cleartext_payload jest zakodowana w formacie Base64 CBOR. Możesz wyświetlić zagregowany zbiór i wartość za pomocą dekodera lub użyć kodu JavaScriptu, który znajdziesz w dekoderze Shared Storage.

Angażowanie użytkowników i przesyłanie opinii

Pamiętaj, że propozycja interfejsu Shared Storage API jest obecnie przedmiotem dyskusji i jest w fazie rozwoju, dlatego może ulec zmianie.

Chętnie poznamy Twoją opinię na temat interfejsu Shared Storage API.

Trzymaj rękę na pulsie

  • Lista mailingowa: zasubskrybuj naszą listę mailingową, aby otrzymywać najnowsze informacje i ogłoszenia dotyczące interfejsu Storage API.

Potrzebujesz pomocy?