Visual Studio Codeの簡単なJavaScriptの例をステップスルーしようとしていますが、デバッガーが切断しようとしてハングします。
macOS Sierraバージョン10.12.6
VSCodeバージョン1.18.1(最新)
Homebrewと共にインストールされたNode.js v8.9.2(最新)
Debugging with inspector protocol because Node.js v8.9.2 was detected.
node --inspect-brk= /*(port)*/ jsSandbox.js
Debugger listening on ws:// (ip address)
Debugger attached.
Waiting for the debugger to disconnect...
これは、すでに Code と Node の両方で解決された問題であるように思われるため、私はとても混乱しています。私は何か間違っていますか?
デバッグしようとしている唯一のjavascriptファイルは次のとおりです。
// learning about closure
function increase() { // — gets called once
var getBig = 0;
return function() { // — — gets called each time
getBig += 1; // — — increments each time
console.log(getBig);
};
}
var bigOne = increase(); // -- a reference to the instance of the function
bigOne(); //1
bigOne();//2
...そしてプロジェクトのlaunch.json設定:
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/jsSandbox.js",
"console": "internalConsole"
}
コードに構文エラーが見つかりました。問題は、例外をキャッチしていなかったことです。 VS Codeを使用して、「Uncaught Exceptions」にチェックマークを付けて、誤ったコードを見つけました。
アクティブウィンドウに$ '{file}を使用します。
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "Active window",
"program": "${file}"
}]
}
私にとって助けとなったのは次のとおりです。
これは、この「切断できない」グリッチから私が考えるデバッガをリセットします。
あなたのコードを壊すときに起こります。プロジェクトを開始すると、アプリがクラッシュしていることがわかります。問題を修正すると、再びデバッグできるようになります。
Launch.jsonファイルを確認してください。プロジェクトのフォルダー.vscodeに存在します。 launch.jsonでプログラムの値を$ {workspaceFolder} /に変更します。
複数の「Node Debug」拡張機能がインストールされているのを見つけました。 「React Native Tools」は、これらの両方に依存していました。 「React Native Tools」拡張機能と「Node Debug」拡張機能を削除した後、VS Codeはデバッガーを実行する通常の予想される動作を再開しました。デフォルトの起動構成を使用しました:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/bin/www"
}
]
}
私にとっては、デバッグ中にdependency crashedであり、vscodeデバッガー自体もクラッシュするようです。 VSCodeを再起動すると、再度デバッグできます。障害のある依存関係を削除する(つまり、他の回答で提案されているようにコードを修正する)と、デバッグコンソールメッセージは依然として混乱を招きますが、デバッグプロセスを終了できます。
Debugger listening on ws://127.0.0.1:48673/54esaf46-659e-sd92-5e45-01e78845825e
Debugger attached.
Waiting for the debugger to disconnect...
デバッガーが切断できないようです。しかし、後で新しいデバッグセッションを開始しても問題はありません。