Secara teori dimungkinkan untuk lingkungan runtime untuk memeriksa loop tersebut menggunakan prosedur berikut:
Setelah instruksi dijalankan, lingkungan runtime akan membuat gambar lengkap dari status proses yang sedang berjalan (yaitu semua memori yang terkait dengannya, termasuk register, PC, stack, heap, dan global), simpan gambar itu di suatu tempat, dan kemudian periksa untuk lihat apakah itu cocok dengan salah satu gambar yang disimpan sebelumnya untuk proses itu. Jika ada kecocokan, maka proses macet dalam infinite loop. Jika tidak, instruksi selanjutnya dijalankan dan prosesnya diulang.
Faktanya, daripada melakukan pemeriksaan ini setelah setiap instruksi tunggal, lingkungan runtime bisa dengan mudah menjeda proses secara berkala dan membuat save-state. Jika proses macet dalam infinite loop yang melibatkan n state, maka setelah paling n memeriksa, keadaan duplikat akan diamati.
Perhatikan, tentu saja, bahwa ini bukan solusi untuk masalah penghentian; perbedaannya dibahas di sini .
Tetapi fitur seperti itu akan menjadi pemborosan sumber daya yang sangat besar ; terus-menerus menghentikan proses untuk menyimpan semua memori yang terkait dengannya akan memperlambatnya dengan sangat cepat dan menghabiskan banyak sekali memori dengan sangat cepat. (Meskipun gambar lama dapat dihapus setelah beberapa saat, akan berisiko untuk membatasi jumlah total gambar yang dapat disimpan karena loop tak terbatas yang besar - yaitu, dengan banyak negara - mungkin tidak tertangkap jika terlalu sedikit status disimpan dalam memori.) Selain itu, fitur ini sebenarnya tidak akan memberikan banyak manfaat, karena kemampuannya untuk menangkap kesalahan akan sangat terbatas dan karena itu relatif mudah untuk menemukan loop tak terbatas dengan metode debug lain (seperti hanya melangkah melalui kode dan mengenali kesalahan logika).
Oleh karena itu, saya ragu bahwa lingkungan runtime seperti itu ada atau akan pernah ada, kecuali seseorang memprogramnya hanya untuk iseng. (Yang saya agak tergoda untuk lakukan sekarang.)