[英]How to debug “built” production NodeJS
我正在使用 Visual Studio 代碼在生產環境中調試節點應用程序
Node進程在docker內部運行,
我端口轉發並通知 USR1 以啟用將調試器從 VS 代碼附加到該節點進程
我的 VS Code 配置是這樣的
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Debug: service",
"sourceMaps": true,
"smartStep": true,
"remoteRoot": "/src/",
"localRoot": "/home/my-username/work/orders/src/",
"protocol": "inspector",
"port": 9229,
"restart": true,
"address": "0.0.0.0",
"skipFiles": [
"<node_internals>/**",
"<node_modules>/**"
]
}
]
}
從 VS 代碼,我可以掛接到應用程序並且應用程序可以在異常時中斷但是沒有源映射導致我的源代碼中的所有斷點都是“未綁定斷點”
VS 代碼中加載的腳本列表顯示
VS 代碼調試器能夠在 dist 中看到 node_modules 和我的源代碼的構建版本。 另一個值得注意的一點是,用於構建 /dist 的源代碼也可以直接在生產服務器的上層文件夾中獲得。
在這種情況下,如何使用我未構建的源代碼調試構建的生產過程?
我將 Chrome 行為添加為單獨的問題
不知道對你有沒有幫助。 但我認為你必須使用node-inspector 。 它可以在任何支持 WebSocket 的瀏覽器中使用。 這真的很好。
很酷的東西
Node 已經附帶了一個集成的調試器。 但是,它沒有 GUI,因此您需要使用命令行版本。
您可以使用節點調試啟動此調試器。
$node debug test.js
< Debugger listening on port 5858
debug> . ok
break in test.js:1
> 1 var a= 5;
2 a = a*a
3 a += 2;
debug>
它向您顯示暫停的位置,然后讓您使用 next 和 cont 等命令控制執行。
debug> next
break in test.js:2
1 var a= 5;
> 2 a = a*a
3 a += 2;
4
repl 和 watch 命令允許您查看局部變量的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.