我想编写一个Chrome扩展程序,使用chrome.debugger API
附加到以“--inspect”开头的node.js进程,以便设置断点并控制节点进程的执行。我查阅了documentation,看来我会使用API chrome.debugger.attach
将调试客户端附加到node.js进程。 attach
API接受要附加的调试目标的targetId作为参数。我的问题是,如何找到Node.js进程的targetId,我可以将其传递给attach
?
我尝试使用chrome.debugger.getTargets
API找到node.js调试目标,但生成的targetInfo数组不包含node.js进程。 node.js进程确实出现在chrome:// inspect中,我可以使用chrome devtools来检查进程。我想知道node.js进程是否没有出现在targetInfo结果中,因为node.js进程是远程调试目标,而此数组中的所有其他结果都是本地调试目标。
我很感激对此的任何见解。谢谢。
答案 0 :(得分:2)
如果你看看谷歌如何检索远程源。例如。在chrome://inspect
。
populateRemoteTargets
inspect.js
的javascript函数
在我的机器上,已发送的数据参数为 - >
{
"adbConnected": true,
"adbModel": "Remote Target",
"adbSerial": "localhost",
"browsers": [
{
"adbBrowserChromeVersion": 0,
"adbBrowserName": "Target",
"adbBrowserUser": "",
"adbBrowserVersion": "",
"id": "localhost:9222",
"pages": [],
"source": "remote"
},
{
"adbBrowserChromeVersion": 0,
"adbBrowserName": "Target",
"adbBrowserUser": "",
"adbBrowserVersion": "",
"id": "localhost:9229",
"pages": [],
"source": "remote"
}
],
"id": "device:localhost"
}
不确定谷歌是否存储此列表,但显然存储在配置对话框中的是什么。可能有办法获得这些数据,不确定。如果没有,您可以自己维护列表。