基於chrome調試:node
1.首先在chrome瀏覽器中輸入地址:chrome://inspect/#deviceschrome
能夠看到Remote Target區域沒有任何debug的目標文件。api
2.--inspect瀏覽器
執行node --inspect ./server/server.jsspa
而後咱們看下cmd有何變化debug
這裏看到了debugger attached的時候表示已經debug上了,這是咱們在前臺發一次請求試下代理
達到了預期的目的。
(這裏有個坑,當我啓動了兩個服務,一個server服務一個api服務,中間使用了http代理即‘http-proxy’,而後調試api的時候並不能斷上,另外一太電腦是能夠斷上的,緣由未知mark一下)調試
3.--inspect --debug-brkcode
執行node --inspect --debug-brk server\server.js 自動斷在第一行代碼,不須要咱們打斷點(沒有太大實際的做用)。server
vscode調試:
針對vscode調試有兩種模式:attach和launch
attach:你經過 node --inspect xxx.js 自行啓動調試,而後 vscode 執行F5 attach到chrome
launch:vscode獨立自主的跑起一個調試進程
1.attach方式:
1 { 2 "type": "node", 3 "request": "attach", 4 "name": "attach Program" 5 }
上段代碼是在網上找的配置文件,而後咱們執行下試試。
what???其實這裏我挺好奇的,代碼是執行過的?真的好使嗎?推薦看官方文檔:https://code.visualstudio.com/Docs/editor/debugging
解決方案:
1 { 2 "type": "node", 3 "request": "attach", 4 "name": "attach Program", 5 "port": 9222 6 }
咱們配置文件指定一個端口,這裏必須也要更改一下chrome的啓動方式指定一個端口,增長一段字符串以下:
1 "--remote-debugging-port=9222"
修改chrome啓動方式以下:
若是不改同樣會出現上面的狀況,attach超時(壓根attach不上)。
2.launch方式
1 { 2 "type": "node", 3 "request": "launch", 4 "name": "launch server", 5 "program": "${workspaceFolder}/server/server.js" 6 }
參數解析:
type:啓動類型(chomre&node等等)
request:配置類型 ( PS:node目前支持的是 launch 和 attach)
name:debug名稱
program:啓動調試器時要運行的可執行文件或文件
args:傳遞給程序進行調試的參數
env:環境變量(該值 null 可用於「取消定義」變量)
cwd:當前工做目錄,用於查找依賴項和其餘文件
address:地址
port:端口