С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Studio

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 211, средняя оценка - 4.73
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
#1

Как пользоваться отладчиком (в Visual Studio) - Visual Studio

25.09.2014, 09:12. Просмотров 38668. Ответов 4
Метки нет (Все метки)

Прежде, чем создавать темы типа "Программа вылетает после запуска",
"Выводится непонятно что" и т.п. попробуйте воспользоваться встроенным отладчиком.

Определите примерно, с какой строки начинает происходить непонятно что и поставьте там точку останова.
Это можно сделать либо щелчком мыши на этой строке левее номера строки, либо нажав клавишу F9.
Перед номером строки появится красный кружок:
Как пользоваться отладчиком (в Visual Studio)
Запустите программу в отладочном режиме нажав F5 либо мышью на зелененький треугольничек.
Программа выполнится до строки с остановом.
Если этого не произошло (программа слетела раньше). То поставьте останов пораньше.
Текущая строка отмечается желтой стрелкой:
Как пользоваться отладчиком (в Visual Studio)
Можно теперь посмотреть текущее значения переменных.
Они отображаются на вкладках внизу.
Несколько переменных автоматически отображается на вкладке Видимые (Auto). Помечено красной цифрой 2.
На вкладке Контрольные значения 1(Watch 1) (Цифра 3) Вы можете сами напечатать имена нужных переменных.
Наконец, можно просто подвести курсор мыши к нужной переменной в тексте (цифра 1), и ее значение отобразится.

После того, как Вы убедились, что текущие значения правильные можем продолжить выполнение программы.
Нажимая на клавишу F10 Вы каждый раз будете выполнять по одной строке.
Если выясниться, что ошибка именно в текущей строке, то можно нажав клавишу F11 зайти внутрь функций
которые вызываются в этой строке и аналогичным образом пройтись по коду функции.
Как пользоваться отладчиком (в Visual Studio)

Имеется возможность, повторно выполнить часть кода (откатиться назад). Для этого левой кнопкой мыши
схватите желтую стрелку и потяните ее назад по коду до желаемого места.
Таким образом, сможете, например, повторно ввести другие значения.
Этот же метод позволяет повторно выполнить код, в который Вы внесли небольшие изменения.
Как пользоваться отладчиком (в Visual Studio)
Дополнительно можете обратиться к микрософтовскому руководству - Отладка в Visual Studio
31
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 09:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как пользоваться отладчиком (в Visual Studio) (Visual Studio):

Как пользоваться отладкой в Visual Studio? - Visual Studio
Здравствуйте. Я новичек, недавно начал изучать ООП на С# Есть программка состоящая из 3 класов, но отладчик не заходит в другие класы,...

Проблемы с отладчиком в Visual Studio Express 2012 - Visual Studio
Доброго времени суток, уважаемые! Вопросов у меня несколько: 1. При написании в С# вместо "Отладки" мне предлагается...

Как открыть проект созданный в Visual Studio 2012 в Visual Studio 2008? - Visual Studio
Нашел здесь же тему открытия Visual Studio 2012 в Visual Studio 2010 там написано так. Открыть файл проекта (.sln) с помощью блокнота и...

Как проект на visual studio 2012 открыть на visual studio 2008 - Visual Studio
Программа(курсовая) создана на 2012, надо показать и чтобы работала на 2008. Подскажите пожалуйста как решить данную проблему?

Как открыть файлы в формате visual studio .net 2003 в visual studio net 2002? - Visual Studio
Возможно ли открыть файлы в формате visual studio .net 2003 в visual studio .net 2002 ?? Илт только update ?

Скажите если я напишу программу на C# в MS Visual studio 2012 на framework 3.5 я потом смогу открыть проект моей программы на MS Visual studio 2008 - Visual Studio
Скажите если я напишу программу на C# в MS Visual studio 2012 на framework 3.5 я потом смогу открыть проект моей программы на MS Visual...

4
tezaurismosis
30.09.2014, 20:48
  #2
 Комментарий модератора 
Эта тема открыта для добавления информации.
Если вы желаете обсудить данную тему, внести поправки или замечания - просьба писать вот в эту тему: http://www.cyberforum.ru/faq/thread1766346.html
Если у вас возник вопрос по отладке в Visual Studio, создайте новую тему в данном разделе.
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.02.2015, 22:52 #3
добавлю инфу про такую фичу как Call Stack (стек вызовов). Стек вызовов функций.
Найти можно из менюшки: Debug->Windows->Call Stack. Меню доступно, когда студия стоит
на какой-нибудь точке останова. На картинках первого поста в правой нижней области есть вкладочка
с надписью "Ст..." - вот это скорее всего оно. Стек вызовов.

Где полезен:
Часто на форуме приводят код с вопросом: при выполнении крашится с таким то окошком. Что делать.
Окошки на самом деле разные. Нарушение прав доступа, либо ассерт какой-то сработал, либо что-то еще.
Так вот когда вылазиет такое окошко, нужно нажать на кнопку Break или Repeat. Студия перебросит вас
в код, который вызвал проблему (желтая стрелочка). Скорее всего это будет какая-то функция из студийных
исходников, трогать которые не надо. Так вот, чтобы понять, как программа пришла в эту точку
как раз пригодится стек вызовов. Вы просто поднимаетесь по нему нажимая строчку в этом стеке и студия
вас будет перебрасывать на реализацию соответствующей функции. Если эта функция ваша - смотрите
значение переменных, при которых нижележащие функции тупанули. Если проблема где-то выше - значит
поднимаетесь по стеку выше, попутно расставляя точки останова для запуска кода еще раз. На этот раз
студия уже будет останавливаться на подозрительных с вашей точки зрения участках кода и вы сможете
проконтролировать выполнение в этих точках.



маленький пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
 
void f1(int i)
{
  int j = 10 / (i - 5);
  std::cout << j << std::endl;
}
 
void f2()
{
  for (int i = 0; i < 10; ++i)
  {
    f1(i);
  }
}
 
void f3()
{
  f2();
}
 
int main()
{
  f3();
  return 0;
}
стек вызовов будет выглядеть так:
f1
f2
f3
main
...
9
MrGluck
Модератор
Эксперт CЭксперт С++
7498 / 4614 / 694
Регистрация: 29.11.2010
Сообщений: 12,634
02.03.2015, 14:50 #4
Я просто оставлю это здесь
http://www.visualstudio.com/get-started/debug-your-app-vs
2
rikimaru2013
C++ Game Dev
2440 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690
10.04.2016, 11:11 #5
Вебинар на тему: Visual Studio 2015 Tips&Tricks: новые возможности для разработчика

C 1:20:00 про отладчик Visual Studio 2015
3
10.04.2016, 11:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2016, 11:11
Привет! Вот еще темы с ответами:

Стоит ли переходить на Visual Studio 2013 Express c Visual Studio 2012 Ultimate - Visual Studio
Слишком дорого стоят полные версии. Какие значимые функции теряются при переходе на версию Express ?

Открыть проект Visual Studio 2015 в Visual Studio 2010 - Visual Studio
Здравствуйте не могу открыть проект созданный в Visual Studio 2015 в Visual Studio 2010.

Чем отличается Visual Studio Community и Visual Studio Code? - Visual Studio
в чем разница Visual Studio Code или Visual Studio Community. Описание на англиском где я полный нуль. кто юзал эти IDE и может сказать чем...

VS 2015 Visual Studio 2015. Откат до Visual Studio 2012 - Visual Studio
Можно ли сделать откат к версии Visual Studio 2012, если установлена Visual Studio 2015?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.