2016-09-26 46 views
2

如果我在node.js的6.6,寫(RESP從打字稿transpiled。)這樣一類:調試運行ES6代理物業 - >內部錯誤:非法訪問

class Table { 
    constructor(args) { 
     this._rows = new Proxy({ test: 42 }, {}); 
    } 
} 

並創建實例這樣的:

var table = new Table(); 

當我在Visual Studio代碼1.2.1調試時,我想看了var表我總是有

Internal error: illegal access

寫在那裏,這意味着我不能看錶或其任何屬性。

同樣的事情在Chrome中工作得很好。

那麼,爲什麼是這樣,我能做些什麼呢?

謝謝!

+8

在VSCode問題跟蹤器上打開一張票 - 這聽起來像一個錯誤。 –

+1

完成:https://github.com/Microsoft/vscode/issues/12749 – jiron

回答

2

對於那些先到這裏。這確實是一個這樣的錯誤,但微軟將它追溯到在node.js本身內部貶低v8調試代碼。解決方法是在啓動配置文件中使用"type": "node2"。這告訴vscode使用新的調試協議。節點7+也是推薦的。從vscode 1.10開始,對兩者的支持都被認爲是實驗性的,只有在需要時才應使用。

從vscode 1.10起,「node2」代碼正在與「node」合併。 「type」:「node2」被折舊以支持「協議」屬性。如果設置爲「自動」,協議將根據運行時確定自動切換。設置爲屬於「檢查器」模擬「node2」的效果,強制使用新的調試協議。默認設置等同於在vscode 1.8.x,1.9.x中使用「type」:「node」。

+0

差不多一年後,這個問題仍然存在。謝謝。 –