这两天考虑增加一个命令行的debugger用于调试LPC脚本。
主要让我觉得需要斟酌的一点是:当断点断下时,是挂起整个VM线程,还是只挂起脚本执行,线程依旧。如果是后者,实现起来会有点麻烦,并且需要另外制作一个debugger使用的调度器。而采用前者,会让系统的栈有点深,而且在scan sockets方面的代码会有一些重复。而且在调试时不能进行关闭VM的操作 - 原先是可以这样的。
在权衡的时候我考虑了另外一点,如果VM线程没有挂起,就会导致渲染等操作仍然进行,这种异步操作可能会给调试带来困扰,基于这点,我选择还是让VM线程挂起。
上午开工,比我预期的速度要快,毕竟做一个调试器并不算太麻烦。以前我在做i386的虚拟处理器的时候,制作调试器很容易。目前要做的工作比之前主要麻烦在watch和file这两方面,因为虚拟处理器只需要查阅寄存器和内存即可,也没有文件的符号信息这一说。
晚上还没有完全编码结束,考虑明天工作可能很多,今天晚上就暂时告一段落,明天抽空用几个小时应该可以结束编码,最后调试的时间预计不会太多。
没有评论:
发表评论