在 PinTool 中检测死循环

Detect deadloop in PinTool

我正在写一个 PinTool,它可以操纵某些 register/memory 值。然而,在操纵之后,我现在面临的一个挑战是 deadloop

特别是由于对某些寄存器值的频繁操作,在执行轨迹中创建deadloop确实很常见。我正在考虑检测这种情况,并终止执行。

所以这是我的问题,在 PinTool 中检测 deadloop 的好做法是什么? 我可以想出一些简单的解决方案,比如说,记录执行的指令,如果某个指令已经执行了很多次,就终止执行。

谁能帮我解决这个问题?谢谢。

检测程序是否会终止通常不是一个可计算的问题,所以不,我认为这不是一个好主意。