Tôi đang gặp sự cố khi gỡ lỗi bất kỳ trang web ASP Classic nào trên máy trạm của mình bằng bất kỳ môi trường gỡ lỗi MS nào có sẵn cho tôi. Tôi đang sử dụng Win XP SP3, sử dụng IIS 5.1 dựng sẵn.Trình gỡ rối trên dòng sai khi gỡ lỗi Classic Asp
Bắt đầu một vài tuần trước và xảy ra trên nhiều dự án. Một cái gì đó thay đổi rõ ràng trong môi trường của tôi, bởi vì nó đã làm việc tốt trong quá khứ, ngay cả trong IDE gần đây miễn là tôi đính kèm để xử lý. Sau đó, nó đã phá vỡ như mô tả dưới đây. Tôi đã từ bỏ nó, nhưng tôi bắt đầu làm việc trên một dự án mới gần đây, cố gắng để gỡ lỗi và nó đã làm việc! Hôm nay, mặc dù, nó trở lại hành vi bị hỏng tương tự:
Khi tôi cố gắng đặt điểm ngắt, IDE thực sự đặt điểm một vài dòng ở trên hoặc bên dưới dòng tôi đã nhấp. Tôi đang cố gắng thiết lập điểm ngắt trên các dòng hoàn toàn là mã phía máy chủ, vì vậy nó không phải vì nó bỏ qua trước hoặc sau HTML với các mã cố định mã nhúng. Thỉnh thoảng nó sẽ không đặt điểm ngắt, cho tôi một biểu tượng điểm ngắt rỗng và trình bày một lỗi cho biết không có mã thực thi trên dòng.
Khi tôi đính kèm với quá trình IIS (inetinfo.dll, khi tôi đang chạy ở chế độ cách ly thấp), điểm ngắt có thể không bị nhấn. Nếu có, và tôi bắt đầu một bước, dòng được chọn nhảy xung quanh, và không hạ cánh trên mọi đường liên tục trong nguồn, cũng không theo các cấu trúc điều khiển như mong đợi. Các biến đã xem không được cập nhật như mong đợi. Nó rõ ràng nhìn thấy mã khác với tôi làm cho cùng một số dòng.
Các hành vi tương tự sẽ xảy ra cho dù tôi tải trang trong trình duyệt và
- Đính kèm để quá trình từ VS2010, thiết lập một breakpoint và làm mới trang, hoặc
- thiết lập các breakpoint, gắn với quá trình và làm mới hoặc
- thêm tuyên bố 'dừng' trong nguồn của tôi và làm mới trang. Trong trường hợp đó, tôi đã trình bày một danh sách các trình gỡ rối có sẵn và mỗi một trong số chúng thực hiện chính xác điều tương tự - chúng bỏ qua các dòng mã SAME và làm theo các đường dẫn "không đúng". Tôi đã thử VS2010, 2008, 2005, 2003 và Microsoft Script Debugger.
Dường như mã nguồn không đồng bộ với những gì trình gỡ lỗi đang thực hiện. Tôi đã chắc chắn rằng 'Yêu cầu tệp nguồn khớp chính xác với phiên bản gốc' được đặt trong VS> Công cụ> Tùy chọn> Gỡ lỗi> Chung
Và, tất nhiên, đây là các trang ASP Classic - không có mã được biên dịch, vì vậy nguồn tôi thấy trong IDE nên giống như những gì mà trình gỡ lỗi thực hiện. Nó không cụ thể cho một dự án - nó đang diễn ra trên ít nhất hai dự án hoàn toàn riêng biệt vào lúc này. Và, nó đang xảy ra trên nhiều máy - tôi đã triển khai dự án của mình đến một máy chủ thử nghiệm và cố gắng gỡ lỗi ở đó và có hành vi tương tự.
Tôi tìm thấy một số thông tin về vấn đề tương tự nghe có vẻ liên quan tới file UTF-mã hóa có chứa các ký tự không ANSI (bạn đã biết, những người bạn sử dụng Unicode để hỗ trợ!) here, here và here, nhưng tôi đã đi qua nguồn của tôi và không thể tìm thấy bất kỳ tệp nào như vậy.
Bất kỳ ý tưởng nào? Cảm ơn!
Không, đã chọn - Tôi chỉ có cấu hình Gỡ lỗi trong dự án mà tôi hiện đang làm việc. Và, một lần nữa, không có bước 'biên dịch' để gọi cấu hình - nó chỉ lưu tệp .ASP và làm mới trình duyệt. Cảm ơn, tho! – Val
Sự cố này có xảy ra trên máy của người khác không? Nếu có, hãy kiểm tra các thiết lập xây dựng cho dự án để đảm bảo nó tạo ra thông tin gỡ rối đúng. Tôi đoán bạn đã thử xây dựng lại? Nếu không có công trình nào trong số này hoạt động thì tôi có lẽ chỉ cần ném tay vào không khí, hét lên, và sau đó cài đặt lại VS. – knightpfhor
Không có gì để xây dựng, nhưng tôi đã xây dựng lại, để không có hiệu lực. Tôi sẽ xem liệu tôi có thể tái sản xuất trên một cỗ máy khác không, tho - ý tưởng hay! Tôi không nghĩ rằng nó chỉ là VS - nó xảy ra trong tất cả các phiên bản của VS, cộng với MS Script Debugger, vì vậy một số thành phần phổ biến đang được gọi ... – Val