2013-11-04 34 views

Trả lời

2

Tôi không có Visual Studio 2012 để thử nghiệm nó trên như xa như tôi biết visual studio không thể debug mã ASP cổ điển tự nhiên. Cách tôi gỡ lỗi mã cổ điển asp của tôi là đặt trong báo cáo dừng trên dòng ở trên dòng tôi muốn gỡ lỗi like this post says. điểm dừng chỉ là gõ vào điểm dừng.

function DoDate(inp) 
    stop 
if isnull(inp) then 
    DoDate = "Never" 
    exit function 
end if 

Trong ví dụ trên trang khi nạp sẽ dừng lại ở breakpoint và bật lên một hộp thoại yêu cầu nếu bạn muốn gỡ lỗi nó, sau đó bạn có thể bước qua chức năng và thậm chí xem biến như bình thường.

lưu ý: Liên kết cho biết studio hình ảnh 2005 nhưng cũng hoạt động trong năm 2010 (và cũng nên hoạt động vào năm 2012), bạn cũng không cần tiện ích mở rộng DEBUG.

cũng đảm bảo bạn đã gỡ lỗi phía máy chủ được kích hoạt trong IIS hoặc điều này sẽ không hoạt động.

+3

VS2012 có thể gỡ lỗi cổ điển mã ASP natively sử dụng cả hai đầy đủ IIS mỡ và IIS Express. – Kev

+0

@ user2255811 Câu trả lời của bạn đã cứu tôi, tôi đã dành rất nhiều thời gian để nó hoạt động. Cuối cùng, Stop làm một thủ thuật. Cảm ơn bạn – Smaug

7

Trước hết, bạn cần phải bật gỡ lỗi phía máy chủ của tập lệnh ASP cổ điển. Thực hiện việc này bằng cách chạy các lệnh sau:

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True" /commit:apphost 

Nơi [YOUR_SITE_NAME] là tên trang web của bạn. Bạn có thể tìm thấy tên này bằng cách mở:

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config 

... và tìm kiếm trang web của bạn.

Tiếp theo, bắt đầu một ví dụ IIS Express từ dòng lệnh:

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:c:\users\kevin\Documents\IISExpress\config\applicationhost.config /site:"[YOUR_SITE_NAME]" /apppool:"Clr2IntegratedAppPool" 

Một lần nữa, [YOUR_SITE_NAME] là tên của trang web IIS Express của bạn.

Sau đó đính kèm trình gỡ lỗi của Visual Studio 2012 và đặt điểm ngắt trong tập lệnh bạn muốn gỡ lỗi. Duyệt đến trang web của bạn/script và bạn sẽ thấy ánh sáng breakpoint lên:

enter image description here

+0

Câu trả lời của bạn rất chi tiết và hữu ích. Nhưng, khi tôi đính kèm IISExpress chỉ nó cho thấy màn hình trống, mà không phải là mang lại cho các tập tin để gỡ lỗi. Nếu tôi đặt stop trong asp mã hóa nó nạp tất cả các tập tin để gỡ lỗi. Xin cho biết lý do cho hành vi kỳ lạ này là gì? – Smaug

+0

Bạn đã thêm tập lệnh bạn muốn gỡ lỗi vào giải pháp của mình chưa? Bạn cần phải làm điều đó và thiết lập một breakpoint. – Kev

+0

+1 Điều này đã hiệu quả! ... Đối với một tập nhỏ các tệp ASP của dự án/trang web của tôi. Bạn có thể xem [câu hỏi tiếp theo này] (http://stackoverflow.com/q/38937879/2662901) không? – feetwet

0

Tôi thích sử dụng đầy đủ thổi IIS trên máy dev của tôi vì nó là những gì các máy chủ web của tôi chạy và đã có vấn đề với sự khác biệt giữa Casini và IIS trong quá khứ ..

Dù sao, tôi không thể làm điều đó theo cách mà @Kev đề xuất. Tôi đã làm một số chi tiết chơi xung quanh + đọc và thấy rằng trên cửa sổ "Attach To Process", bạn cần phải chọn cụ thể "Script Code" trong tùy chọn "Attach To:".

1) F9 to set breakpoints in code 
2) Ctrl-Alt-P to attach to process 
3) Next to "Attach To:" click on the "Select" button 
4) Select "Script Code" 
5) In my case, attach to "w3wp.exe" 

Thưởng thức gỡ lỗi mã của bạn.

+0

Xin chào, tôi đã thử điều này - và trong khi nó dừng lại ở điểm ngắt của tôi, tôi không thể thấy giá trị của bất cứ điều gì. Việc di chuột qua bất kỳ biến nào cũng không có gì. Bất kỳ đề xuất? Đây là trên IIS 8.5 (giành chiến thắng 8.1) và vs 2012. – merk

+0

Hmmm .... Tôi đã không nhìn thấy điều này trước khi .. đôi khi ide có vấn đề như nơi bạn di chuột qua và thấy không có giá trị. điều này thường được cố định bằng cách di chuyển chuột ra khỏi biến của bạn và sau đó quay lại. Ngoài ra, bạn có thể sử dụng cửa sổ Xem hoặc cửa sổ ngay lập tức. Không hoàn toàn thuận tiện, nhưng thường vẫn có thể thực hiện được. hoặc thậm chí Ctrl-F9 (??) cho Xem nhanh. – Ads

+1

Hãy thử làm nổi bật biến (nhấn đúp vào nó sẽ làm nổi bật nó) và sau đó di chuột qua nó. Tôi cũng nghĩ rằng tôi không thể di chuột qua các biến và xem giá trị của chúng, nhưng sau đó tôi đã đánh dấu (chọn văn bản bằng chuột) và di chuột qua nó và nó hoạt động. – Lee

1

Đến IIS -> ASP -> Gỡ rối bất động sản -> enable client và phía máy chủ gỡ lỗi

sau đó đính kèm w3wp quá trình từ VS2012

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