紧接上回,在main函数打个断点,点击Debug按钮

点击Debug按钮
此时我们断在main函数处

查看args
这个args就是个列表,列表里有run,这个参数就是 flutter -run,即flutter运行启动的参数
点击下一步,进入main函数

main函数
这个函数就是用来解析flutter命令后面的参数,调用Runner.run方法处理

runner.run
至于后面跟的这些,都是对命令的处理

command
我们来看下Runner.run方法,该方法返回一个Future,核心是runner.run(args)方法

这个方法的核心是这里
继续点进去,我们可以看到super.run(args)

继续往下
继续点进去

继续
点进去runCommand,发现已经无法继续跟踪了,全局搜索runCommand,经断点调试,走到了run.dart里面来

runcommand
从这行代码可以看出,是在这里获取设备信息

设备信息
我们从控制台也可以看到设备信息

设备信息
一直往下阅读,直到刷新控制台代码

刷新控制台
在TerminalHandler里面会监听下面的打印

监听Xcode命令
点击setupTerminal,
最终跟到

image.png
这个就是打印的这些帮助信息内容

console
到这就开始监听键盘输入了,进入监听模式

开始监听键盘