概述
目录
前言
Mediasoup Demo分析
调试方法
Demo Dump工具
编码阅码工具
前言
上篇文章对MediaSoup的环境部署和运行demo做了简单的了解 【Mediasoup】环境部署与demo搭建,本章节主要对MediaSoup的源码进行调试,以及运行时分析、调试、查看核心信息。
在下一篇文章中将对MediaSoup的源码进行分析和架构的讲解。
Mediasoup Demo分析
目录 | 作用 |
app | 客户端代码 |
broadcasters | 广播,单向传输,只有去或者只有回 |
server | 服务端Demo |
server.js | Demo主程序 |
config.js | 配置文件 |
cert | 证书及密钥 |
connect.js | 对后面interactiveClient.js封装 |
lib | server.js使用的库文件 |
Logger.js | 打印日志 |
Room.js | 房间管理及信令处理 |
interactiveClient.js | 运行时内部信息查询客户端 |
interactiveServer.js | 运行时内部信息查询服务端 |
调试方法
Nodejs的调试方法
- cd server
- node --inspect server.js
1:如果用服务程序运行在虚拟机Linxu&云服务器系统上调试则:
node --inspect-brk=192.168.11.18:9229 server.js 192.168.11.18是虚拟机的IP或者公网的IP
2:如果用服务程序调试的时候运行在本地Mac上:
node --inspect-brk server.js
运行之后的结果:
打开Goggle浏览器,输入
chrome://inspect
首次需要添加需要调试的设备,点击Configer 添加相对应的调试端IP和端口,如下图
添加成功之后在 Remote Target 会出现调试的目标,如下图,点击inspect开始设置断点以及调试。
调试界面如下:
Demo Dump工具
1:在启动之前设置以下环境
export INTERACTIVE=1
2:服务器启动完之后执行connect.js
node connect.js
这种Dump工具可以在不同的终端上执行,已经发布线上的程序可以用这种环境Dump,而第一种一般只在调试的时候使用。
具体实操:
启动后会进入命令行模式
其中可以通过 h & help 查看各个模块dump的命令
(街截取部分)
- usage
显示Node.js和mediashoup工作进程的CPU和内存使用情况
- logLevel level
更改所有mediasoup工作进程中的日志级别
- logTags [tag] [tag]
更改所有mediasoup工作进程中的日志tag(值用空格分隔)
- dw, dumpWorkers
打印Worker数量
以此类推 dumpxxx 打印模块数量以及连上的一些各种参数
statsxxx 显示这些模块运行的状态和统计信息
- t, terminal
打开另一种终端模式,在这种模式可以打印出其他一些信息
注意:有些信息需要打开客户端,并且有1个或者1个以上客户端才能显示一些状态信息,那么这些信息Dump出来后续很利于去分析源代码。
编码阅码工具
MediaSoup 源码分为2部分
1:NodeJs
2:C++
每个人针对自己的偏好选择阅读源码和编辑源码的工具,笔者这边只是推荐。
对于NodeJs 使用
Visual Studio Code
下载
官网下载 https://code.visualstudio.com/
编辑器设置 https://www.jianshu.com/p/95c4c869bff1
C++部分而言,也可以直接使用vsc直接编码阅读源码
C++部分源码
source insight
下载
官网下载 https://www.sourceinsight.com/ (需要付费,据说网上可以下载到破解版)
最后
以上就是快乐丝袜为你收集整理的【流媒体服务器Mediasoup】调试源码以及运行时分析、调试、查看核心信息(三)的全部内容,希望文章能够帮你解决【流媒体服务器Mediasoup】调试源码以及运行时分析、调试、查看核心信息(三)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复