2008-12-22 32 views
9

Tôi đã ngồi sửa lỗi từ xa trên máy chủ Window 2003 được truy cập qua Internet. Tôi đã cài đặt VS 2008 SP1 trên hộp dev XP của mình.Điểm ngắt không được nhấn khi gỡ lỗi từ xa trên Internet cho ASP.NET

Tôi đã khởi chạy trang web trên máy chủ từ xa và được đính kèm với tất cả các quy trình w3wp.exe trên máy chủ từ xa. Tôi nhận thấy rằng các .dll không tải các tập tin biểu tượng. Khi tôi cố tải tệp .pdb tương ứng từ máy cục bộ của tôi, tệp cho biết tệp không khớp. Tôi có "Yêu cầu tệp nguồn để khớp chính xác với phiên bản gốc" không được chọn. Việc lắp ráp trên máy chủ từ xa giống như trên hộp dev của tôi. Trang web và .dll đã được sao chép từ dev boc sang máy chủ từ xa và mã đã không thay đổi kể từ đó. Vì vậy, tôi biết các tập tin .dll và .pdb phải phù hợp hoặc ít nhất tôi cần phải ép buộc kết hợp.

Câu hỏi:

  1. Làm thế nào để có được các tập tin PDB để tải? Tôi biết điểm ngắt sẽ không kích hoạt trừ khi tệp biểu tượng được tải. Tôi nhận thấy rằng tệp .pdb không tồn tại trong thư mục "Tệp ASP.NET tạm thời" trên máy chủ từ xa. Dll.

  2. Trình tự thích hợp để bắt đầu gỡ lỗi từ xa bên trong VS là gì? (Thiết lập từ xa được thực hiện và tôi có thể thấy các quá trình từ xa). Trong VS, tôi có trang bắt đầu làm url của trang từ xa. Tôi bắt đầu mà không cần gỡ lỗi và sau đó đính kèm vào w3wp.exe (s) trên điều khiển từ xa. Đây là tất cả sao?

Trả lời

4

Bạn đang chạy một trang web hoặc một ứng dụng web (nó là một dự án đã biên dịch, bạn triển khai DLL cho, hoặc tập hợp các tệp aspx và aspx.cs mà bạn triển khai)?

Nếu đó là một ứng dụng web, bạn đã triển khai bản phát hành bản phát hành hay bản dựng lỗi? Bạn sẽ không thể đạt được điểm ngắt khi "gỡ lỗi" bản phát hành bản phát hành vì mã được tối ưu hóa khá nhiều.

Bạn đã nhận được bộ "debug = true" trong phần biên dịch web.config chưa? Nếu không, một lần nữa, gỡ lỗi sẽ khó khăn.

Cuối cùng, các bước tôi sử dụng khi gỡ lỗi từ xa là:

  1. Triển khai mới nhất debug xây dựng các tập tin
  2. Yêu cầu trang trên máy chủ từ xa để bắt đầu/ứng dụng khởi động lại
  3. Đảm bảo rằng VS Debugging Monitor từ xa đang bật và chạy trên máy chủ từ xa
  4. Trong VS, hãy chuyển đến Công cụ (hoặc Gỡ lỗi) | Đính kèm Quy trình ..., đảm bảo rằng máy chủ từ xa được chọn trong Trình phân loại và chọn w3wp.exe cho đúng nhóm ứng dụng, v.v.
  5. Trang yêu cầu sẽ kích hoạt điểm ngắt.
  6. Gỡ lỗi!

Nếu điểm ngắt rỗng (vòng tròn màu đỏ mỏng thay vì đĩa đầy), tôi thường kiểm tra cửa sổ Ngăn xếp trong VS để xem có gì và chưa được tải.

+0

Đó là ứng dụng web chứ không phải ứng dụng trang web. Tất cả mọi thứ bạn đã đề cập đã được thực hiện. Tuy nhiên câu hỏi đầu tiên của tôi vẫn đứng vững. Làm thế nào để bạn có được tệp .pdb để tải và VS mong đợi nó ở đâu? Nhìn vào nhật ký của trang web, tôi không thấy các lệnh DEBUG được ghi lại. – Abdu

+0

Ngoài ra tôi không thể tìm thấy% tmp% \ Visual Studio Web Debugger.log tập tin.Tôi đã tìm trong thư mục% tmp%, tôi nhìn vào cây thư mục tài liệu và thiết lập và cây VS chính nó. Có cài đặt trong VS để bật tính năng ghi nhật ký này không? – Abdu

+0

VS xác định rằng dll và .pdb không khớp như thế nào? Dấu thời gian? Một số nội dung? Chúng phải khớp nhau vì tôi đang sao chép các tệp từ máy cục bộ của tôi sang máy chủ từ xa. – Abdu

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