Trước tiên cho tôi nói rằng tôi có thể debug từ xa một phát hành xây dựng trên máy tính từ xa. Tôi set up my release build giống như xây dựng gỡ lỗi của tôi nhưng tôi chủ yếu phải đảm bảo rằng cờ gỡ lỗi không được đặt. Tôi đã xử lý việc này một lúc và cuối cùng quyết định thử và tìm ra lý do tại sao tôi phải trải qua điều này. Tôi cũng nên đề cập đến rằng kinh nghiệm gỡ lỗi từ xa của tôi bị giới hạn trong dự án này và chương trình C# sử dụng C++/CLI (được xây dựng với/clr) .DLL để hòa giải với một số thư viện C++ quan trọng. Tôi không cần phải gỡ lỗi các thư viện C++ cơ bản nhưng tôi cần gỡ lỗi mã C++/CLI. (Một lý do tôi đề cập đến điều này là tôi không thể liên kết libs trong tĩnh trong khi sử dụng cờ/clr).từ xa gỡ lỗi một ứng dụng với các phiên bản DEBUG của CRT khi VS không được cài đặt trên máy từ xa
Gần đây tôi đã phát hiện Dependency Walker vì vậy tôi đã sử dụng nó để xem điều gì đang diễn ra. Bật ra với bộ cờ gỡ lỗi, liên kết liên kết trong MSVCR100D.DLL và MSVCP100D.DLL, khi cờ không được đặt, nó sử dụng các tệp không có hậu tố "D". Bây giờ bình thường tôi có thể chỉ cần sao chép trên các phiên bản của tôi của những người .DLLs đến máy từ xa nhưng có một vấn đề. Máy tính xách tay dev của tôi với VS2010 là một máy 64 bit và máy mục tiêu là 32 bit. Điều đó có nghĩa là các phiên bản duy nhất của các DLL mà tôi sở hữu là 64 bit. Tôi đã cài đặt gỡ lỗi từ xa cho VS2010 (Tôi đã có cùng một vấn đề này dưới 2008) trên máy từ xa nhưng nó không bao gồm các phiên bản gỡ lỗi của các .DLLs hoặc (tôi không chắc chắn lý do tại sao nhưng tôi giả định này là bởi thiết kế). Vì vậy, câu hỏi của tôi là:
- Là chủ sở hữu đã đăng ký của VS2010 có nguồn hợp lệ cho các phiên bản 32 bit của những .DLL này tôi có thể đặt trên máy từ xa?
- Có cách nào đơn giản hơn để tôi nhận hỗ trợ gỡ lỗi không? Đó là tôi có thể thay đổi một số thiết lập khác mà chỉ nói với VS không sử dụng phiên bản gỡ lỗi của hai DLL? Lợi thế ở đây là biểu tượng DEBUG sẽ được thiết lập và bất kỳ mã điều kiện nào sử dụng nó sẽ hoạt động.
1K Cảm ơn bạn. Tôi cảm thấy một chút giống như một thằng ngốc vì không nhận thấy tùy chọn Thư viện thời gian chạy (vì tôi đã sử dụng cửa sổ bật lên đó để thử tùy chọn MT). Một loại mù tầm nhìn lạ mắt tôi đoán vậy. Tôi đã chọn không đưa các phiên bản không redist vào thư mục gỡ lỗi của mình trên máy từ xa. Thư mục đó sẽ bị xóa trước khi tôi giao máy cho khách hàng và tôi sẽ ở lại những ân sủng tốt của MS. – Tod
@Tod: Chắc chắn; không có gì. Đó là những gì trang web này là cho, thực sự. Nghe có vẻ như là một giải pháp tốt cho tôi; Tôi đã làm điều đó trên các dự án mà liên kết tĩnh không hoạt động. (Tôi chỉ nhận thấy rằng tôi đã bỏ lỡ phần đó trong câu hỏi của bạn, nơi bạn giải thích tại sao bạn không thể liên kết tĩnh.) –