2011-12-09 34 views
9

Tôi có một ô cửa sổ và một máy ảo chạy CentOS. Có ai xảy ra để biết làm thế nào tôi có thể gỡ lỗi một kịch bản nút CLI (mà không mở một cổng) bằng cách sử dụng PHPStorm? "Cấu hình chỉnh sửa" dường như chỉ hỗ trợ kết nối ở đâu đó thay vì nghe cho các kết nối đến.Làm thế nào để gỡ lỗi từ xa Nút JS bằng PHPStorm?

+0

Chính xác thì bạn đang cố gắng đạt được điều gì ở đây ..? – alessioalex

+0

@alessioalex, đặt điểm ngắt, đọc vars, và như vậy - giống như với xDebug từ xa - Tôi sẽ đặt bp trong PHPStorm, bắt đầu nghe, sử dụng putty để chạy tập lệnh trên vm và nó sẽ liên lạc với IDE Hãy để tôi làm tất cả những thứ hữu ích – Fluffy

+1

Một tùy chọn khác có thể là thiết lập đường hầm SSH để cổng mở trên máy chuyển hướng cục bộ đến cổng trên máy chủ từ xa. – CrazyCoder

Trả lời

9

Đảm bảo bạn đã cài đặt nodejs plugin.

Nếu máy chủ của bạn có gói cân bằng khả dụng (hộp EC2 của tôi không), bạn có thể use this tutorial để chuyển tiếp cổng bằng bộ cân bằng.

yum install balance -yt 
balance -df 8585 127.0.0.1.5858 

Nhiều thành công báo cáo với iptables chuyển hướng từ eth0 để lo (không làm việc cho tôi) như thế này:

iptables -t nat -A PREROUTING -p tcp -m tcp -i eth0 --dport 5858 -j DNAT --to 127.0.0.1:5858 

Ngoài ra còn có một kịch bản đơn giản nút described in this eclipse debugging tut (gần phía dưới), sẽ đào hầm lỗi cục bộ của bạn tới một máy chủ từ xa.

Nhưng một khi tôi đã đi quá xa con đường, tôi không thấy điểm nào là quen thuộc với SSH. Vì vậy, cuối cùng, I went with an SSH tunnel và thiết lập PHPStorm để gỡ lỗi localhost. SSH Tunnel using putty

PHPStorm configuration

+1

Dường như PHPStorm vừa phát hành bản sửa lỗi cho [lỗi có đường dẫn từ xa] (http://youtrack.jetbrains.com/issue/WI-9821?projectKey=WI)! Điều đó sẽ rất thú vị. – Kato

+0

bạn vẫn cần đặt tiêu đề khi kết nối từ trình duyệt như đối với các phiên gỡ rối PHP? Ngoài ra, bạn có thể thiết lập các điểm ngắt trong mã trong PHPStorm hay bạn cần sử dụng sys.debug()? – codecowboy

6

Đối với người dùng không phải là Windows, đây là làm thế nào để thiết lập đường hầm chuyển tiếp cổng sử dụng ssh:

ssh -f [email protected] -L local_port:localhost:port_on_remote -N 

Điều này có nghĩa "ssh để your-remote-host, đăng nhập như ssh_user Khi đó mở. kết nối với localhost:port_on_remote và hiển thị kết nối này tại local_port của máy nơi ssh đang chạy ".

Phần không rõ ràng là bạn cần sử dụng localhost, vì trình gỡ lỗi của Node chỉ liên kết với địa chỉ IP cục bộ (và không giải quyết được your-remote-host sẽ giải quyết).

Ví dụ với giá trị thực:

ssh -f [email protected] -L 5858:localhost:5858 -N 

(dựa trên this howto, chỉ cần đưa tôi một thời gian để tìm ra các mảnh localhost).

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