22、调试器:原理、测试与扩展

调试器:原理、测试与扩展

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)

为了支持

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值