2008-09-02 11 views
8

Vì vậy, tôi đã đọc rằng nó không phải là một ý tưởng tốt để cài đặt VS2008 trên máy chủ thử nghiệm của tôi vì nó thay đổi môi trường thời gian chạy quá nhiều. Tôi đã không bao giờ cố gắng gỡ lỗi từ xa với Visual Studio trước, vì vậy cách tốt nhất để có được dòng bằng cách gỡ lỗi từ xa của mã ứng dụng web phía máy chủ. Tôi muốn có thể thiết lập một điểm ngắt, đính kèm, và bắt đầu từng bước để xác minh dòng mã và, bạn biết, gỡ lỗi và các công cụ :).Remote Debugging Server Side của một ứng dụng web với Visual Studio 2008

Tôi chắc chắn hầu hết các câu trả lời sẽ liên quan đến mã ASP.NET và tôi quan tâm đến điều đó, nhưng cơ sở mã hiện tại của tôi thực sự là phần mở rộng ASP và ISAPI cổ điển, vì vậy tôi quan tâm nhiều hơn một chút.

Ngoài ra, máy chủ thử nghiệm của tôi đang chạy trong VMWare, tôi đã nhận thấy trong cài đặt VMWare mới nhất nó đề cập đến một cái gì đó về gỡ lỗi hỗ trợ, nhưng tôi không quen với điều đó có nghĩa là ... bất cứ ai sử dụng nó, nó làm gì cho bạn?

Trả lời

12

Đầu tiên, điều này sẽ dễ dàng hơn nếu cả máy chủ và máy trạm của bạn nằm trên cùng một miền (máy chủ cần quyền truy cập để kết nối với máy của bạn). Trong thư mục C: \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86 (hoặc x64, hoặc ia64) là các tệp bạn cần sao chép vào máy chủ của bạn. Có các phiên bản khác nhau giữa các phiên bản Visual Studio, vì vậy hãy đảm bảo chúng khớp với phía máy khách và phía máy chủ. Trên máy chủ, hãy kích hoạt msvsmon. Nó sẽ nói một cái gì đó như "Msvsmon bắt đầu một máy chủ mới có tên xxx @ yyyy". Đây là tên bạn sẽ sử dụng trong Visual Studio để kết nối với máy chủ này. Bạn có thể vào Tools> Options để đặt tên máy chủ và đặt chế độ xác thực (hy vọng Windows Authentication) - BTW No Authentication không hoạt động đối với mã được quản lý.

Ở phía máy khách, mở Visual Studio và tải giải pháp bạn sẽ gỡ lỗi. Sau đó, đi tới Gỡ lỗi> Đính kèm vào Quy trình. Trong trường "Vòng loại", hãy nhập tên của máy chủ như bạn đã thấy xuất hiện trước đó. Nhấp vào nút Chọn và chọn loại mã bạn muốn gỡ lỗi, sau đó nhấn OK. Hy vọng rằng bạn sẽ thấy một danh sách các quá trình trên máy chủ mà bạn có thể đính kèm (bạn cũng sẽ thấy trên máy chủ mà màn hình gỡ lỗi chỉ cho biết bạn đã kết nối). Tìm quy trình đính kèm (khởi động ứng dụng nếu cần). Nếu đó là một trang web ASP.NET, bạn hãy chọn w3wp.exe, sau đó nhấn Đính kèm. Đặt các điểm ngắt của bạn và hy vọng bạn hiện đang gỡ lỗi mã từ xa.

AFAIK - tùy chọn VMWare cho phép bạn khởi động mã bên trong máy ảo nhưng gỡ lỗi nó khỏi máy trạm của bạn.

0

Visual Studio đi kèm với remote debugger mà bạn có thể chạy dưới dạng exe trên máy chủ của mình. Nó hoạt động tốt nhất nếu bạn có thể chạy nó như một người dùng miền giống như bản sao của studio trực quan. Sau đó, bạn có thể thực hiện một đính kèm để xử lý từ trình gỡ rối trên máy của bạn đến quá trình IIS trên máy chủ và gỡ lỗi như thể nó đang chạy trên máy của bạn. Bạn nhận được nhiều tùy chọn hơn để gỡ lỗi .Net, nhưng cũng có hỗ trợ cho các nền tảng cũ hơn.

+0

nơi nào chúng tôi cần sao chép tệp msvsmon.exe vào máy chủ? –

+0

@abid Tôi không nghĩ rằng vị trí có vấn đề, bạn sẽ cần phải chạy nó, vì vậy bất kỳ nơi nào có quyền thực thi cho đúng tài khoản –