<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # SDHelper SDHelper是SwooleDistributed隆重推出的開發者工具,配合最新版本的SD框架可以實現遠程斷點調試的功能。 入群獲取:569037921 git獲取:https://github.com/SwooleDistributed/SDHelper-Bin ## SD遠程斷點調試 我們打開工具選擇SD調試,在右側默認填寫了連接地址。 ![](https://box.kancloud.cn/c751db1033d9daf38c88397654f99786_964x672.png) 需要下載安裝最新的SD框架v3.2.7,找到backstage配置文件打開對應配置 ``` //是否啟用backstage $config['backstage']['enable'] = true; //是否啟用xdebug $config['backstage']['xdebug_enable'] = true; //web頁面訪問端口 $config['backstage']['port'] = 18000; //提供的ws端口 $config['backstage']['socket'] = "0.0.0.0"; $config['backstage']['websocket_port'] = 18083; //設置路徑 $config['backstage']['bin_path'] = "/bin/exec/backstage"; return $config; ``` 配置中的websocket_port端口即為遠程調試端口,backstage.enable和backstage.xdebug_enable均要設置為true。 接下來使用xdebug啟動命令來啟動框架 ``` php start_swoole_server.php xdebug ``` 也可以添加-d選項,變成守護進程,xdebug命令啟動服務器不會額外占用服務器資源,開發調試階段均可使用該命令來代替start,但是使用xdebug后自動reload和reload命令將失效,更新代碼必須重啟服務器(根據版本的迭代后期會消除這種美中不足)。 > 此處的xdebug和xdebug擴展不是同一個,SD的遠程斷點調試無需安裝xdebug擴展。 通過xdebug命令啟動服務器后,可以打開SDHelp點擊連接按鈕。連接傷后可以通過輸入文件名打開對應文件,通過添加斷點按鈕來添加斷點。 ![](https://box.kancloud.cn/fd7234a50d50d9e2a2f31849efbb3630_962x672.png) 然后點擊開始調試 > 點擊開始調試后就不能添加斷點了,可以斷開調試,重新下斷點 我們訪問對應的邏輯。 ![](https://box.kancloud.cn/e72f48d067f38325e8bce143ae03263c_965x705.png) 可以看到邏輯已經進入斷點處,可以查看當前所有的變量信息,點擊繼續執行按鈕,可以跳轉到下一處斷點 ![](https://box.kancloud.cn/fcd33b3e9e4c8484c29c643434989d0c_961x706.png) > 調試器只會捕獲一次請求,也就是說斷點只會斷在一個請求上,對于其他的請求不會有影響,并發請求時斷點只會影響到其中一個請求上。 如果請求結束還想繼續捕獲的話,可以點擊重新捕獲按鈕,如果想結束調試可以點擊結束調試按鈕。 > 遠程調試器可以查看當前斷點的所有數據,這是var_dump和print_f大法無法替代的優勢,而且可以隨時打斷點不必修改代碼,并且只會捕獲其中一次的請求,不會眼花繚亂。但是也有限制,不支持自定義進程的調試,代碼必須在app目錄下才支持遠程調試。 ## 代碼覆蓋率測試 代碼覆蓋率測試需要啟動特殊的命令執行 ``` php start_swoole_server.php coverage ``` 含有2個額外參數 * -c 清除上次保存的數據 * -d 守護進程運行 coverage啟動會對性能有所影響,所以不適合壓測。 此時可以叫測試進行全方位的測試,測試結束可以查看測試的代碼覆蓋率。 ![](https://box.kancloud.cn/f1c6d430270cb6aecd669ca5c65424c5_962x672.png) 沒有顏色的代表沒有被執行到,顏色越紅代表執行的次數越多。 可以通過調用次數排名來查看代碼執行次數的排行 ![](https://box.kancloud.cn/460cc43f50afe029e6dcb424d1dd3f64_963x672.png) 如果次數過高需要注意是不是存在大量的循環需要優化,或者出現了死循環。 ## TCP/WS連接調試! 工具提供了tcp和ws的連接調試,比市面上的工具都會更加好用些 ![](https://box.kancloud.cn/2bbd1490cb947b29cc566c1d07f26989_966x690.png) ## 協議二進制數據構建 可以通過工具的Hex數據構建來模擬各類協議的組成,方便理解協議的構成。 ![](https://box.kancloud.cn/aab4cb457dae925226a59a71c8a3d819_964x690.png) SD會不斷的成長壯大,為大家提供一個更舒適的開發體驗。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看