处理Chrome扩展程序中分离的调试器

时间:2018-11-12 11:38:59

标签: google-chrome-extension google-chrome-devtools chrome-debugging

根据Debugger DevTools API,没有调试器分离事件。当用户单击“取消”时,是否可以捕获用于分离调试器的事件?

附加代码示例:

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

2 个答案:

答案 0 :(得分:1)

如果您希望发现调试器连接已关闭(与该连接中发生的事件相反),则API提供了chrome.debugger.onDetach event

答案 1 :(得分:0)

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

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