2012-03-10 24 views
13

Tôi là người mới bắt đầu ở MyEclipse IDEA. Tôi sử dụng phiên bản 8.6.1 của nó. Vấn đề của tôi là: Khi tôi thực hiện chương trình của mình ở chế độ gỡ lỗi, MyEclipse chuyển đến lớp sun.misc.URLClassPath và tôi phải Resume điểm ngắt (bằng cách nhấn phím F8) và tiếp tục thực hiện chương trình của mình. MyEclipse lưu trú tại URLClassPath lớp trong sau thread stack:Có điểm ngắt ngầm MyEclipse trong chế độ gỡ lỗi trong lớp URLClassPath

1. URLClassPath$JarLoader.<init>(URL, URLStreamHandler, HashMap) line: 581 
2. URLClassPath$JarLoader.ensureOpen() line: 631  
3. URLClassPath$JarLoader.getJarFile(URL) line: 641 
4. URLClassPath$JarLoader.ensureOpen() line: 631  

Lưu ý: sự kiện này xảy ra khi một số tập tin jar tồn tại trong dự án của tôi Build-Path nhưng khi ứng dụng của tôi rất đơn giản vấn đề này không thực hiện và breakpoint đầu tiên là breakpoint đầu tiên của tôi .

Tại sao sự kiện này lại xảy ra?

+0

Tôi đã gặp sự cố tương tự. Có vẻ như lý do nằm trong cái tên jar. Bản gốc jar eclipse sẽ mở là 'gwt-servlet-2.1.0.jar' và trong khung stack nó bằng cách nào đó đã trở thành 'gwt-servlet.jar', do đó không thể tìm thấy. – CDT

Trả lời

20

Tôi đã sao chép lỗi và không thể gỡ lỗi ứng dụng. Cách duy nhất mà tôi đã tìm thấy để khắc phục vấn đề này là: đi tới "window-> Preferences-> Java-> Debug" và vô hiệu hóa "tạm ngừng thực hiện các ngoại lệ chưa bắt buộc"

Bây giờ có thể gỡ lỗi ứng dụng và trình gỡ rối dừng lại ở điểm ngắt của người dùng.

+0

greate trả lời, Cảm ơn. – MJM

1

Lý do duy nhất để phá vỡ là khi một điểm ngắt được nhấn. MyEclipse (hoặc nhật thực) không thêm bất kỳ điểm ngắt nào. Tôi đề nghị bạn gỡ lỗi ứng dụng một lần nữa và, khi nó phá vỡ trong sun.misc.URLClassPath, đi đến tab Breakpoints trong phối cảnh gỡ rối và kiểm tra tất cả các điểm ngắt bạn đã thiết lập. Nếu bạn nhấp đúp vào từng điểm ngắt, nó sẽ đưa bạn đến tệp nguồn có liên quan. Hy vọng rằng, bạn có thể tìm ra cách breakpoint đã có nhưng để loại bỏ một breakpoint, nhấn chuột phải vào breakpoint và chọn Remove.

Ngoài ra, lưu ý rằng, theo mặc định, nhật thực sẽ phá vỡ các trường hợp ngoại lệ chưa đọc (mặc dù nó không giống như đó là vấn đề của bạn). Điều này có thể được thay đổi bằng cách vào các tùy chọn gỡ lỗi, Window-> Java-> Debug.

+0

Tôi làm điều này, nhưng không tồn tại bất kỳ điểm ngắt nào trong tab 'Debug'. – MJM

+0

Bạn đang nói rằng tab Breakpoint, trong phối cảnh Debug, không có điểm ngắt trong nó? Đường kẻ ngay phía trên dấu vết ngăn xếp là gì? Nó có lý do cho việc đình chỉ và sẽ nói một cái gì đó như "Chủ đề [chính] (Bị đình chỉ (breakpoint tại dòng 581 trong Blah))". –

+0

Có, trong 'tab breakpoint' không tồn tại bất kỳ hàng nào. Tôi đã viết dấu vết của debug trong câu hỏi ban đầu, nhưng chương trình sau đây: 'Chủ đề [chính] (Bị treo (ngoại lệ FileNotFoundException)) \t \t URLClassPath $ JarLoader.getJarFile (URL) dòng: 641 \t \t URLClassPath $ JarLoader.access $ 600 (URLClassPath $ JarLoader, URL) dòng: 538 \t \t URLClassPath $ JarLoader $ 1.run() dòng: 605 \t \t AccessController.doPrivileged (PrivilegedExceptionAction ) dòng: không có sẵn [phương pháp tự nhiên] \t \t URLClassPath $ JarLoader.ensureOpen() ' – MJM

0

giải pháp: ở trạng thái Gỡ lỗi chỉ tìm kiếm cửa sổ Điểm ngắt> trong chế độ xem lỗi gỡ lỗi và bỏ chọn [Vị trí bắt buộc].

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