2011-12-08 31 views
11

Tôi đang sử dụng IDE Eclipse (Phiên bản Helios) Trong khi gỡ lỗi trong Eclipse, có thể chỉnh sửa nguồn và tiếp tục gỡ lỗi không ??Eclipse: Chỉnh sửa nguồn và tiếp tục gỡ lỗi

Ví dụ tôi có tệp này Trong khi gỡ lỗi khi tôi cố gắng sửa đổi giá trị a4 trong khi gỡ lỗi không phản ánh ??

public class Tes { 

    public static void main(String args[]) { 
     int a4 = 15; 

     for (int i = 0; i < a4; i++) { 
      System.out.println(i); 
     } 

    } 
} 

Trả lời

8

Có nó có thể chỉnh sửa mã nguồn và tiếp tục gỡ lỗi trong Eclipse! Bạn sẽ tìm thấy thông tin chi tiết tại đây: Debugging with the Eclipse Platform (cuộn xuống phần Sửa lỗi Hotswap: Mã đang sửa mã).

Nếu bạn đang chạy Java Virtual Machine (JVM) V1.4 hoặc cao hơn, Eclipse hỗ trợ một tính năng gọi là Hotswap Bug Fixing (không có sẵn trong JVM V1.3 hoặc thấp hơn). Nó cho phép thay đổi mã nguồn trong một phiên trình gỡ lỗi , tốt hơn là thoát khỏi ứng dụng, thay đổi mã, biên dịch lại, sau đó bắt đầu một lần gỡ lỗi khác phiên. Để sử dụng chức năng này, chỉ cần thay đổi mã trong trình chỉnh sửa và tiếp tục gỡ lỗi.

Có một số trường hợp tính năng này sẽ không hoạt động. Ví dụ. nếu bạn thay đổi biến số a4 của phương thức main, JVM sẽ không thể xóa tất cả các khung ngăn xếp đang chạy mã cũ khỏi ngăn xếp cuộc gọi. Dữ liệu trình gỡ lỗi sẽ bị mất.

Để xem tính năng JVM Hotswap Bug Fixing đang hoạt động, chỉ cần di chuyển mã từ phương thức main của bạn trong lớp Test sang một số lớp khác. Đây là những gì tôi muốn nói:

Hotswap Bug Fixing in Action

Bây giờ bạn có thể thay đổi mã một cách nhanh chóng trong khi gỡ lỗi trong lớp MyObject. Chúc vui vẻ!

EDIT: Chỉ cần tìm thấy một câu hỏi tương tự tại superuser.com: Debugging in Eclipse, how to run until a breakpoint

0

Nếu bạn chỉ muốn thay đổi giá trị a5 trong khi gỡ lỗi dễ dàng hơn thay đổi nguồn. Bạn có thể đặt giá trị mới trong chế độ xem biến mà bạn có thể thấy khi nào trong phối cảnh gỡ lỗi trong Eclipse.

Xem hướng dẫn herehere

1

Nếu bạn tình cờ được chạy ứng dụng của bạn sử dụng một JVM 1.3 hoặc phiên bản cao hơn, có một bước cuối cùng với chương trình gỡ rối vẫn chạy: -> thay đổi dòng sự cố - trong trường hợp "giá trị a4" của bạn và sau đó Lưu tệp, sau đó nhấn nút Tiếp tục để ứng dụng chạy lại.

Tiết kiệm của tệp java cụ thể mà bạn đã chỉnh sửa trong khi gỡ lỗi, sẽ làm cho phiên tiếp tục gỡ lỗi từ đầu (Constructor) của tệp với các giá trị mới.

Chỉnh sửa và lưu này có thể được thực hiện n số lần và khi bạn lưu, phiên gỡ lỗi sẽ tự động tiếp tục từ đầu tệp cụ thể đó.

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