nodejs調試總結

 基於chrome調試:node

1.首先在chrome瀏覽器中輸入地址:chrome://inspect/#devices
chrome

能夠看到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:端口

相關文章
相關標籤/搜索