C шаг за шагом для windows

Содержание
  1. ТОП-10 книг по C++: от новичка до профессионала
  2. Книги по C++ начального уровня
  3. Герберт Шилдт. С++ для начинающих. Шаг за шагом
  4. Стивен Прата. Язык программирования C++. Лекции и упражнения
  5. Роберт Лафоре. Объектно-ориентированное программирование в С++
  6. Страуструп. Программирование. Принципы и практика с использованием C++
  7. Средний уровень владения C++
  8. Роберт Седжвик: Алгоритмы на C++. Анализ структуры данных. Сортировка. Поиск. Алгоритмы на графах
  9. Мейерс Скотт. Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14
  10. Яцек Галовиц. С++17 STL. Стандартная библиотека шаблонов
  11. Энтони Уильямс. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
  12. Продвинутый уровень C++
  13. Роберт C. Мартин. Гибкая разработка программ на Java и C++. Принципы, паттерны и методики
  14. Бьерн Страуструп. Дизайн и эволюция С++
  15. Создание формы входа с MS Access в Windows Form шаг за шагом на C#
  16. Переходите по коду с помощью отладчика Visual Studio Navigate through code with the Visual Studio debugger
  17. Переход в режим приостановки выполнения Get into «break mode»
  18. Пошаговое прохождение кода Step through code
  19. Построчное выполнение кода Step into code line by line
  20. Пошаговое прохождение кода и пропуск некоторых функций Step through code and skip some functions
  21. Выполнение до указанного места или функции Run to a specific location or function
  22. Выполнение до точки останова в коде Run to a breakpoint in code
  23. Выполнение до точки останова функции Run to a function breakpoint
  24. Выполнение до расположения курсора Run to a cursor location
  25. Выполнение до щелкнутого Run to Click
  26. Приостановка выполнения кода вручную Manually break into code
  27. Перемещение указателя для изменения потока выполнения Move the pointer to change the execution flow
  28. Отладка кода, не являющегося пользовательским Debug non-user code
  29. Отладка системного кода Debug system code
  30. Шаг с заходом в свойства и операторы в управляемом коде Step into properties and operators in managed code

ТОП-10 книг по C++: от новичка до профессионала

Книги по C++ начального уровня

Герберт Шилдт. С++ для начинающих. Шаг за шагом

Самоучитель, который шаг за шагом расскажет об основных понятиях языка C++: переменные, инструкции управления, функции, типы и массивы данных, классы и объекты. Рассказано о перегрузках, управлении исключениями, наследовании, виртуальных функциях, полиморфизме, вводе/выводе.

  • Необходимый объём для начинающих.
  • Доступный язык повествования.
  • Есть вопросы для самопроверки.
  • Хорошее качество печати.
  • Блеклый шрифт листингов программ.
  • На обратной стороне книги говорится о многопоточном программировании и работе в сети, но читатели такой информации в самоучителе не нашли.
  • Мягкая обложка.

Стивен Прата. Язык программирования C++. Лекции и упражнения

Эта классическая работа по вычислительной технике обучает принципам программирования, среди которых структурированный код и нисходящее проектирование, а также использованию классов, наследования, шаблонов, исключений, лямбда-выражений.

  • Подробное изложение.
  • Множество примеров кода.
  • Задания после каждой главы.
  • Вопросы для самоконтроля.
  • Хорошее качество переплета.
  • Не затронуты стандарты C14, C17.
  • Встречаются опечатки.

Роберт Лафоре. Объектно-ориентированное программирование в С++

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

  • Хорошая база для освоения языка.
  • Легко читается.
  • В каждой главе разбираются примеры.
  • Есть контрольные вопросы и упражнения.
  • Твердый переплет, белые страницы.
  • Встречаются опечатки и ошибки.
  • Рассматривается старый стандарт языка.

Страуструп. Программирование. Принципы и практика с использованием C++

Хотя автор книги одновременно является и автором языка, С++ играет сугубо иллюстративную роль. Автор задумал книгу как вводный курс по программированию. Описан широкий круг понятий и приемов программирования, необходимых для того, чтобы стать профессиональным программистом.

Если вы решили стать программистом, и уже знакомы с азами C++ – эта книга для вас, в первую очередь потому, что программирование – это не только, и не столько знание инструмента (языка программирования), сколько понимание самого процесса.

  • Книга учит программированию, язык – инструмент.
  • Качественный перевод и оформление книги.
  • Большой объем, было бы удобнее, если бы выходила в двух томах.

Средний уровень владения C++

Роберт Седжвик: Алгоритмы на C++. Анализ структуры данных. Сортировка. Поиск. Алгоритмы на графах

Эта книга не про сам язык, а про алгоритмы с примерами реализации на С++. В частях I—IV рассматриваются фундаментальные алгоритмы, структуры данных, сортировка и поиск. В них приведено подробное описание фундаментальных структур данных и алгоритмов для сортировки, поиска и сопутствующих приложений. В части V рассматриваются алгоритмы на графах, которые играют все более важную роль во множестве приложений, таких как сетевая связность, конструирование электронных схем, составление графиков, обработка транзакций и выделение ресурсов.

  • Раскрыты все темы, указанные в оглавлении книги.
  • Много примеров и упражнений.
  • Качественный перевод.
  • Хорошее оформление издания, белая бумага, четкий шрифт.
  • В сравнении с книгами Кормана или Кнута раскрыты не все типы алгоритмов.

Мейерс Скотт. Эффективный и современный С++: 42 рекомендации по использованию C++11 и C++14

Эта книга посвящена возможностям языка, появившимся в C++11 и C++14. Рассказано, как эффективно использовать новые особенности, почему ту или иную задачу следует решать именно так., чтобы создаваемые программы были корректны, эффективны и переносимы.

  • Написано доступно, но без воды.
  • Хорошее качество переплета.
  • Редко, но встречаются неточности перевода и опечатки.

Яцек Галовиц. С++17 STL. Стандартная библиотека шаблонов

90 реалистичных примеров, которые демонстрируют всю мощь STL и станут базовыми кирпичиками для решения более универсальных задач. Описана работа с контейнерами, вспомогательными классами и лямбда-выражениями.

  • Стандарт C++17.
  • Создается хорошее понимание современного подхода к использованию C++.
  • Много примеров с пояснениями без лишней воды.
  • Мягкий переплет, низкое качество печати и обрезки страниц.

Энтони Уильямс. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ

В наши дни стали нормой компьютеры с многоядерными процессорами. Современные стандарты языка C++ предоставляют поддержку многопоточности. Вдумчиво читая книгу Уильямса, вы научитесь писать надежные и элегантные многопоточные программы на С++.

  • Большое количество примеров.
  • Не требуются предварительные знания по теме.
  • Рассмотрены все тонкости многопоточного программирования и типов синхронизации, подробно описаны lock-free-паттерны проектирования.
  • Старый, хотя и достаточно актуальный стандарт (С11).
  • Ужасное качество переплета для такого объема книги.

Продвинутый уровень C++

Роберт C. Мартин. Гибкая разработка программ на Java и C++. Принципы, паттерны и методики

Как и указано на обложке, примеры есть и на C++, и на Java, для лучшего понимания желательно знать оба языка. Рассматриваются ООП, UML, паттерны, приемы гибкого и экстремального программирования, а также приводится детальное описание полного процесса проектирования для многократно используемых программ на C++ и Java.

  • Легко читается.
  • На простых примерах дается введение в архитектурное проектирование.
  • Рассматриваются ошибки традиционных примеров «хорошего» проектирования кода.
  • Подробно обсуждаются принципы SOLID.
  • Чувствуется опыт автора.

Бьерн Страуструп. Дизайн и эволюция С++

В книге, написанной создателем языка С++ Бьерном Страуструпом, представлено описание процесса проектирования и разработки языка программирования С++.

Изложены цели, принципы и практические ограничения, наложившие отпечаток на структуру и облик С++, рассказано о дизайне недавно добавленных в язык средств: шаблонов, исключений, идентификации типа во время исполнения и пространств имен. Автор анализирует решения, принятые во время работы над языком, и демонстрирует, как правильно применять «реальный объектно-ориентированный язык программирования».

  • Описана идеология, структура, философия языка.
  • Становятся понятными конструкции языка: почему сделано так, а не иначе.
  • Для людей с большим опытом в разработке на C++ читается как захватывающая художественная книга.

Если вы не увидели любимую книгу в десятке, пожалуйста, не стесняйтесь порекомендовать ее в комментариях. Если вы читали перечисленные книги, дополните наши описания – какие преимущества и недостатки отметили бы вы.

Читайте также:  Синий экран при установке windows с диска

Библиотека программиста любит язык C++. Вот три последних публикации:

Создание формы входа с MS Access в Windows Form шаг за шагом на C#

В этой статье рассматривается, как создать приложение Windows Form в C# в качестве страницы входа, которая в основном содержит все приложения в качестве начальной страницы, где пользователи будут проверены на их пароли.

Шаг 1:

Создайте проект Windows Form и разместите на нем компоненты как показано на скрине ниже.

Шаг 2:

Обычный способ любой формы входа будет содержать пароль, отображаемый специальным символом, который используется в целях безопасности. Чтобы ввести это понятие в форму входа в систему, выберите параметр свойства текстового поля, в котором вы можете найти параметр PasswordChar, где вы можете дать желаемый специальный символ (в моем случае я использовал * звездочку). После внесения этого изменения, если вы запустите приложение, оно будет отображать только специальный символ при вводе пароля.

Шаг 3:

Теперь настало время для создания репозитория для вашей формы входа.Для этого перейдите в меню Пуск и найдите MS Access, а затем нажмите один раз, чтобы открыть. Создайте БД с именем dbUsers.accdb

Шаг 4:

Создадим таблицу с именем tblUser и поля id, user, pass. А так же внесем значения в БД.

Шаг 5:

Скопируем нашу БД в каталог программы изменив при это целевую платформу на x64

Переходите по коду с помощью отладчика Visual Studio Navigate through code with the Visual Studio debugger

С помощью отладчика Visual Studio можно переходить по коду для проверки состояния приложения и просмотра последовательности выполнения. The Visual Studio debugger can help you navigate through code to inspect the state of an app and show its execution flow. Для быстрого перехода к коду, который необходимо изучить, можно использовать сочетания клавиш, команды отладки, точки останова и другие функции. You can use keyboard shortcuts, debug commands, breakpoints, and other features to quickly get to the code you want to examine. Знание команд навигации и сочетаний клавиш в отладчике ускоряет и упрощает поиск и устранение неполадок в приложениях. Familiarity with debugger navigation commands and shortcuts makes it faster and easier to find and resolve app issues.

Если вы не знакомы с процессом отладки кода, перед выполнением задач в этой статье рекомендуется прочесть документ об отладке для начинающих и статью Методы и инструменты отладки. If this is the first time that you’ve tried to debug code, you may want to read Debugging for absolute beginners and Debugging techniques and tools before going through this article.

Переход в режим приостановки выполнения Get into «break mode»

В режиме приостановки выполнения выполнение приложения приостанавливается, но функции, переменные и объекты при этом остаются в памяти. In break mode, app execution is suspended while functions, variables, and objects remain in memory. Когда отладчик находится в режиме приостановки выполнения, можно переходить по коду. Once the debugger is in break mode, you can navigate through your code. Наиболее распространенные способы быстрого перехода в режим приостановки выполнения: The most common ways to get into break mode quickly is to either:

Начните пошаговое выполнение кода, нажав клавишу F10 или F11. Begin code stepping by pressing F10 or F11. Это позволит быстро найти точку входа в приложение, после чего можно продолжать использовать команды пошагового выполнения для перехода по коду. This allows you to quickly find the entry point of your app, then you can continue pressing step commands to navigate code.

Например, в редакторе кода в Visual Studio можно использовать команду Выполнить до текущей позиции, чтобы запустить приложение, присоединить отладчик и перейти в режим приостановки выполнения, а затем нажать клавишу F11 для перехода по коду. For example, from the code editor in Visual Studio, you can use the Run to Cursor command to start the app, debugger attached, and get into break mode, then F11 to navigate code.

В режиме приостановки выполнения можно переходить по коду, используя различные команды. Once in break mode, you can use a variety of commands to navigate through your code. Во время режима приостановки выполнения можно выполнять поиск ошибок и нарушений целостности данных, проверяя значения переменных. While in break mode, you can examine the values of variables to look for violations or bugs. Для некоторых типов проектов можно также вносить корректировки в приложение. For some project types, you can also make adjustments to the app while in break mode.

Большинство окон отладчика, таких как Модули и Контрольные значения, доступны только тогда, когда отладчик присоединен к приложению. Most debugger windows, like the Modules and Watch windows, are available only while the debugger is attached to your app. Некоторые возможности отладчика, такие как просмотр значений переменных в окне локальных переменных или вычисление выражений в окне контрольных значений, доступны только при приостановке отладчика (то есть в режиме приостановки выполнения). Some debugger features, such as viewing variable values in the Locals window or evaluating expressions in the Watch window, are available only while the debugger is paused (that is, in break mode).

Если во время приостановки выполнения кода не загружены исходные файлы или файлы символов (PDB), отладчик отображает страницу Исходный файл не найден или Символы не найдены, которая поможет найти и загрузить файлы. If you break into code that doesn’t have source or symbol (.pdb) files loaded, the debugger displays a Source Files Not Found or Symbols Not Found page that can help you find and load the files. См. статью Указание файлов символов (.pdb) и файлов с исходным кодом в отладчике Visual Studio. See Specify symbol (.pdb) and source files. Если вы не можете загрузить исходные файлы или файлы символов, можно выполнить отладку инструкций на языке ассемблера в окне Дизассемблирование. If you can’t load the symbol or source files, you can still debug the assembly instructions in the Disassembly window.

Пошаговое прохождение кода Step through code

С помощью команд пошагового выполнения отладчика можно проверять состояние приложения или изучать его последовательность выполнения. The debugger step commands help you inspect your app state or find out more about its execution flow.

Построчное выполнение кода Step into code line by line

Для остановки выполнения на каждом операторе во время отладки используйте команду Отладка > Шаг с заходом или нажмите клавишу F11. To stop on each statement while debugging, use Debug > Step Into, or press F11.

Отладчик осуществляет пошаговое выполнение операторов кода, а не физических строк. The debugger steps through code statements, not physical lines. Например, предложение if может быть записано в одной строке: For example, an if clause can be written on one line:

Однако при пошаговом выполнении этой строки отладчик обрабатывает условие как один шаг, а следствие — как другой. However, when you step into this line, the debugger treats the condition as one step, and the consequence as another. В предыдущем примере условие выполняется. In the preceding example, the condition is true.

При вызове вложенных функций команда Шаг с заходом позволяет попасть в самую глубокую вложенную функцию. On a nested function call, Step Into steps into the most deeply nested function. Например, если использовать Шаг с заходом на вызове Func1(Func2()) , отладчик заходит в функцию Func2 . For example, if you use Step Into on a call like Func1(Func2()) , the debugger steps into the function Func2 .

Читайте также:  Pptp vpn сервер для windows

При выполнении каждой строки кода можно наводить указатель мыши на переменные, чтобы просматривать их значения, или использовать окна Локальные переменные и Контрольные значения для наблюдения за изменением значений. As you execute each line of code, you can hover over variables to see their values, or use the Locals and Watch windows to watch the values change. Кроме того, можно визуально отслеживать стек вызовов при выполнении шагов с заходом в функции. You can also visually trace the call stack while stepping into functions. (Сведения, касающиеся только Visual Studio Enterprise, см. в статье Сопоставление методов в визуализации стека вызовов при отладке.) (For Visual Studio Enterprise only, see Map methods on the call stack while debugging).

Пошаговое прохождение кода и пропуск некоторых функций Step through code and skip some functions

Во время отладки некоторые функции могут вас не интересовать или вы можете знать, что они работают, как в случае с тщательно протестированным кодом библиотеки. You may not care about a function while debugging, or you know it works, like well-tested library code. Чтобы пропустить код во время пошагового выполнения, можно использовать приведенные ниже команды. You can use the following commands to skip code while code stepping. Функции по-прежнему выполняются, но отладчик пропускает их. The functions still execute, but the debugger skips over them.

Команда с клавиатуры Keyboard command Команда меню «Отладка» Debug menu command Описание Description
F10 F10 Шаг с обходом Step Over Если текущая строка содержит вызов функции, команда Шаг с обходом выполняет код, а затем останавливает выполнение в первой строке кода после возврата управления вызываемой функцией. If the current line contains a function call, Step Over runs the code, then suspends execution at the first line of code after the called function returns.
SHIFT+F11 Shift+F11 Шаг с выходом Step Out Команда Шаг с выходом возобновляет выполнение кода и приостанавливает выполнение, когда текущая функция возвращает управление. Step Out continues running code and suspends execution when the current function returns. Отладчик пропускает текущую функцию. The debugger skips through the current function.

Выполнение до указанного места или функции Run to a specific location or function

Вам может потребоваться выполнить код непосредственно до определенного места или функции, если вы точно знаете, какой код нужно проверить или с какого места следует начать отладку. You may prefer to run directly to a specific location or function when you know exactly what code you want to inspect, or you know where you want to start debugging.

Выполнение до точки останова в коде Run to a breakpoint in code

Чтобы задать простую точку останова в коде, щелкните в левом поле напротив строки кода, в которой нужно приостановить выполнение. To set a simple breakpoint in your code, click the far left margin next to the line of code where you want to suspend execution. Можно также выбрать строку и нажать клавишу F9, выбрать команду Отладка > Переключить точку останова или щелкнуть правой кнопкой мыши и выбрать команду Точка останова > Вставить точку останова. You can also select the line and press F9, select Debug > Toggle Breakpoint, or right-click and select Breakpoint > Insert Breakpoint. Точка останова отображается как красный кружок в левом поле рядом со строкой кода. The breakpoint appears as a red dot in the left margin next to the code line. Отладчик приостанавливает выполнение непосредственно перед выполнением строки. The debugger suspends execution just before the line executes.

Точки останова в Visual Studio предоставляют широкий набор дополнительных функций, таких как условные точки останова и точки трассировки. Breakpoints in Visual Studio provide a rich set of additional functionality, such as conditional breakpoints and tracepoints. Дополнительные сведения см. в статье Использование точек останова. For details, see Using breakpoints.

Выполнение до точки останова функции Run to a function breakpoint

Можно дать отладчику команду на выполнение до тех пор, пока не будет достигнута определенная функция. You can tell the debugger to run until it reaches a specified function. Можно задать функцию по имени или выбрать ее из стека вызовов. You can specify the function by name, or you can choose it from the call stack.

Указание точки останова функции по имени To specify a function breakpoint by name

Выберите команду Отладка > Создать точку останова > Точка останова функции. Select Debug > New Breakpoint > Function Breakpoint

В диалоговом окне Новая точка останова функции введите имя функции и выберите ее язык. In the New Function Breakpoint dialog, type the name of the function and select its language.

Нажмите кнопку ОК. Select OK.

Если функция перегружается или находится в нескольких пространствах имен, нужную функцию можно выбрать в окне Точки останова. If the function is overloaded or in more than one namespace, you can choose the one you want in the Breakpoints window.

Выбор точки останова функции из стека вызовов To select a function breakpoint from the call stack

Во время отладки откройте окно Стек вызовов, выбрав пункт Отладка > Окна > Стек вызовов. While debugging, open the Call Stack window by selecting Debug > Windows > Call Stack.

В окне Стек вызовов щелкните правой кнопкой мыши имя функции и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10. In the Call Stack window, right-click a function and select Run To Cursor, or press Ctrl+F10.

Сведения о визуальном отслеживании стека вызовов см. в статье Сопоставление методов в визуализации стека вызовов при отладке. To visually trace the call stack, see Map methods on the call stack while debugging.

Выполнение до расположения курсора Run to a cursor location

Чтобы выполнить код до позиции курсора, в окне исходного кода или в окне Стек вызовов выберите строку, в которой нужно прервать выполнение, щелкните ее правой кнопкой мыши и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10. To run to the cursor location, in source code or the Call Stack window, select the line you want to break at, right-click and select Run To Cursor, or press Ctrl+F10. Выбор команды Выполнить до текущей позиции аналогичен заданию временной точки останова. Selecting Run To Cursor is like setting a temporary breakpoint.

Выполнение до щелкнутого Run to Click

Во время приостановки работы отладчика можно навести указатель мыши на оператор в исходном коде или в окне Дизассемблирование и щелкнуть значок с зеленой стрелкой Выполнить до этого места. While paused in the debugger, you can hover over a statement in source code or the Disassembly window, and select the Run execution to here green arrow icon. Использование команды Выполнение до щелкнутого позволяет не устанавливать временную точку останова. Using Run to Click eliminates the need to set a temporary breakpoint.

Команда Выполнение до щелкнутого доступна начиная с версии Visual Studio 2017 Visual Studio 2017 . Run to Click is available starting in Visual Studio 2017 Visual Studio 2017 .

Приостановка выполнения кода вручную Manually break into code

Чтобы приостановить выполнение в следующей доступной строке кода в выполняющемся приложении, выберите команду Отладка > Прервать все или нажмите клавиши CTRL+ALT+BREAK. To break in the next available line of code in a running app, select Debug > Break All, or press Ctrl+Alt+Break.

Перемещение указателя для изменения потока выполнения Move the pointer to change the execution flow

Когда работа отладчика приостановлена, желтая стрелка в поле исходного кода или в окне Дизассемблированный код отмечает текущее расположение оператора, который должен быть выполнен следующим. While the debugger is paused, a yellow arrowhead in the margin of the source code or Disassembly window marks the location of the next statement to be executed. Вы можете изменить оператор, который будет выполнен следующим, переместив эту стрелку. You can change the next statement to execute by moving this arrowhead. Можно пропустить часть кода или вернуться к предыдущей строке. You can skip over a portion of code, or return to a previous line. Перемещение указателя полезно при возникновении таких ситуаций, как пропуск раздела кода, содержащего известную ошибку. Moving the pointer is useful for situations such as skipping a section of code that contains a known bug.

Для изменения оператора, который будет выполнен следующим, отладчик должен находиться в режиме приостановки выполнения. To change the next statement to execute, the debugger must be in break mode. В окне исходного кода или окне Дизассемблированный код перетащите желтую стрелку в другую строку или щелкните правой кнопкой мыши строку, которую нужно выполнить следующей, и выберите команду Задать следующий оператор. In the source code or Disassembly window, drag the yellow arrowhead to a different line, or right-click the line you want to execute next and select Set Next Statement.

Счетчик программы переходит непосредственно к новому расположению, и инструкции между старой и новой точками не выполняются. The program counter jumps directly to the new location, and instructions between the old and new execution points aren’t executed. Однако при перемещении точки выполнения обратно промежуточные инструкции не отменяются. However, if you move the execution point backwards, the intervening instructions aren’t undone.

  • Перемещение следующего оператора на другую функцию или область обычно приводит к повреждению стека вызова, вызывая ошибку времени выполнения или исключение. Moving the next statement to another function or scope usually results in call-stack corruption, causing a run-time error or exception. При попытке перемещения следующего оператора в другую область, отладчик открывает диалоговое окно с предупреждением и предоставляет возможность отменить операцию. If you try moving the next statement to another scope, the debugger opens a dialog box with a warning and gives you a chance to cancel the operation.
  • В Visual Basic нельзя переместить следующий оператор на другую область или функцию. In Visual Basic, you cannot move the next statement to another scope or function.
  • Если при использовании машинного кода C++ включены проверки времени выполнения, установка следующего оператора может вызвать исключение, когда выполнение достигнет конца метода. In native C++, if you have run-time checks enabled, setting the next statement can cause an exception to be thrown when execution reaches the end of the method.
  • При включенной операции «Изменить и продолжить» команда Задать следующий оператор завершится неудачей, если вы внесете изменения, которые операция «Изменить и продолжить» не сможет немедленно применить. When Edit and Continue is enabled, Set Next Statement fails if you have made edits that Edit and Continue cannot remap immediately. Например, это может произойти, если были внесены изменения внутри блока catch. This can occur, for example, if you have edited code inside a catch block. При возникновении такой ситуации появляется сообщение об ошибке, указывающее, что операция не поддерживается. When this happens, an error message tells you that the operation is not supported.
  • В управляемом коде нельзя перемещать следующий оператор в следующих случаях: In managed code, you cannot move the next statement if:
    • Следующий оператор находится в методе, отличном от метода текущего оператора. The next statement is in a different method than the current statement.
    • Отладка была запущена через JIT–отладку. Debugging was started by Just-In-Time debugging.
    • Выполняется очистка стека вызова. A call stack unwind is in progress.
    • Вызвано исключение System.StackOverflowException или System.Threading.ThreadAbortException. A System.StackOverflowException or System.Threading.ThreadAbortException exception has been thrown.

Отладка кода, не являющегося пользовательским Debug non-user code

По умолчанию отладчик пытается выполнить отладку только кода вашего приложения, так как включена функция Только мой код. By default, the debugger tries to debug only your app code by enabling a setting called Just My Code. Дополнительные сведения о том, как эта функция работает с проектами различных типов и на разных языках, а также о том, как настроить ее, см. в статье Только мой код. For more details about how this feature works for different project types and languages, and how you can customize it, see Just My Code.

Для просмотра кода платформы, кода сторонней библиотеки или системных вызовов во время отладки можно отключить функцию «Только мой код». To look at framework code, third-party library code, or system calls while debugging, you can disable Just My Code. В меню Сервис (или Отладка) выберите пункты Параметры > Отладка и снимите флажок Включить только мой код. In Tools (or Debug) > Options > Debugging, clear the Enable Just My Code check box. Когда функция «Только мой код» отключена, в окнах отладчика отображается код, не являющийся пользовательским, и отладчик может выполнять его по шагам. When Just My Code is disabled, non-user code appears in the debugger windows, and the debugger can step into the non-user code.

Режим «Только мой код» не поддерживается для проектов устройств. Just My Code is not supported for device projects.

Отладка системного кода Debug system code

Если вы загрузили отладочные символы для системного кода Майкрософт и отключили режим «Только мой код», можно производить шаг с заходом в системный вызов так же, как в любой другой вызов. If you have loaded debugging symbols for Microsoft system code, and disabled Just My Code, you can step into a system call just as you can any other call.

Чтобы загрузить символы для определенного системного компонента, выполните указанные ниже действия. To load symbols for a specific system component:

Во время отладки откройте окно Модули, выбрав пункт Отладка > Окна > Модули или нажав клавиши CTRL+ALT+U. While you’re debugging, open the Modules window by selecting Debug > Windows > Modules, or pressing Ctrl+Alt+U.

Определить, для каких модулей символы загружены, можно по значению в столбце Состояние символов в окне Модули. In the Modules window, you can tell which modules have symbols loaded in the Symbol Status column. Щелкните правой кнопкой мыши модуль, для которого требуется загрузить символы, и выберите команду Загрузить символы. Right-click the module that you want to load symbols for, and select Load Symbols.

Шаг с заходом в свойства и операторы в управляемом коде Step into properties and operators in managed code

По умолчанию отладчик обходит свойства и операторы при пошаговом выполнении в управляемом коде. The debugger steps over properties and operators in managed code by default. В большинстве случаев это делает отладку более удобной и эффективной. In most cases, this provides a better debugging experience. Чтобы включить пошаговое выполнение свойств и операторов, выберите пункт Отладка > Параметры. To enable stepping into properties or operators, choose Debug > Options. На странице Отладка > Общие снимите флажок Обход свойств и операторов (только управляемый код) . On the Debugging > General page, clear the Step over properties and operators (Managed only) check box.

Читайте также:  Как правильно настроить windows audio
Оцените статью