Использование точек останова для отладки Javascript в IE и VS2008

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

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

В окне «Модули» видно, что V.Mvc.Jobtrakt.PDB загружен правильно, но указывает на временную папку C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ 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 и заставить их работать?


person Brad8118    schedule 17.12.2008    source источник
comment
Я могу добавить отладчик в javascript, чтобы заставить его сломаться. Я пытаюсь заставить работать точки останова.   -  person Brad8118    schedule 18.12.2008


Ответы (7)


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

person Greg Dean    schedule 17.12.2008
comment
Хороший звонок, Грег. Это определенно быстрый путь к отладчику. - person palehorse; 18.12.2008
comment
Это действительно работает. Я пытался заставить работать точки останова. - person Brad8118; 18.12.2008
comment
Ура, только через 6 лет принять. Похоже, это все еще работает :) - person Brad8118; 27.10.2014

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

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

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

person palehorse    schedule 17.12.2008

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

person Andre Juliano    schedule 22.01.2011

Вам не нужно ставить отладчик в javascript. У меня это случилось, и причина заключалась в ошибке в сценарии в блоке try catch с точки зрения синтаксиса. Как только я исправил синтаксис, точки останова снова отобразились правильно.

person Steve Long    schedule 18.12.2012

Грег ответил на вопрос, но просто для того, чтобы добавить к ответу дополнительную ценность -

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

Также убедитесь, что у вас включен отладчик в Internet Explorer> Инструменты> Свойства обозревателя> Расширение.

флажки для отключенной отладки не следует ставить.

person Mutant    schedule 28.02.2010

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

$ .ajax ({type: "ПОЛУЧИТЬ",

вместо $ .ajax ({type: "POST", ...

person Jim Vazquez    schedule 16.08.2012
comment
Ваши две строчки идентичны? Какая должна быть разница? - person random_user_name; 27.09.2012

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

<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>
person Praneeth    schedule 08.07.2015
comment
Что это за код? Это как-то связано с вопросом? - person mastov; 08.07.2015