2010-07-28 34 views
6

Tôi có một dự án Java mà tôi đang gỡ lỗi trong NetBeans (phiên bản 6.8 và 6.9) và tôi không thể bước vào hoặc bước qua mã. Tôi chỉ có thể thiết lập các điểm ngắt và sau đó tiếp tục các điểm ngắt. Điều này không phải là rất thuận tiện. Tôi muốn có thể bước qua mã mà không cần thiết lập các điểm ngắt ở mọi nơi và chạy đến chúng. Tôi đang gắn vào JVM bởi vì nó không thể được khởi động trong NetBeans (nó được bắt đầu bởi một chương trình C thông qua JNI). Có vấn đề nào liên quan đến việc đính kèm vào JVM không?Tại sao tôi không thể bước vào/qua mã nguồn Java trong NetBeans Debugger?

Nếu tôi tình cờ thử và bước vào/trên một dòng mã, trình gỡ rối bị treo (nút tạm dừng bị tắt) và tùy chọn duy nhất là tách/kết thúc phiên gỡ lỗi.

+0

Tôi không có giải pháp, chỉ hiển thị. Tôi thấy đôi khi những thứ tương tự trong netbeans. Tôi nghĩ, nhưng tôi không chắc chắn, đó là bởi vì các nguồn trong dự án không phải là cùng một phiên bản hoặc cùng một nguồn như điều chạy. Và cũng có thể, xóa .netbeans/6.x/var/cache giúp đôi khi. – Istao

Trả lời

7

Khi điểm ngắt của bạn bị trúng và bạn đã đột nhập vào mã java của mình. Hãy thử:

  1. Window -> Debugging -> Nguồn
  2. Add/Xác nhận thư mục gốc của nguồn java của bạn được thiết lập như một 'Nguồn gốc'.
+0

Tôi đã thấy điều này rất nhiều khi sử dụng các dự án dạng tự do trong Netbeans. Bạn phải thêm một số thư mục nguồn vào cửa sổ gỡ lỗi. Bạn có thể cần xóa và thêm lại các điểm ngắt. –

1

Sau khi mất quá nhiều thời gian thiết lập điểm ngắt và chạy hoặc sử dụng Debug \ Debug Project, tôi đã gặp may. Trong trình đơn Debug, tôi chỉ chọn 'Step Into' và IDE bắt đầu chạy mã của tôi một bước tại một thời điểm, làm nổi bật dòng đang hoạt động và tô sáng màu nổi bật khi một phản hồi của người dùng là bắt buộc. (Sử dụng gợi ý trên để tắt mã Java src cũng rất hữu ích.)

0

Tôi đã thấy hành vi này trong MỘT dự án đi kèm với một cuốn sách JSP. Bước qua làm việc tốt trong các dự án khác, nhưng trong một dự án cụ thể thực hiện một "Bước trên" chỉ cần thực hiện nó chạy đến breakpoint tiếp theo thay vì dòng tiếp theo.

Tôi đã tìm ra sự cố về sự khác biệt trong thuộc tính debug.classpath trong tệp project.properties.

dự án Bad thăm này: debug.classpath = $ {} build.classes.dir.real: $ {} javac.classpath: $ {} j2ee.platform.classpath

dự án tốt với Bước làm việc trên thay vào đó đã có: debug.classpath = $ {javac.classpath}: $ {build.classes.dir}

Thay đổi debug.classpath đã khắc phục được sự cố.

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