Придвижване на кода с дебъгер

Ако низът съдържа извикване на функция, се оттегли в команда изпълнява само самата покана и след това спира изпълнението на първия ред на код в самата функция. В противен случай, команда изпълнява стъпка в следното изявление.

Ако низът съдържа извикване на функция, стъпка Над команда изпълнява извикването на функция, след което спира изпълнението на първия ред на код в рамките на функцията обаждане. В противен случай, команда изпълнява стъпка в следното изявление.

Command излязат възобновява изпълнение на код, за да се върне функция, а след това може да се прекрати в момента на връщане на повикващия.

Когато ви се обаждат вложени функции стъпка в команда ви позволява да получите в най-дълбоката вложени функция. Ако използвате стъпка в func1 на повикване (Func2 ()). дебъгер идва функция Func2.

Debugger всъщност стъпка в отчета за код, а не физически линии. Например, ако предложението могат да бъдат написани на един ред:

По време на отстраняване на грешки, дебъгер VS чрез молба или заявление може да бъде изпълнена, или да бъде в режим на пауза.

Дебъгера прекъсва изпълнението на заявлението, когато се достигне точката на прекъсване, или по изключение се изхвърля. Можете и ръчно да спре изпълнението по всяко време.

Гранични могат да бъдат настроени така, че да се спре изпълнението въз основа на редица условия. Вижте. Вижте Използване на точки на прекъсване. В този раздел са описани два основни начина на суспензия на кода.

Създаване точки на прекъсване в кода

Гранични в Visual Studio осигуряват широк набор от допълнителни функции, като например условни точки на прекъсване и следи точки. Вижте. Вижте Използване на точки на прекъсване.

Спиране на кода ръчно

За да се спре изпълнението на следващия възможен ред код в програмата се изпълнява, натиснете Debug. Край на всички (на клавиатурата: Ctrl + Alt + Break).

Когато отстраняване на грешки с опция окачване "Just My Код" се случи на следващия ред на код във вашия проект. Cm. Partition Засилване "само моя код".

Когато отстраняване на грешки няколко програми спре всички или по подразбиране точка на прекъсване се отразява на изпълнението на всички които се отстраняват грешки. Вижте. Поведение Setting изпълнение на множество процеси.

Ако по време на спирането на кода не е съответен изходни файлове и файлове на символите (ППБ-файлове), за отстраняване на грешки показва страница изходния файл не е намерен или характера не е намерен. което ще помогне да намерите необходимите файлове. Cm. Partition Забележка символи файлове (ППБ) и файлове с изходен код.

Ако не разполагате с достъп до помощен файл, можете да трасира инструкции в асемблер в прозореца "Демонтаж".

Понякога е необходимо да се извърши изпълнението на определени места в кода и след това да се спре. Ако зададете точка на прекъсване на мястото, където искате да спре изпълнението, щракнете върху Отстраняване на грешки. Започнете грешки. Ако отстраняването на грешки все още не е започнал, или отстраняване на грешки. Продължи (и в двата случая, можете да натиснете клавиша F5). Когато код дебъгер спира на следващата точка на пречупване. Изберете Debug команда. Продължи. до достигане на необходимата точка на пречупване.

Изпълнение до позицията на курсора

Извършване на функция в набора от повикване

Изберете функцията в прозореца за обаждане стека, и върху Изпълнение на текущата позиция в контекстното меню. Информация за визуалното проследяване на стека на повикване, вижте. В статията Сравнение на методи в визуализацията на стека на повикване, когато отстраняване на грешки.

Извършване на функция, определена от име

Можете да инструктира дебъгер за изпълнение на заявката до до дадена функция. Можете да зададете име, или да го изберете от стека на повикване.

За да укажете името на функцията, а след това щракнете върху Отстраняване на грешки. Създаване на точка на прекъсване. Прекъсване на функция. и след това въведете името на функцията и друга идентифицираща информация.

Придвижване на кода с дебъгер

Ако една функция е претоварен или в множество от имена, необходими функции могат да бъдат избрани в диалоговия прозорец Изберете Гранични.

Придвижване на кода с дебъгер

Спирането на изпълнението на дебъгер, можете да преместите точката за изпълнение, за да зададете следващия отчет за изпълнение на код. Жълтата стрелка на границата на оригиналния текст или в "Разглобяване", отбелязва текущото местоположение на оператора, който трябва да се извършва по следния начин. Чрез преместването част от кода на тази стрелка може да пропусне или да се върнете към линията на предишните. Може да се използва в такива ситуации възникват в раздел подаване код, съдържащ известно грешка.

Придвижване на кода с дебъгер

За да зададете следващия отчет за изпълнение, използвайте един от следните процедури.

В изходния код, плъзнете жълтата стрелка на мястото на един и същ източник файл, където трябва да посочите следното изявление.

В прозореца Източник, поставете курсора върху линията, която искате да правите по-нататък, а след това щракнете върху Задаване на следното изявление в контекстното меню.

В "Демонтаж" преместите курсора инструкциите за сглобяване на какво да правят, а след това кликнете върху менюто за бърз достъп, задайте следното изявление.

Създаване следното твърдение ще предизвика инструкциите програма контра отиват директно на ново място. Необходимо е да използвате тази команда с повишено внимание.

  • Инструкции между старите и новите моменти не са изпълнени.
  • Когато се върнете на мястото на изпълнение, междинни инструкции не са отменени.
  • Преместването в непосредствена близост до оператора или друга функция региона обикновено причинява увреждане на стека на повикване, което води до грешка по време на работа или е изключение. Когато се опитате да се движат следното изявление в различна област, дебъгер отваря диалогов прозорец с предупреждение и дава възможност да се откажете операцията. В Visual Basic, не може да се движи следното изявление в друга област или функция.
  • Ако използвате машина C ++ код включва изпълнение проверка, настройка следното изявление може да предизвика изключение, когато изпълнението достигне края на метода.
  • Когато операция "Редактиране и Продължи" команда уточнява следното твърдение ще се провали, ако направят промени в операция "Редактиране и Continue" няма да бъде в състояние да прилага веднага. Например, това може да се случи, когато се правят промени в рамките на блока за улов. Когато възникне такава ситуация, ще се появи съобщение за грешка, което показва, че операцията не се поддържа.

В управляван код, не може да се движи следното изявление в следните случаи:

  • Следното изявление е в метод, различен от метода на текущия оператор.
  • Отстраняване на грешки е започната през JIT-отстраняване на грешки.
  • Изчиства стека на повикване.
  • Изключение е хвърлен или System.StackOverflowException System.Threading.ThreadAbortException.

Не инсталирайте следната декларация, ако програмата се изпълнява. За да зададете следващия отчет, дебъгер, трябва да бъде в режим на пауза.

Понякога по време на отстраняване на грешки може да се изисква да се покаже само кода създадена от себе си, и да пропуснете друга кода, като системни функции. За да направите това, е възможно да се режим за отстраняване на грешки "Just My Code". В "Just My Код" кодът не е писано от потребителя, скрит и не се появява в прозореца за отстраняване на грешки. Когато прекрачи дебъгер работи всеки код, който не е писано от потребителя, но не спира дотук. Cm. Разделя само моя код.

Режим "Just My кодекс" не се поддържа за проекти на устройството.

Ако сте изтеглили символи за отстраняване на грешки на кода на системата и изключен режим "Just My Code", може да се направи стъпка в системата изисква за целите на преминаване през същия начин, както всеки друг разговор.

За да заредите символи за определен компонент на системата по време на отстраняване на грешки, следвайте тези стъпки.

Отваряне на "модули" (клавиатурата: CTRL + ALT + U).

Изберете модула, за който искате да изтеглите от символите.

Определя които модули са заредени символи, може да бъде от полза при символи колона статус.

От контекстното меню изберете Load символи.

По подразбиране, дебъгер преминава свойства и операторите, когато пристъпи в управляван код. В повечето случаи, това прави грешки е по-удобно и ефективно. За да се даде възможност на стъпкови свойства и оператори, изберете грешки. Параметри и настройки. Отстраняване на грешки в страницата. Общи премахнете отметката от байпас свойства и оператори (само успя код).