2008-09-16 39 views
10

Có thể cài đặt Trình gỡ lỗi từ xa x86 làm Dịch vụ trên máy 64 bit không? Tôi cần đính kèm một trình gỡ lỗi vào mã được quản lý trong quá trình Phiên 0. Quá trình chạy 32bit nhưng dịch vụ gỡ lỗi được cài đặt là 64bit và không đính kèm vào quy trình 32 bit.x86 Dịch vụ gỡ lỗi từ xa trên x64

Tôi đã thử tạo Dịch vụ bằng lệnh SC và có thể bắt đầu dịch vụ và xác minh rằng dịch vụ đang chạy trong quá trình Trình quản lý tác vụ. Tuy nhiên, khi tôi cố gắng kết nối với nó bằng studio trực quan, nó nói rằng màn hình trình gỡ rối từ xa không được kích hoạt. Khi tôi ngừng dịch vụ x86, và bắt đầu dịch vụ x64 và nó đã có thể tìm thấy màn hình, nhưng vẫn gặp lỗi.

Đây là lỗi khi tôi cố gắng sử dụng trình gỡ lỗi từ xa: Không thể đính kèm vào quy trình. Phiên bản 64-bit của Visual Studio Remote Debugging Monitor (MSVSMON.EXE) không thể gỡ lỗi các quy trình 32 bit hoặc các bãi 32 bit. Vui lòng sử dụng phiên bản 32 bit thay thế.

Đây là lỗi khi tôi cố đính kèm cục bộ: Việc đính kèm quy trình trong phiên máy chủ đầu cuối khác không được hỗ trợ trên máy tính này. Thử gỡ lỗi từ xa vào máy và chạy Microsoft Visual Studio Remote Debugging Monitor trong phiên của quá trình.

Nếu tôi cố gắng chạy trình gỡ lỗi từ xa 32bit như một ứng dụng, nó sẽ không làm việc đính kèm b/c Debugger từ xa đang chạy trong phiên của tôi và không có trong phiên 0.

+0

Bạn có thể cung cấp thêm chi tiết về sự cố không? dịch vụ 32 bit được đề cập là gì? Lỗi chính xác là gì - bạn ngụ ý đó là bit nhưng trình gỡ lỗi 64bit sẽ có thể tải mã được quản lý 32 bit, afaik. – x0n

Trả lời

16

này hoạt động trên máy tính của tôi (TM) sau khi cài đặt rdbgsetup_x64.exe và trải qua trình hướng dẫn cấu hình:

sc stop msvsmon90 
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90" 
sc start msvsmon90 
+0

Nó hoạt động tuyệt vời cho tôi cảm ơn! Mất rất nhiều tìm kiếm để tìm viên ngọc này 1 phiếu bầu từ tôi. – Xander

3

tôi đã không cố gắng này, nhưng đây là một đề xuất anyway:

Thử cài đặt dịch vụ trình gỡ lỗi từ xa x86 theo cách thủ công.

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90" 

Hai lưu ý:

  • Bạn sẽ cần phải sử dụng tên tập tin ngắn trong đường dẫn đến msvsmon.exe để tránh phải trích dẫn con đường (kể từ khi toàn bộ lệnh cần phải được được trích dẫn)
  • phải có khoảng cách sau "đường dẫn =" (và không có khoảng trắng trước ký tự '='). Ai đã viết trình phân tích cú pháp dòng lệnh cho lệnh sc sẽ bị nguyền rủa.

Sau đó, bạn có thể sử dụng applet bảng điều khiển services.msc để chạy nó với thông tin đăng nhập phù hợp.

Có thể bạn sẽ phải dừng hoặc thậm chí có thể xóa dịch vụ trình gỡ lỗi từ xa x64 hiện có.

3

Tôi có thể khẳng định rằng những gì bạn muốn làm thực sự sẽ làm việc. Tôi thường kết nối máy trạm xp 32 bit của tôi với máy chủ x200 win2003 với trình gỡ lỗi từ xa VS2008.

7

Chúng tôi đã gặp sự cố tương tự khi cố gắng gỡ lỗi từ xa một trang web đang chạy dưới dạng bit 32 bit bên trong IIS 64 bit.

Bạn cũng có thể làm điều này:

  • Dừng dịch vụ gỡ lỗi mặc định (mà sẽ được x64 như bộ cài đặt sẽ được thông minh và cấu hình rằng một để chạy).
  • Điều hướng đến Trình gỡ lỗi từ xa bắt đầu thư mục trình đơn và chạy dịch vụ gỡ lỗi x86 . Bỏ qua cảnh báo về
    32bit/64bit.
  • Mở cửa sổ Tools-> Options trong cửa sổ ứng dụng từ xa trình gỡ lỗi từ xa và thực hiện
    lưu ý giá trị trong hộp văn bản 'Máy chủ
    Tên'.
  • Bây giờ bạn có thể đính kèm hình ảnh studio của bạn với nó bằng cách sao chép 'Server Name'
    giá trị vào 'Qualifier' text/kết hợp hộp trên Đính kèm To Process thoại
    của Visual Studio.

Trên một lưu ý liên quan, đó cũng là một lỗi ở mức độ thấp với xác thực Kerberos nếu bạn đang gắn từ Windows 2008/7/Vista đến một máy 2003, được mô tả ở đây: http://www.labs.jobserve.com/Articles.aspx/Remote-debugging-code-on-Windows-2003-from-Vista-or-Windows-72008-R2 và báo cáo cho MS (đóng gần đây như 'bên ngoài') qua Kết nối tại đây: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

+0

Chúng tôi đã đệ trình lỗi mới với MS Connect về vấn đề xác thực Kerberos tại đây: https://connect.microsoft.com/WindowsServerFeedback/feedback/ViewFeedback.aspx?FeedbackID=518848. Nếu có ai khác gặp vấn đề này, thì hãy bỏ phiếu cho nó - Tôi có một sự nghi ngờ lén lút rằng nhóm Windows sẽ đơn giản trả lại nó cho Đội VS. –

+0

Điều này làm việc như một sự quyến rũ đối với tôi! Cảm ơn! Chỉ cần chạy tùy chọn x86 từ trình đơn bắt đầu. Vì vậy, dễ dàng hơn nhiều so với đối phó với dịch vụ. –

+0

Làm việc cho tôi nhưng tôi đã có thêm một bước - một dấu nhắc có/không trên hộp máy chủ để cho phép kết nối gửi đến sau khi tôi nhập Trình phân loại từ hộp máy chủ. –

0

Làm việc cho tôi mà không cần cài đặt phần mềm bổ sung. Tôi vừa sao chép thư mục C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger trên máy ảo và bắt đầu msvsmon.exe từ thư mục x86. Cả khách và chủ của tôi là x64.

0

1) Cài đặt phiên bản x64. Điều này cũng cài đặt trình gỡ lỗi x86 nhưng không tạo lối tắt.

2) Bạn có thể tìm thấy các thực thi cho quá trình gỡ lỗi x86 ở đây ... C: \ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Debugger từ xa \ x86 \ msvsmon.exe

3) Nếu bạn muốn, ghim nó vào thanh tác vụ.

0

Đôi khi lỗi này xảy ra, tôi chỉ đóng studio trực quan và mở lại, mọi thứ đều ổn!

Hành vi rất lạ so với