[平常文章]xdebug的原理和運行機制

xDebug

1、 背景介紹

Xdebug 工具咱們既熟悉,又陌生,熟悉是由於,咱們只須要簡單的配置就可使用了。 陌生是他怎麼通訊的,以及在後續怎麼在不一樣環境,如linux環境,docker環境怎麼調試的,而且怎麼跟docker環境進行整合的。php

1.1 目標: 瞭解xdebug的原理和運行機制

1.2 目的:解決windows,mac,docker等不一樣環境的xdebug的使用問題

2、 Xdebug的原理

2.0 xdebug的相關資料

  • XDEBUG 從入門到精通,查看html

  • Xdebug原理學習及其攻擊面復現,查看java

  • xdebug,How Xdebug Changed My Life:xdebug的使用和配置,查看linux

    PhpStorm Xdebug遠程調試環境搭建原理分析及問題排查,[查看]([xxlegend.com/2017/05/23/…](xxlegend.com/2017/05/23/… Xdebug遠程調試環境搭建原理分析及問題排查/))c++

    Xdebug: 協助調試與開發 ,查看git

2.1 xdebug 怎麼跟PHP進行通訊的?

  1. 查看監聽的端口號是否創建鏈接?

![image-20190713164029286](/Users/Macx/Library/Application Support/typora-user-images/image-20190713164029286.png)github

  1. 那從用戶發起請求到,到IDE的整個流程圖以下:docker

  2. 使用wireshark抓取xdebug和php的通訊的數據包segmentfault

    使用Wireshark抓取PHP Server [PSH,ACK]的消息 (過濾條件:tcp.port==9000 && tcp.flags.push == 1)windows

2.2 xdebug 的總體流程是怎麼樣的?

2.3 phpstorm 是怎麼跟xdebug進行通訊/集成的?

  • 參考文檔:Xdebug遠程調試原理與實踐,查看

2.4 xdebug 怎麼來支持docker和linux的環境的調試操做

  • Docker 下的PHPSTORM+XDEBUG ,查看

2.5 xdebug的DBGB協議是怎麼回事? 查看

2.6 xdebug 經常使用的交互界面

  • Xdebug 提供的默認的dbgb界面。 詳見:dbgp/dbgpclient.php

  • PHPStorm 的調試界面

2.7 能夠與PHPUNIT的整合,進行單元測試環境的調試

3、 其餘語言的調試工具

基本上每一個語言都有其調試的工具,那其餘的語言的調試工具和原理是什麼,是怎麼來通訊的?

如java, c++, Go等語言的調試工具的構建

4、 待研究的地方

4.1 奇怪的問題:PHPStorm XDebbug鏈接但未中止,查看

相關文章
相關標籤/搜索