Tôi có một chương trình C phân tách lỗi sau khi đi sâu vào một mớ hỗn độn đệ quy vô hạn. Backtracing quá trình trong GDB là vô ích vì khung ngăn xếp cuộc gọi sâu ít nhất 1000 khung và các lệnh gọi hàm lặp lại là một chuỗi bốn lệnh gọi hàm đệ quy phổ biến (vì vậy các điểm dừng dường như vô dụng). Các cuộc gọi lặp đi lặp lại để chỉ đọc lại bốn tên hàm, lặp đi lặp lại. Tôi nhận ra rằng việc thực hiện 'lên' 'lên' 'sẽ giúp tôi tăng cao hơn, vì vậy tôi có thể thấy mô hình này bắt đầu xảy ra ở đâu, nhưng có vẻ như sẽ hiệu quả hơn khi bắt đầu từ cuộc gọi cao nhất Thay vào đó, xếp khung và bước xuống, bởi vì linh cảm của tôi là đệ quy vô hạn bắt đầu sớm trong quá trình. Nếu ngăn xếp cuộc gọi có tổng số N khung, tôi biết tôi chỉ có thể làm
gdb>> up N
để lên đến đỉnh của ngăn xếp (khung thứ N), nhưng vấn đề là tôi không biết N. Có lệnh nào để tìm tổng số khung trong ngăn xếp cuộc gọi không? Hoặc, có một lệnh GDB tích hợp khéo léo để nhảy lên khung hình cao nhất không? Tôi nhận ra rằng khung trên cùng phải là hàm main () - tôi có thể tận dụng kiến thức đó để đến khung trên cùng không?