调试器:原理、测试与扩展
1. 调试器基础与单步执行
调试器是程序员工作中重要的工具,它能帮助我们定位和解决程序中的问题。在深入探讨调试器的工作原理之前,我们先对虚拟机器的代码进行整合和重构,为后续的开发做准备。
首先,我们对虚拟机器的构造函数进行修改,使其可以接受一个输出流作为参数,默认情况下使用 sys.stdout :
def __init__(self, writer=sys.stdout):
"""Set up memory."""
self.writer = writer
self.initialize([])
接着,我们将所有的 print 语句替换为调用新的 write 方法,例如:
elif op == OPS["prr"]["code"]:
self.assert_is_register(arg0)
self.write(f"{self.reg[arg0]:06x}")
write 方法的实现如下:
def write(self, *args):
msg = "".join(args) + "\n"
self.writer.write(msg)
为了支持
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



