Использование точек останова для отладки Javascript в IE и VS2008
Я не могу использовать точку останова в Studio с Javascript. Я могу отлаживать, если использую отладчик;
Я видел этот точка останова не подключена при отладке в VS.Net 2005 уже вопрос. Я попробовал ответить, но ничего не вышло.
просмотр в окне модули, V. Mvc.Jobtrakt.PDB загружен правильно, но он указывает на временную папку C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Файлыrootdbc0c0c5f64a99b3assemblydl39de055b3eb1303b1_9760c901V. Mvc.Jobtrak.ПДБ: символы загружены.
Я бы подумал, что это бы: JobTrakСайтВ. В MVC.JobtrakВ. В MVC.JobtrakobjDebug (это находится в каталоге проекта)
но независимо от местоположения я закрыл VS 2008, а затем сдул временную папку (указанную выше), папки bin и obj.
открыл VS 2008 и сделал чистый. Я установил точку останова в js, и это казалось, что теперь это сработает ( точка останова была заполнена) Начал отлаживать, и он никогда не ломается на точке останова. Посмотрите на точку разрыва, и теперь это красный круг с красной точкой и предупреждающим индикатором. Наведение на точку останова дает мне эту полезную информацию: точка останова в настоящее время не будет поражена. Расположение не может быть сопоставлено со сценарием на стороне клиента. См. справку по сопоставлению точек останова ASPX. Меня не перенаправляют, точка останова находится в функции. бла бла бла это должно работать.
Итак, мне было интересно, есть ли у кого-нибудь идеи? Кто-нибудь может установить точки останова в VS2008 и заставить их работать?
7 ответов
убедитесь, что вы подключены к правильному процессу. Например, после загрузки страницы в IE,
- переключитесь в Visual Studio и перейдите в меню "отладка".
- выберите "присоединить к процессу"
- найдите iexplore в списке и выберите его.
- нажмите "Выбрать..." кнопка.
- в диалоговом окне выберите "отладка этих типов кода:" и выберите только "сценарий".
- нажмите "OK"
- клик "Прикрепить"
посмотрите, поможет ли это вам отладить javascript.
это случилось и со мной. Точки останова перестали работать в некоторых функциях. В моем случае проблема заключалась в том, что я использовал <%=..%>
внутри скрипта. Насколько я мог понять, читая MSDN, это происходит потому, что Visual Studio отображает линии точки останова из .ASPX
к результирующему HTML на основе содержимого строки, поэтому, когда вы ставите <%=..>
ваш результирующий скрипт будет отличаться от той, что в .
вам не нужно ставить отладчик в javascript. У меня это произошло, и причиной была ошибка в скрипте в блоке try catch с точки зрения синтаксиса. Как только я исправил синтаксис, точки останова снова отображаются правильно.
Грег ответил на вопрос, однако, чтобы добавить еще некоторое значение для ответа -
поместите отладчик в код сценария java.
также убедитесь, что у вас включен отладчик в internet explorer > инструменты > Свойства обозревателя > Advance
Не следует устанавливать флажки для отключенной отладки.
просто введите функцию оповещения в скрипте для каждой строки или любой строки, если предупреждение не запускается, то мы можем определить строку, где его через ошибку
<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>