2016-05-19 262 views
2

我已經使用使用Visual Studio代碼調試ExpressJS服務器端代碼

  • 快遞一個簡單的CRUD應用程序:4.13.4
  • 一飲而盡:3.9.1
  • 的MongoDB:v3.0.6
  • reactjs:15.0.2。
  • 節點:4.0.0

對於服務器端代碼我聽到,可以經由Visual Studio代碼調試(V1.1.1)。

從git bash我啓動應用程序通過gulp serve。但我不知道如何開始調試損失!

我的一小撮任務。

gulp.task('serve',['bundle','start-server'],function(){ 

    browserSync.init({ 
     proxy:'http://localhost:3000', 
     port:9001 
    }); 

}); 

當我們點擊VS Code上的調試按鈕來啓動調試接口時,我們會看到一個launch.json,其中有兩個配置選項。

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Launch", 
     "type": "node", 
     "request": "launch", 
     "program": "${workspaceRoot}", 
     "stopOnEntry": false, 
     "args": [], 
     "cwd": "${workspaceRoot}", 
     "preLaunchTask": null, 
     "runtimeExecutable": null, 
     "runtimeArgs": [ 
      "--nolazy" 
     ], 
     "env": { 
      "NODE_ENV": "development" 
     }, 
     "externalConsole": false, 
     "sourceMaps": false, 
     "outDir": null 
    }, 
    { 
     "name": "Attach", 
     "type": "node", 
     "request": "attach", 
     "port": 3000, 
     "address": "localhost", 
     "restart": false, 
     "sourceMaps": false, 
     "outDir": null, 
     "localRoot": "${workspaceRoot}", 
     "remoteRoot": null 
    } 
] 

}

我猜測這些都是啓動並連接 CONFIGS。但是,我們如何通過調試真正鼓舞人心。

我已經看到人們通過修改「程序」鍵爲"program": "/usr/local/bin/grunt"來啓動grunt進程。但似乎我無法做到這一點吞嚥

即使當我通過git bash啓動我的應用程序並嘗試'attach'調試器如上所述here,vs代碼只顯示一條錯誤消息說'取消'!

TLDR;

  • 我們如何在VS代碼中啓動調試時啓動gulp(或)grunt(或)啓動服務器?
  • 是否可以通過cmd或bash從外部啓動應用程序,並仍然可以使用調試程序調試服務器端代碼?如果是這樣,launch.json需要進行哪些更改?

回答

5

Allrighty,許多書籤和鏈接後來我終於成功地通過啓動和附加進行調試。

調試通過推出配置:

 { 
      "name": "Launch", 
      "type": "node", 
      "request": "launch", 
      "program": "${workspaceRoot}/server.js", 
      "stopOnEntry": true, 
      "args": [], 
      "cwd": "${workspaceRoot}", 
      "preLaunchTask": null, 
      "runtimeExecutable": null, 
      "runtimeArgs": [ 
       "--nolazy" 
      ], 
      "env": { 
       "NODE_ENV": "development" 
      }, 
      "externalConsole": false, 
      "sourceMaps": false, 
      "outDir": null 
     } 

上按壓,在下拉列表中選擇啓動選項的VSC調試視圖綠色>按鈕,你應該看到在VSC控制檯這樣的事情。

node --debug-brk=21735 --nolazy server.js 

而調試器應該暫停在server.js文件的第一行。 用斷點調試!:)

通過調試附加配置:

 { 
      "name": "Attach", 
      "type": "node", 
      "request": "attach", 
      "port": 5858, 
      "address": "localhost", 
      "restart": false, 
      "sourceMaps": false, 
      "outDir": null, 
      "localRoot": "${workspaceRoot}", 
      "remoteRoot": null 
     } 

啓動服務器外部

$node --debug-brk server.js 

您提示應在

Debugger listening on port 5858 

按綠色>暫停按鈕o n在下拉菜單中選擇了附加選項的VSC調試視圖時,調試器應該自動附加自身並暫停在服務器的第一行.js

調試廣告噁心

相關問題