Hmm ... Giáo viên của tôi, một số bạn cùng lớp của tôi và tôi sẽ xây dựng một dự án Debugger. Chúng tôi hy vọng rằng trình gỡ lỗi của chúng tôi tương tác, tức là khi mã được nhập, kết quả sẽ được hiển thị ở đâu đó vài giây sau đó và kết quả sẽ thay đổi trong khi mã đầu vào thay đổi. Mặt khác, trong khi chạy, chúng tôi có thể quay lại dòng cũ hoặc điểm ngắt.Nguyên tắc "Trình gỡ lỗi du hành thời gian" là gì?
Theo lời của giáo viên của tôi, kỹ thuật "Time Travel Debugging" sẽ được tham gia trong khi lập trình. Tôi đã tìm kiếm một số dự án được duy trì bởi những người khác nhưng tôi có thể không hiểu rõ mã và không có giới thiệu về kỹ thuật này trong bất kỳ tệp README nào.
tham khảo: https://github.com/mattgodbolt/compiler-explorer
Giáo viên của bạn có phải là người hâm mộ của Tiến sĩ Ai không? "Thời gian du lịch biên dịch" không phải là một thuật ngữ tiêu chuẩn. Nó có vẻ giống như một cụm từ mà họ đặt ra. Bạn có thể hỏi họ ý nghĩa của nó. –
Đó là về việc có thể thiết lập một điểm ngắt trong trình gỡ rối và sau đó bước * lùi * thông qua các câu lệnh để xem trạng thái của môi trường thời gian chạy tại các điểm * trước * điểm ngắt. – Pointy
Và nó không thực sự có nhiều thứ để làm với * trình biên dịch *, thực sự; đó là một điều hệ thống thời gian chạy. Vâng, tôi đoán * một trình biên dịch có thể tạo mã để duy trì một số loại ngữ cảnh kiểm toán, nhưng điều đó có vẻ giống như một cách thực sự kỳ lạ khi làm việc. – Pointy