-
Notifications
You must be signed in to change notification settings - Fork 103
代码说明
fesily edited this page Mar 4, 2022
·
8 revisions
代码有三个部分:vscode的插件,debug adapter,debugger;具体的架构可以看vscode的开发文档.
最简单的部分,就是初始化相关的内容,大部分的代码就是配置校验.
代码位于extension/js文件夹下.
- 负责启动目标进程(launch模式)
- 初始化与debugger的通信,windows下执行dll注入
- 包装vscode的消息转发给debugger
该模块的下变量client对于vscode,变量server对于debugger
代码位于extension/script/frontend文件夹下.
以下不写frontend所在的目录了
main.lua里run()是主循环, update()处理vscode发过来的消息,proxy.update()处理debugger发过来的消息
调试器分成了两块,worker和master.
worker是实际的调试器,master负责和adapter通信
入口在script/debugger.lua,start()启动了加载了remotedebug动态库,并且初始了一个内置lua5.4虚拟机来启动master和woker.
代码位于extension/script/backend文件夹下.