2016-03-25 52 views
-1

我正在寫一個PinTool,它可以操縱某些寄存器/內存值。但是,在操作之後,我現在面臨的一個挑戰是deadloop檢測PinTool中的死循環

特別是,由於頻繁操縱某些寄存器值,通常在執行軌跡中創建deadloop。我正在考慮檢測這種情況,並終止執行。

所以,這裏是我的問題,什麼是在PinTool中檢測deadloop的良好做法?我可以想出一些天真的解決方案,比如說記錄執行的指令,如果某個指令已經執行了很多次,那麼就終止執行。

任何人都可以幫助我解決這個問題嗎?謝謝。

回答

0

檢測程序是否會終止並不是一般可計算的問題,所以不,我不認爲這是個好主意。

+0

我的意思是,當我正在進行動態分析時,當處理時間超過預先定義的閾值時,我可以削減執行。您認爲這是一個好主意嗎? – computereasy

+0

你怎麼知道預定義的限制是由於循環變量的問題,而不是一個很長的循環? – nitzanms