Saya memiliki program C yang seg kesalahan setelah turun jauh ke dalam kekacauan rekursif tak terbatas. Backtracing proses di GDB tidak berguna karena bingkai tumpukan panggilan setidaknya 1000 frame, dan panggilan fungsi berulang adalah serangkaian empat panggilan fungsi rekursif umum (sehingga breakpoints tampak tidak berguna). Panggilan berulang ke backtrace hanya membacakan empat nama fungsi, berulang-ulang. Terpikir oleh saya bahwa melakukan 'naik' 'naik' '... akan membuat saya lebih tinggi, jadi saya bisa melihat di mana pola ini pertama kali mulai terjadi, tetapi tampaknya akan lebih efisien untuk memulai dari panggilan teratas susun bingkai dan turunkan saja, karena dugaan saya adalah bahwa rekursi tak terbatas dimulai pada awal proses. Jika tumpukan panggilan memiliki total N frame, saya tahu saya bisa melakukannya
gdb>> up N
untuk sampai ke bagian atas tumpukan (frame N), tetapi masalahnya adalah saya tidak tahu N. Apakah ada perintah untuk menemukan jumlah total frame dalam panggilan stack? Atau, apakah ada perintah GDB bawaan bawaan untuk melompat ke bingkai paling atas? Terpikir oleh saya bahwa frame paling atas harus menjadi fungsi utama () - dapatkah saya memanfaatkan pengetahuan itu untuk sampai ke frame paling atas?