处理 chrome 扩展中的调试器分离

Handle the debugger detaching in chrome extension

根据 Debugger DevTools API,没有调试器分离事件。例如,当用户单击 "cancel" 时,我可以捕获分离调试器的事件吗?

附加示例代码:

chrome.debugger.attach(
    {
        tabId: tabId
    },
    '1.3',
    () => {
        chrome.debugger.sendCommand(
            {
                tabId: tabId
            },
            'Debugger.enable',
            {},
            result => {
                // ...
            }
        );
    }
);

我做了一个适合我的解决方法:setInterval 和 try/catch 一些调试器命令。

const intervalId = setInterval(async () => {
    try {
        // await send 'Debugger.setBreakpointsActive' with active=true
    } catch (error) {
        clearInterval(intervalId);
        onDetach();
    }
}, 500);

如果您希望捕获正在关闭的调试器连接(而不是该连接内发生的事件),API.[=12= 提供了 chrome.debugger.onDetach event ]