最近在Windows上做项目开发,发现写的脚本在命令行里面执行的时候,不定期会出现“阻塞”的情况。
简单来说,就是执行某个脚本的过程中,本应顺利输出的调试信息突然卡住不再输出了,代码也似乎停在那里不再往下运行,如果一直等待,程序也不会继续运行,就像这样:
但是,我发现只要此时按下键盘的任意键(比如我按下方向键↓),就可以继续执行了:
过了一段时间,经过对进程调用情况的详细分析,发现…咳…还是没有找到原因。
最后经高人指点,发现原来是对cmd窗口的使用姿势不对……由于cmd属性中开启了“快速编辑”,当鼠标点击到命令行窗口中之后,会导致命令行中的程序暂停运行,窗口的标题也会变为“选择 xxxx”,此时cmd就会等待用户的操作,才继续执行其中的程序。
综上所述,在命令行中执行程序的时候,千万不要手贱在命令行里面乱点,以免给自己带来灵异的bug,最后调试半天还发现是个低级错误(或者 请将“快速编辑”关闭=_=)。谨记之