Ручка отладчика отсоединяется в хромированном расширении
В соответствии с API отладчика DevTools событие отладки отсутствует. Могу ли я поймать событие отсоединения отладчика, когда пользователь нажимает "отменить", например?
Пример кода для прикрепления:
chrome.debugger.attach(
{
tabId: tabId
},
'1.3',
() => {
chrome.debugger.sendCommand(
{
tabId: tabId
},
'Debugger.enable',
{},
result => {
// ...
}
);
}
);
2 ответа
Решение
Если вы хотите, чтобы ваше отладочное соединение было закрыто (в отличие от события, происходящего в этом соединении), существует chrome.debugger.onDetach
событие, предоставляемое API.
Я сделал обходной путь, который меня устраивает: setInterval
с помощью try/catch отладочной команды.
const intervalId = setInterval(async () => {
try {
// await send 'Debugger.setBreakpointsActive' with active=true
} catch (error) {
clearInterval(intervalId);
onDetach();
}
}, 500);