【流媒體服務器Mediasoup】調試源碼以及運行時分析、調試、查看核心信息(三)

目錄

前言

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/   (需要付費,據說網上可以下載到破解版)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章