2012-04-30 30 views
9

Kinh nghiệm khá hạn chế của tôi với Node và Express không giúp được gì, nhưng tôi đang gặp sự cố khi gỡ lỗi ứng dụng từ cửa sổ đầu cuối. Đây là vấn đề:Gỡ lỗi nút/Express --- yêu cầu ('express') tạo ra một break

chạy node debug app.js lợi nhuận:

< debugger listening on port 5858 
connecting... ok 
break in server.js:1 
    1 var express = require('express'); 

Đây có phải là đúng cách gỡ lỗi các ứng dụng nhanh?

Trả lời

9

Có trình gỡ lỗi GUI phổ biến (tận dụng WebKit, ví dụ: Chrome, Safari ..).

Bạn nên cung cấp cho nó một đi https://github.com/dannycoates/node-inspector

+1

nút thanh tra có vẻ như là cách để đi, cảm ơn. Những gì nó vẫn không rõ ràng với tôi mặc dù là làm thế nào bạn truy cập vào các biến máy chủ. Trong ví dụ này, thể hiện trả về không xác định. –

+0

Tôi giả sử bạn muốn kiểm tra biến bằng trình gỡ lỗi tích hợp? Hãy thử xem ví dụ ở đây http://nodejs.org/api/debugger.html Về cơ bản bạn cần vào chế độ REPL, sau đó kiểm tra .. – 250R

+2

Thêm lệnh đúng cách khởi động, không chỉ để lại liên kết ... và kiếm được upvote của tôi ... ^^ – jebbie

2

Cá nhân, tôi thích sử dụng một sự kết hợp của node-inspector với old-fashioned console.log câu lệnh để tìm ra những gì đang xảy ra. (Tôi không nghĩ rằng v8-profiler, được đề cập bởi nút thanh tra, làm việc với Node 0.6.x, nhưng phải trung thực tôi đã không cố gắng.)

Nếu ai đó có một công cụ duy trì tốt hơn để gỡ lỗi Nút Các ứng dụng .js, tôi cũng muốn nghe về nó, nhưng đây là điều tốt nhất mà tôi biết.

+0

http://stackoverflow.com/questions/14214021/how-to-install-v8-profiler-using-npm-on-windows-7 –

10

Chỉ cần lặp lại cuộc gọi cho Thanh tra Nút bằng cách giải thích thêm một chút.

$ sudo npm install -g node-inspector 
$ node-debug app.js <arguments to your app> 
debugger listening on port 5858 
Node Inspector is now available from http://localhost:8080/debug?port=5858 
Debugging `app.js` 

Trình duyệt trong (dựa trên webkit?) Đi tới địa chỉ đó - hoặc nó cũng hoạt động tốt từ xa, miễn là các cổng đang mở.

enter image description here

Bây giờ bạn có thể truy cập vào tất cả các biến phía máy chủ (các app đối tượng ví dụ), tiếp xúc với các chương trình gỡ rối phía khách hàng. Nó khá huyền diệu. Bạn có thể đặt các điểm ngắt tại app.get() điểm vào hoặc tại init máy chủ hoặc bất cứ nơi nào.

+0

Tôi không thể làm điều này công việc. nút thanh tra mở ra, nhưng không tìm thấy app.js. –

+2

cái này phải là câu trả lời được chấp nhận - chỉ cần khởi động "node-inspector app.js" sẽ không thực hiện được mẹo nào cả;) và .. chỉ để lại một liên kết với "hey, check this out" không phải là cảm giác như một câu trả lời cho tôi .. ^^ – jebbie

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