2008-10-13 34 views
15

Có cách nào để báo cho trình gỡ rối ngừng ngay trước khi trở về, trên bất kỳ câu lệnh nào thoát ra khỏi phương thức, có thể trả về, ngoại lệ hoặc rơi xuống dưới cùng không? Tôi lấy cảm hứng từ thực tế là trình soạn thảo Java hiển thị cho tôi tất cả các địa điểm mà phương pháp của tôi có thể xuất hiện - nó làm nổi bật chúng khi bạn nhấp vào loại trả về của khai báo phương pháp, (Đánh dấu lần xuất hiện).eclipse beakpoint: dừng trước khi rời khỏi phương thức Java

[eclipse 3.4]

Trả lời

31

Đặt điểm ngắt trên dòng chữ ký của phương thức. Đó là nơi mà bạn viết

public void myMethod() { 

Sau đó nhấp chuột phải vào breakpoint và chọn "Breakpoint Properties". Ở dưới cùng của cửa sổ bật lên có hai hộp kiểm: "Phương thức nhập", "Phương thức thoát". Kiểm tra sau.

0

Câu hỏi hay. Trên đỉnh đầu của tôi, tôi sẽ làm điều này:

public void method(Object stuff) { 
    try { 
     /* normal code */ 
    } finally { 
     int x = 0; 
    } 
} 

Bạn có thể đặt điểm ngắt trên đường x = 0 và nó sẽ luôn luôn được thực thi bất kể bạn quay trở lại đâu. Ngay cả với một ngoại lệ được ném ra, nó sẽ được chạy.

Việc nắm bắt điều này là phạm vi. Trừ khi bạn xác định các biến bên ngoài khối thử, bạn sẽ không thể thấy giá trị của chúng ở nơi bạn nhận được đến khối cuối cùng vì chúng sẽ có phạm vi thoát.

Chỉ cần đặt 5 điểm ngắt (một cho mỗi câu lệnh trả về, bất kỳ điều gì) có thể hoạt động tốt nhất.

Tôi hy vọng có một cách tốt hơn, tôi rất muốn biết điều đó.

+0

Tôi thích câu trả lời này. Mặc dù đòi hỏi một sự thay đổi mã, nó là trình gỡ lỗi độc lập! –

3

Bạn có thể đặt điểm ngắt phương thức.

Nhấp đúp vào lề bên cạnh tuyên bố phương pháp. Một breakpoint với một trang trí mũi tên xuất hiện. Nhấp chuột phải để kiểm tra các thuộc tính, bạn có thể đặt "Tạm dừng trên:" cho "Phương thức nhập" và/hoặc "Thoát phương thức".

Bạn có thể đọc thêm về chúng trong số Eclipse Cookbook.

Các vấn đề liên quan