Nói rằng tôi có một phiên IPython, từ đó tôi gọi một số kịch bản:Breakpoint gây ra gỡ lỗi tương tác của Python với IPython
> run my_script.py
Có cách nào để tạo ra một breakpoint trong my_script.py
mà từ đó tôi có thể kiểm tra không gian làm việc của tôi từ IPython?
Tôi nhớ đọc rằng trong các phiên bản trước của IPython người ta có thể làm:
from IPython.Debugger import Tracer;
def my_function():
x = 5
Tracer()
print 5;
nhưng submodule Debugger
dường như không còn khả dụng nữa.
Giả sử rằng tôi đã mở phiên IPython: làm cách nào để dừng chương trình của tôi một vị trí mà tôi chọn và kiểm tra không gian làm việc của tôi bằng IPython?
Nói chung, tôi muốn các giải pháp không yêu cầu tôi chỉ định số dòng, vì tôi muốn có thể có nhiều cuộc gọi như vậy đến Tracer()
ở trên và không phải theo dõi số dòng nơi chúng là.
Vì tò mò, tại sao bạn lại muốn nhiều hơn một trình theo dõi cùng một lúc? Tại thời điểm đó có vẻ như bạn nên làm việc đăng nhập, không gỡ lỗi. – Wilduck
@Wilduck: Tôi muốn kiểm tra không gian làm việc của mình trong một số trường hợp nhất định và những trường hợp đó có thể xảy ra ở các vị trí khác nhau trong mã của tôi. –
Được rồi, có lẽ tôi đã nói sai câu hỏi của tôi. Tôi hiểu lý do bạn muốn xem các phần khác nhau của mã. Tại sao bạn muốn có những dấu vết trong mã của bạn _at cùng một time_? Nếu bạn không sử dụng trình gỡ rối để sửa lỗi vĩnh viễn (tức là một lỗi tại một thời điểm), việc cài đặt ghi nhật ký có tự động tốt hơn/dễ dàng hơn hay không để thu thập thông tin về cách chương trình của bạn đang chạy ở các trạng thái khác nhau? Tôi hỏi vì có vẻ như bạn đang cố gắng sử dụng các công cụ gỡ lỗi cho việc ghi nhật ký nào đó. – Wilduck