Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Studio
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.66/246: Рейтинг темы: голосов - 246, средняя оценка - 4.66
zss
Модератор
Эксперт С++
7462 / 6838 / 4317
Регистрация: 18.12.2011
Сообщений: 18,090
Завершенные тесты: 1
1

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

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

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

Определите примерно, с какой строки начинает происходить непонятно что и поставьте там точку останова.
Это можно сделать либо щелчком мыши на этой строке левее номера строки, либо нажав клавишу F9.
Перед номером строки появится красный кружок:
Как пользоваться отладчиком (в Visual Studio)

Запустите программу в отладочном режиме нажав F5 либо мышью на зелененький треугольничек.
Программа выполнится до строки с остановом.
Если этого не произошло (программа слетела раньше). То поставьте останов пораньше.
Текущая строка отмечается желтой стрелкой:
Как пользоваться отладчиком (в Visual Studio)

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

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


Имеется возможность, повторно выполнить часть кода (откатиться назад). Для этого левой кнопкой мыши
схватите желтую стрелку и потяните ее назад по коду до желаемого места.
Таким образом, сможете, например, повторно ввести другие значения.
Этот же метод позволяет повторно выполнить код, в который Вы внесли небольшие изменения.
Как пользоваться отладчиком (в Visual Studio)

Дополнительно можете обратиться к микрософтовскому руководству - Отладка в Visual Studio
33
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2014, 09:12
Ответы с готовыми решениями:

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

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

Как открыть проект созданный в Visual Studio 2012 в Visual Studio 2008?
Нашел здесь же тему открытия Visual Studio 2012 в Visual Studio 2010 там...

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

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

4
tezaurismosis
30.09.2014, 20:48
  #2
 Комментарий модератора 
Эта тема открыта для добавления информации.
Если вы желаете обсудить данную тему, внести поправки или замечания - просьба писать вот в эту тему: http://www.cyberforum.ru/faq/thread1766346.html
Если у вас возник вопрос по отладке в Visual Studio, создайте новую тему в данном разделе.
0
DU
1488 / 1134 / 165
Регистрация: 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
...
10
MrGluck
Модератор
Эксперт CЭксперт С++
8105 / 4956 / 1436
Регистрация: 29.11.2010
Сообщений: 13,451
02.03.2015, 14:50 4
Я просто оставлю это здесь
http://www.visualstudio.com/get-started/debug-your-app-vs
2
rikimaru2013
C++ Game Dev
2473 / 1141 / 349
Регистрация: 30.11.2013
Сообщений: 3,709
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

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

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

Чем отличается Visual Studio Community и Visual Studio Code?
в чем разница Visual Studio Code или Visual Studio Community. Описание на...


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

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

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