Tôi đang cố gắng kiểm tra giá trị của một biến tại điểm ngắt xác định. Đây là mã đơn giản của tôi:Kiểm tra biến trong trình gỡ lỗi SLIME lisp
(defun foo()
(maplist (lambda (var)
(break)
var)
'(a b c)))
Chất nhờn đi vào chế độ trình gỡ lỗi tại thời điểm này. Vì vậy, tôi cố gắng đánh giá bằng cách nhấn phím ":" hoặc "e" và sau đó tôi nhập "(ô tô var)", nhưng chất nhờn tiếp tục nói:
Biến VAR không bị ràng buộc. [Điều kiện loại Unbound-BIẾN]
Tôi đang bối rối là tại sao nó nói điều này vì "(break)" nằm trong chức năng ẩn danh và trong phạm vi "var".
Ngoài ra, tất nhiên bạn phải ở đúng khung khi nhấn 'e', nhưng tôi đoán bạn biết điều đó, và đó là nơi bạn kết thúc theo mặc định. – danlei
Vâng, điều này làm việc cho tôi, cảm ơn bạn. Ngoài ra, một khi bạn thiết lập "(declaim (tối ưu hóa (debug 3)))" dòng, bạn phải biên dịch lại mã lisp của bạn cho sự thay đổi có hiệu quả. Và có, bạn phải ở đúng khung khi đánh giá trong biến thích hợp trong trình gỡ lỗi. –