vscodeでnode.jsのプログラムがデバッグ(debug)できません
- 評価
- クリップ 2
- VIEW 6,708
前提・実現したいこと
現在、VSCodeを使って、node.jsのExpressのWebプログラムを作っています。
そのプログラムをVSCode上でデバッグしたい。
発生している問題
ブラウザからアクセスしてもブレークポイントで止まらない。
ブレークポイントはExpressのrouterの処理の中に設定していますが、止まりません。
デバッグ実行した最初の1回目だけ、routerの処理の中でブレークします。
該当のソースコード
以下はlunch.jsonですが、特に変わった事はしていないつもりです。
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/app.js",
"stopOnEntry": false,
"args": [],
"cwd": "${workspaceRoot}",
"preLaunchTask": null,
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": true,
"outDir": null
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858,
"address": "localhost",
"restart": false,
"sourceMaps": false,
"outDir": null,
"localRoot": "${workspaceRoot}",
"remoteRoot": null
}
]
}
環境(2016/6/12追記)
- Windows : 8.1
- VsCode : 1.2.0
- node : v4.4.3 and v5.10.1 and v6.2.1
バージョンの問題という記事があったので3つのバージョンで試しましたがダメでした
- expressで使うポート:80
どなたか、対応方法分かる方おられましたらご教示頂けると嬉しいです。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
いったんlunch.json
を再作成してみてはどうでしょう。
lunch.json
を削除- デバッグ実行(F5)
- 環境の選択でNode.jsを選択 <- ここで
lunch.json
が生成されるはず - VSCode再起動
- デバッグ実行(F5)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.34%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/12 00:39
やはり、最初の1回目だけ止まって、あとはブラウザから動かしても止まらないですorz
2016/06/12 01:10
package.jsonのscriptのstartの値はどうなっていますか?
"node ./bin/www"になっていますか?
2016/06/12 01:36
"nodemon ./bin/www"
になってます!
```
{
"name": "bike-rental",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "nodemon ./bin/www"
},
"dependencies": {
"angular2": "2.0.0-alpha.44",
"body-parser": "~1.13.2",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"ect": "^0.5.9",
"express": "~4.13.1",
"jade": "~1.11.0",
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0",
"systemjs": "0.19.5"
},
"main": "app.js",
"devDependencies": {
"live-server": "^1.0.0"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}
```
2016/06/12 14:08
その際、package.jsonのrestartはtrueにしてください。
VSCodeからの起動であればlaunch.jsonのprogramを"${workspaceRoot}/bin/www"にしてください。
2016/06/12 18:02
止まりました!
もしかして基本的な事だったのかもですが、
既に裏で`node start`していた事が原因だったようです!
以下の設定に変更して
${workspaceRoot}/bin/www
デバッグを実行したら動きました!
感謝ですm(_ _)m