调试 Node.js 程序
1.在远程服务器的一个终端中,构建并运行浏览器应用程序:
cd mediasoup-demo/app/
sudo npm start
2.在远程服务器的另一个终端中启用远程调试,其中172.17.0.12是服务器内网IP地址:
cd mediasoup-demo/server/
node --inspect-brk=172.17.0.12:9229 server.js
如果mediasoup部署于本地机器,在另一个终端中启用本地调试:
cd mediasoup-demo/server/
node --inspect-brk server.js
启动调试后显示:

3.本地Chrome浏览器地址栏输入chrome://inspect,在打开的页面中点击Configure...按钮:

4.添加121.4.62.236:9229,其中121.4.62.236是服务器公网IP地址,点击Done按钮:

5.点击inspect:

6.进入调试页面:

可能遇到的问题:调试自动退出:

此时点击Console显示:

解决办法:在部署mediasoup的机器上,删除/tmp目录下的mediasoup-demo.sock文件:
sudo rm -f /tmp/mediasoup-demo.sock
然后从第一步重新开始执行。
调试 C++ 程序
在部署mediasoup的机器上执行步骤1-4。
1.为了方便,修改mediasoup的进程数为1:打开mediasoup-demo/server/config.js,将
numWorkers : Object.keys(os.cpus()).length,
修改为
numWorkers : 1,
2.启动mediasoup:
在终端中运行 Node.js 服务器应用程序:
cd mediasoup-demo/server/
sudo npm start
在另一个终端中,运行浏览器应用程序:
cd mediasoup-demo/app
sudo npm start
3.输入ps -a查询mediasoup的PID:

4.输入sudo gdb -p 32743调试正在运行的进程mediasoup-worke:

5.在本地机器上打开浏览器访问域名加入房间,在部署mediasoup的机器上就可以进入gdb 环境进行调试了。
本文介绍了如何远程调试Node.js应用和C++进程,特别是针对mediasoup的部署。首先在远程服务器上启动Node.js应用和调试器,然后通过Chrome的inspect功能连接到服务器。当遇到调试自动退出的问题时,删除临时文件后重新启动。对于C++程序,通过gdb调试运行中的mediasoup工作进程,并在客户端操作触发调试。
1495

被折叠的 条评论
为什么被折叠?



