2008-12-17 33 views
8

Tôi không thể sử dụng điểm ngắt trong Studio bằng Javascript. Tôi có thể gỡ lỗi nếu tôi sử dụng trình gỡ rối;Sử dụng điểm ngắt để gỡ lỗi Javascript trong IE và VS2008

Tôi đã xem câu hỏi này Breakpoint not hooked up when debugging in VS.Net 2005 rồi. Tôi đã thử câu trả lời và nó không hoạt động.

Tìm trong cửa sổ Mô-đun, V.Mvc.Jobtrakt.PDB được tải đúng cách, nhưng nó trỏ đến thư mục tạm thời C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Tệp ASP.NET tạm thời \ root \ dbc0c0c5 \ f64a99b3 \ assembly \ dl3 \ 9de055b3 \ eb1303b1_9760c901 \ V.Mvc.Jobtrak.pdb: Các biểu tượng được nạp.

Tôi đã có thể nghĩ rằng nó sẽ trỏ đến: \ JobTrak \ website \ V.Mvc.Jobtrak \ V.Mvc.Jobtrak \ obj \ Debug (điều này nằm trong thư mục dự án)

Nhưng bất kể vị trí tôi đóng VS 2008 và sau đó thổi đi thư mục tạm thời (liệt kê ở trên), các thư mục bin và obj.

Đã mở VS 2008 và làm sạch. Tôi thiết lập một điểm break trong js và nó có vẻ như nó sẽ làm việc ngay bây giờ (Breakpoint được điền vào) Bắt đầu gỡ lỗi và nó không bao giờ phá vỡ trên breakpoint. Nhìn vào điểm phá vỡ và bây giờ là một vòng tròn màu đỏ với một dấu chấm màu đỏ và một chỉ báo cảnh báo. Di chuột qua điểm ngắt cung cấp cho tôi thông tin hữu ích này: Điểm ngắt sẽ không bị tấn công. Vị trí không thể được ánh xạ tới tập lệnh phía máy khách. Xem trợ giúp cho lập bản đồ điểm ngắt ASPX. Tôi không được chuyển hướng, điểm ngắt có trong một hàm. blah blah blah điều này nên được làm việc.

Vì vậy, tôi đã tự hỏi liệu có ai có ý tưởng nào không? Có ai có thể thiết lập các điểm ngắt trong VS2008 và yêu cầu chúng hoạt động không?

+0

Tôi có thể thêm "trình gỡ lỗi" vào javascript để buộc phá vỡ. Tôi đang cố gắng để có được các điểm ngắt để làm việc. – Brad8118

Trả lời

15

thử gõ "gỡ rối" trong nguồn nơi bạn muốn phá vỡ

+0

Cuộc gọi tốt Greg. Đó là một ca khúc xác định nhanh đến trình gỡ lỗi. – palehorse

+1

Tính năng này hoạt động. Tôi đã cố gắng để có được các điểm ngắt để làm việc. – Brad8118

+0

Điều này thực sự làm việc như một say mê đối với tôi. –

5

Đảm bảo bạn được đính kèm đúng quy trình. Ví dụ: khi bạn đã tải trang của mình trong IE,

  1. Chuyển sang Visual Studio và chuyển đến menu Gỡ lỗi.
  2. Chọn "Đính kèm quy trình"
  3. Tìm iexplore trong danh sách và chọn nó.
  4. Nhấp vào nút "Chọn ...".
  5. Trong hộp thoại, chọn "Gỡ lỗi các loại mã sau:" và chọn chỉ "Tập lệnh".
  6. Nhấp "OK"
  7. Bấm "Đính kèm"

Xem nếu điều đó giúp giúp bạn gỡ lỗi javascript.

0

Greg đã trả lời câu hỏi, tuy nhiên chỉ để thêm một số giá trị hơn để trả lời -

Đặt debugger trong mã java script.

Cũng chắc chắn rằng bạn có debugger kích hoạt trong internet explorer> Tools> Internet Options> Tạm

hộp kiểm để gỡ lỗi khuyết tật không nên được kiểm tra.

1

điều này cũng xảy ra với tôi.Các điểm ngắt dừng lại để hoạt động trong một số chức năng. Trong trường hợp của tôi, vấn đề là tôi đã sử dụng <%=..%> bên trong tập lệnh. Theo như tôi có thể tìm ra đọc MSDN, điều này xảy ra bởi vì Visual Studio ánh xạ các đường breakpoint từ .ASPX đến kết quả HTML dựa trên nội dung dòng, do đó, khi bạn đặt một tập lệnh kết quả khác với tập tin .ASPX của <%=..> .

0

Trong trường hợp của tôi, là do tôi đã sử dụng

$ .ajax ({ loại: "GET",

thay $ .ajax ({ loại: "POST", ...

+0

Hai dòng của bạn giống hệt nhau? Sự khác biệt được cho là gì? –

+0

Cảm ơn bạn cale_b, tôi đã thay đổi nó. –

1

Bạn không cần phải đặt trình gỡ lỗi trong javascript.Tôi đã xảy ra điều này và lý do đã xảy ra lỗi trong tập lệnh trong khối try catch về cú pháp. Ngay sau khi tôi đã sửa cú pháp, điểm ngắt được ánh xạ lại chính xác.

-1

Chỉ cần nhập chức năng cảnh báo trong tập lệnh cho mỗi dòng hoặc bất kỳ dòng nào, nếu cảnh báo không được kích hoạt thì chúng tôi có thể xác định dòng thông qua lỗi

<script type="text/javascript"> 
$(function() { 
    //event handler to the checkbox selection change event 
    $("input[type=checkbox]").change(function() { 
     //variables to store the total price of selected rows 
     //and to hold the reference to the current checkbox control 
     var totalPrice = 0, ctlPrice; 
     //iterate through all the rows of the gridview 
     $('#Grid2 tr').each(function() { 
     //if the checkbox in that rows is checked, add price to our total proce 
      alert("Hi") 
      if ($(this).find('input:checkbox').attr("checked")) { 
       ctlPrice = $(this).find('[id$= lblPackAmount]'); 
       //since it is a currency column, we need to remove the $ sign and then convert it 
       //to a number before adding it to the total 
       totalPrice += parseFloat(ctlPrice.text().replace(/[^\d\.]/g, '')); 
      } 
     }); 
     //finally set the total price (rounded to 2 decimals) to the total paragraph control. 
     //alert(totalPrice); 
     $('#lblAmount').text(totalPrice);    
    }); 
}); 
</script> 
+0

Tất cả mã này là gì? Điều này có liên quan gì đến câu hỏi này không? – mastov

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