我想寫一個Chrome擴展,它使用chrome.debugger API
連接到以「--inspect」開頭的node.js進程,以便設置斷點並控制節點進程的執行。我諮詢了documentation,看來我會使用API chrome.debugger.attach
將調試客戶端連接到node.js進程。 attach
API接受作爲要附加的調試目標的targetId的參數。我的問題是,我怎樣才能找到Node.js進程的targetId,我可以傳給attach
?如何獲取Google Chrome擴展中的node.js過程的調試目標信息?
我試圖使用chrome.debugger.getTargets
API找到node.js調試目標,但是生成的targetInfo數組未包含node.js過程。 node.js進程確實出現在chrome:// inspect中,並且我可以使用chrome devtools來檢查進程。我想知道是否node.js進程沒有出現在targetInfo結果中,因爲node.js進程是遠程調試目標,而此數組中的所有其他結果都是本地調試目標。
我希望對此有所瞭解。謝謝。
感謝您的回覆。它看起來像populateRemoteTargets正在接收填充並從C++傳入的數據。我跟蹤它,數據結構由devtools_device_discovery.cc填充在這裏:https://cs.chromium.org/chromium/src/chrome/browser/devtools/device/devtools_device_discovery.cc?gsn=CreateForAdb&l=568而chrome。 debugger.getTargets在shared_worker_devtools_manager.h中實現:https://cs.chromium.org/chromium/src/content/browser/devtools/shared_worker_devtools_manager.h?gsn=AddAllAgentHosts&l=51也許這些是查詢目標的兩個競爭實現嗎? – jbeard4
可能相關:https://bugs.chromium.org/p/chromium/issues/detail?id=412651&q=gettargets&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified – jbeard4