整体情况如下图所示:
MobDebug的交互协议
mobdebug使用的通信模式是应答式的, 也就是大部分时候都是远端的IDE向调试目标程序发送一条命令后, 就进入等待调试目标返回结果的状态了...接下来就是一个比较正常的发送各种控制指令查询目标调试程序状态的过程了
MobDebug的调试框架实现
接下来我们简单看一下mobdebug的关键代码, 通过关键代码熟悉一下MobDebug的实现思路...使用luasocket以传入的IP和端口连接IDE那边开启的server
2. 创建debug_loop协程
3....工作的流程, 也就是我们调用start()开启debug session后IDE与目标调试应用程序之间交互的过程, 我们简单过一下以上的每个步骤:
1....总结
文章省略掉了协程yield和resume那部分的逻辑, 虽然协程帮mobdebug解决了不需要暂停主线程, 另外开一个线程去处理调试相关的逻辑, 直接在主线程中处理网络指令拆解, 执行,