解释器的话,前面已经说了,sys.settrace指定一个函数来处理感兴趣的事情就可以了,可以做到:
- trace变量变更
- trace特定事件
- trace执行的函数、语句信息
- ...
总之就是一系列的条件trace能力
对于编译型的,我们也没法对binary进行修改了,就得用些动态trace的技术,比如借助软件断点、硬件断点、硬件watchpoints等。
see:https://www.debuggingbook.org/beta/html/Tracer.html#:~:text=Debuggers%20that%20act,and%20hardware%20tracing.