Использование точек останова для отладки Javascript в IE и VS2008 - PullRequest
8 голосов
/ 18 декабря 2008

Я не могу использовать точку останова в Studio с Javascript. Я могу отлаживать, если я использую отладчик;

Я видел этот Точка останова, не подключенная при отладке в VS.Net 2005 вопрос уже. Я попробовал ответ, и он не сработал.

В окне Модули V.Mvc.Jobtrakt.PDB загружен правильно, но указывает на временную папку. C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET \ root \ dbc0c0c5 \ f64a99b3 \ assembly \ dl3 \ 9de055b3 \ eb1303b1_9760c901 \ V.Mvc.Jobtrak.pdb: символы загружены.

Я бы подумал, что это будет указывать на: \ JobTrak \ Website \ V.Mvc.Jobtrak \ V.Mvc.Jobtrak \ obj \ Debug (находится в каталоге проекта)

Но независимо от того, где я закрыл VS 2008, а затем сдул временную папку (указанную выше), папки bin и obj.

Открыл VS 2008 и сделал чистку. Я установил точку останова в js, и казалось, что теперь она будет работать (точка останова была заполнена) Начал отлаживать, и он никогда не ломается на точке останова. Посмотрите на точку останова, и теперь это красный круг с красной точкой и предупреждающим индикатором. Наведение курсора на точку останова дает мне полезную информацию: точка останова в настоящее время не будет достигнута. Расположение не может быть сопоставлено со сценарием на стороне клиента. См. Справку для сопоставления точек останова ASPX. Я не перенаправлен, точка останова в функции. бла-бла-бла это должно работать.

Так мне было интересно, есть ли у кого-нибудь идеи? Кто-нибудь может установить точки останова в VS2008 и заставить их работать?

Ответы [ 7 ]

15 голосов
/ 18 декабря 2008

попробуйте набрать "отладчик" в источнике, где вы хотите сломать

5 голосов
/ 18 декабря 2008

Убедитесь, что вы подключены к правильному процессу. Например, когда ваша страница загружена в IE,

  1. Переключитесь на Visual Studio и перейдите в меню «Отладка».
  2. Выберите «Присоединить к процессу»
  3. Найдите iexplore в списке и выберите его.
  4. Нажмите кнопку «Выбрать ...».
  5. В диалоговом окне выберите «Отладка этих типов кода:» и выберите only «Script».
  6. Нажмите "ОК"
  7. Нажмите «Вложить»

Посмотрите, поможет ли это вам отладить JavaScript.

1 голос
/ 19 декабря 2012

Вам не нужно помещать отладчик в JavaScript. Я имел это случиться, и причина была в скрипте в блоке try catch с точки зрения синтаксиса Как только я исправил синтаксис, точки останова снова правильно отобразились.

1 голос
/ 22 января 2011

это случилось со мной тоже. Точки останова перестали работать в некоторых функциях. В моем случае проблема заключалась в том, что я использовал <%=..%> внутри скрипта. Насколько я мог понять, читая MSDN, это происходит потому, что Visual Studio отображает строки точек останова из .ASPX в результирующий HTML на основе содержимого строки, поэтому при вводе <%=..> ваш результирующий скрипт будет отличаться от в файле .ASPX.

0 голосов
/ 08 июля 2015

Просто введите функцию оповещения в скрипте для каждой строки или любой строки, если оповещение не сработало, тогда мы можем определить строку, где происходит ошибка

<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 голосов
/ 16 августа 2012

В моем случае, из-за того, что я использовал

$. Ajax ({ тип: "GET",

вместо $ .Ajax ({ тип: "POST", ...

0 голосов
/ 28 февраля 2010

Грэг ответил на вопрос, но только для того, чтобы добавить еще одно значение -

Поместите отладчик в код Java-скрипта.

Также убедитесь, что у вас включен отладчик в Internet Explorer> Сервис> Свойства обозревателя> Advance

флажки для отключенной отладки не должны быть проверены.

...