2013-08-30 36 views
9

Tôi có một ứng dụng process.js đơn, mà tôi muốn gỡ lỗi với Intellij IDEA 11 32 bit (node.js cũng là 32 bit).Tại sao tôi không gỡ lỗi ứng dụng nodejs trong Intellij IDEA 11?

Vì vậy, tôi đặt điểm ngắt đầu tiên và chạy. Các debugger dừng lại ở breakpoint, nhưng sau đó nó từ chối làm bất cứ điều nào sau đây:

  • bước vào
  • đi đến một breakpoint
  • tạm dừng thực hiện

Khi tôi bước vào, nó dường như chỉ chạy, mà không cần bước qua mã. Sau khi chạy, nó bỏ qua bất kỳ điểm ngắt tiếp theo nào và không ngắt khi tôi nhấn nút tạm dừng.

Sự cố này khiến tôi phát điên. Bất kỳ ý tưởng nào về cách khắc phục sự cố đó?

EDIT

Thông tin thêm. Sau khi IDEA phá vỡ điểm ngắt đầu tiên (thời gian thành công duy nhất), tôi cố gắng kiểm tra các biến và không thể thấy bất kỳ biến nào. IDEA bị kẹt trên "Đang thu thập dữ liệu ..." Cửa sổ xem cũng không hoạt động.

EDIT2

Justed gửi một vấn đề lỗi hệ thống theo dõi của họ - http://youtrack.jetbrains.com/issue/IDEA-112925

+0

Bạn có đang sử dụng plugin node.js cho Intellij IDEA không? – vinayr

+0

Thật vậy, tôi ... – mark

+1

Không phải là nó hữu ích, nhưng đôi khi tôi có cùng một vấn đề với WebStorm, một sản phẩm JetBrains khác. Bạn không cô đơn. :) Tôi đã nhận thấy nếu tôi xóa tất cả các điểm ngắt thiết lập (bằng cách sử dụng hộp thoại breakpoint), và gỡ lỗi một lần nữa họ đôi khi làm việc đáng tin cậy hơn. Đôi khi. – WiredPrairie

Trả lời

9

Tôi đã nhận thấy rằng debugger Node.js IntelliJ của kinda sucks. Đó là cái chết của 1000 vết cắt. Tôi yêu IntelliJ đến chết, một IDE tuyệt vời của nó. Nhưng đối với nút, trình gỡ lỗi có hàng triệu kịch bản khác nhau, nơi các điểm ngắt không hoạt động đúng và một triệu nữa mà nó không cung cấp cho bạn quyền truy cập vào các giá trị biến trong phạm vi và một triệu lần khác. ..

tôi sẽ hafta thử tìm kiếm một công cụ khác ..

CẬP NHẬT 2014/01/13: tôi đã sử dụng debugger IntelliJ của một thời bây giờ (sau khi không tìm thấy công cụ tốt khác) . Có vẻ như một số vấn đề với nó là vấn đề với nút hoặc v8. Hầu hết các vấn đề tôi đã hoặc đang thực sự được giải quyết bằng các phiên bản mới hơn của IntelliJ hoặc bằng cách sử dụng giải pháp này:

1. tạo một tệp có tên là proxyDebug.js

2. đưa nội dung sau đây trong nó:

require('path/to/the/script/you/want/to/debug.js')

3. trỏ trình gỡ lỗi của bạn đến tệp đó

Rõ ràng các nút gỡ lỗi node.js bị lỗi tại tập lệnh nhập cảnh, do đó bằng cách tạo điểm truy cập proxy mà chúng tôi không quan tâm, sẽ không có bất kỳ lỗi lạ nào gây ra bởi trong kịch bản bạn làm quan tâm. Các lỗi được khắc phục này đã bị mất điểm ngắt, các biến được xác định trước (exports, module, process, v.v) không thể truy cập được bằng trình gỡ lỗi và một hoặc hai thứ khác mà tôi không thể nhớ.

+0

Câu trả lời tuyệt vời, cảm ơn! – Grammin

+0

Đã có vấn đề tương tự với IDEA 13, nâng cấp lên 14 EAP đã khắc phục được sự cố. –

5

Phiên bản WebStorm cuối cùng tôi đã thử (7.0.3) thực sự mất độ tuổi trong việc thu thập dữ liệu nhưng cuối cùng hoạt động. Nếu nó có vẻ khó khăn với bạn, hãy thử để nó trong một phút

+0

intellij 14 .. tương tự - dường như bị mắc kẹt với tôi. chờ một vài phút, sau đó đột nhiên đá vào .. cảm ơn! –

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