Giả sử tôi có một lớpthiết lập một (phương pháp) breakpoint cho một đối tượng cụ thể (và không phải tất cả các trường hợp của kiểu đó) trong java
public class Foo
{
public void doThing() { ...}
}
Nói rằng tôi có một trường hợp rất nhiều Foo
, nhưng tôi chỉ là đặc biệt quan tâm đến một trong số họ.
Làm cách nào để "gắn thẻ" trường hợp đó và đặt "điểm ngắt có điều kiện" trong doThings
sẽ dừng CHỈ cho phiên bản được gắn thẻ? Có cách nào "xây dựng", đặc biệt là trình gỡ lỗi Eclipse, để thực hiện việc này không?
Hiện tại, tôi phải tạo cờ boolean theo cách thủ công trong lớp Foo
đặt thành mặc định theo mặc định và tạo điểm ngắt có điều kiện dựa trên điểm đó trong doThings
. Sau đó, khi tôi gặp phải đối tượng quan tâm, tôi sẽ đặt cờ thành true
bằng cách thực thi mã setter trong cửa sổ Display
.
Nhưng rõ ràng, điều đó đòi hỏi phải sửa đổi mã và thêm một số bản mẫu, không phải lúc nào cũng có thể hoặc một việc tốt để làm.
Tôi không chắc chắn đó là những gì bạn đang hỏi, dù sao, tính năng này đã có sẵn trong thời gian dài. Bắt đầu gỡ lỗi và khi điểm dừng dừng trên đối tượng mong muốn của bạn, hãy nhấp vào "this" trong khung nhìn debug variables, sau đó "breakpoint instance"; bạn nhận được danh sách các trường hợp trực tiếp và bạn có thể chọn để hạn chế breakpoint –
@guido Điều đó nghe giống như những gì anh ta yêu cầu với tôi. Bạn nên thêm đó làm câu trả lời. – erickson
@erickson tôi không chắc chắn vì điều này chỉ hoạt động trong thời gian chạy sau khi bắt đầu các phiên gỡ lỗi và trường hợp đã có sẵn, có vẻ như anh ta muốn quyết định trường hợp nào trước đó, tại thời gian biên dịch –