Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks

Debugging with Code::Blocks

Namespaces

Page actions

Contents

Build debug version of your project

Compiler optimization switches should be turned off, stripping symbols (-s) must be turned off.

Menu => Project => Build Options

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. DbgProjBuildOpt. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-DbgProjBuildOpt. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° DbgProjBuildOpt

Add Watches

In version 10.05

Open The Debugger Watches Window

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. DbgWatchWindow. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-DbgWatchWindow. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° DbgWatchWindow

The list of watches can be saved to a file and later re-loaded. To do so, right click in the list of watches and select «save watch file» (and «load watch file» to re-load them again).

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. Save watch. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-Save watch. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Save watch

In 12.11 or latest nightly builds

In the latest nightly builds the watches window has been redesigned and works differently that the one in 10.05.

Currently there are three ways of adding watches in it:

The automatic inclusion of local variables and function arguments have being reimplemented in 13.12.

Double-clicking in the Call stack window

Note : when debugging, double-clicking on a frame in the «call stack» debug window does not automatically update the variables displayed in the «watches» debug window.

You have to right-click on a frame in the «call stack» debug window and select «Switch to this frame».

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. DWCB watches 01. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-DWCB watches 01. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° DWCB watches 01

Set Breakpoints

Find the line containing the variable to be watched. Set a breakpoint in a position that will allow you to observe the variable value.

Menu => Debug => Toggle Breakpoint

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. DbgSetWatchVar. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-DbgSetWatchVar. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° DbgSetWatchVar

Run the debugger until the breakpoint is reached. Right click the variable to set a watch in the Watch Window.

Breakpoints may also be toggled with a left click in the left editor margin.

Notes

Script support

Code::Blocks natively use squirrel script language to deal with gdb, see: Debugger scripts. As gdb 7.x support python pretty printer, so, it can also use gdb(with python support) to show some complex variable values. see forum thread [/index.php/topic,11301.msg77000.html#msg77000 unofficial MinGW GDB gdb with python released] and Use GDB python under Codeblocks for more details.

Single file debugging

To debug your program you need to setup a project. Single file programs are not supported.

Path with spaces

Breakpoints could not work if the path/folder you’ve placed your project contains spaces or other special characters. To be safe use English letters, digits and ‘_’.

Forking

If your application uses the ‘fork’ system call you’ll have trouble stopping the debugged program or setting breakpoints on the fly. Here is a link explaining the forking modes of GDB: http://sourceware.org/gdb/onlinedocs/gdb/Forks.html

Update to the newest version of MinGW

From gdb 6.8 released on April 2008, it supports many features which does not exist in early versions. You can update by installing binaries from TDM-Mingw package.

Use 32bit CDB for 32bit programs and 64bit CDB for 64bit programs

It seems that debugging a 32bit program with 64bit CDB doesn’t work on Windows 7, but 32bit CDB works perfectly.

Note: This should no longer be the case with Code::Blocks’ rev>=10920. See the ticket for details: #429

Limits on the early version of MinGW

If your are still using the MinGW and gdb 6.7 from 8.02 setup files, setting breakpoints in the constructor will not work. Here are some tricks.

Breakpoints do not work in constructors or destructors in GDB 6.7 and earlier version. They do, however, work in routines called from them. This is an early GDB restriction, not a bug. So you could do something like:

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. . Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Установка ΠΈ настройка Code::Blocks

Code::Blocks β€” свободная интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) с ΠΎΡ‚Ρ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ использованиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… компиляторов. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Code::Blocks ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ компилятор MinGW, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поставляСтся Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ (ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ дистрибутив ΠΈ Π±Π΅Π· встроСнного компилятора). MinGW – это Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ компилятора GNU C/C++ для Windows. MinGW – это сокращСниС «Minimalist GNU для Windows». Набор MinGW Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ инструмСнты для программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ зависят ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Visual Studio ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнный компилятор). MinGW Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ GNU Compiler Collection (GCC), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ компиляторы C, C ++, ADA ΠΈ Fortran. Code::Blocks ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Ρ‡Ρ‚ΠΎ позволяСт Π΅ΠΌΡƒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π·Π° счёт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ windows, linux, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ микропроцСссоры Ρ‚ΠΈΠΏΠ° avr ΠΈ stm32). ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΊΠΎΠ΄Π° Π² Code::Blocks ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π² исходном ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Установка компилятора MinGW

Установка самого Code::Blocks Π½Π΅ прСдставляСт Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹. Дистрибутив Code::Blocks вСрсии 17.12 содСрТал ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ компилятора MinGW, поэтому ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Code::Blocks Π±Π΅Π· компилятора MinGW ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ компилятор. Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ вСрсия Code::Blocks 20.03 содСрТит Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ MinGW (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 64-разрядная вСрсия компилятора, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ дистрибутив ΠΈ с 32-разядной вСрсиСй). Но Π½Π° всякий случай рассмотрим ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ установку MinGW (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 32-разрядной вСрсии). Π‘Π½Π°Ρ‡Π°Π»Π° скачиваСм дистрибутив Code::Blocks с сайта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° mingw.org. ПослС запуска появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 8. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-8. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8

НаТмимаСм Install ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 9. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 9

Π—Π΄Π΅ΡΡŒ Π² ΠΏΠΎΠ»Π΅ Installation Directory ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ располоТСниС Ρ„Π°ΠΉΠ»ΠΎΠ² компилятора. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это C:\MinGW, Π΅Π³ΠΎ ΠΈ оставляСм. НаТимаСм Continue ΠΈ начинаСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ установка ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° для установки MinGW.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 10. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-10. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 10

НаТимаСм Continue ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 11 small. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-11 small. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 11 small

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 12. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-12. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 12

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Close

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 1 small. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-1 small. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1 small

Π’ появившСмся ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Code::Blocks ΠΈΠΌΠ΅Π΅Ρ‚ большоС количСство шаблонов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π’ нашСм случаС это Console application (консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 2. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ C++ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Next.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 3. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 3

Π”Π°Π»Π΅Π΅ Π² ΠΏΠΎΠ»Π΅ Project Title вписываСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ нашСм случаС это Test. Π’ΡƒΡ‚ ΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ располоТСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° дискС (ΠΏΠΎΠ»Π΅ Folder to create project in). Π’ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ ΠΏΠ°ΠΏΠΊΠ΅ Code::Blocks автоматичСски создаст ΠΏΠ°ΠΏΠΊΡƒ с Ρ€Π°Π½Π΅Π΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π£ΠΊΠ°Π·Π°Π² имя ΠΏΠ°ΠΏΠΊΠΈ ΠΈ имя Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Next.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 4. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 4

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ компилятор, Π° Ρ‚Π°ΠΊΠΆΠ΅ сцСнарии сборки. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Π±Ρ€Π°Π½ GNU GCC Compiler, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ сборки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСсколько вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСдполагаСтся Π΄Π²Π° сцСнария: Debug (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅) ΠΈ Release (сцСнарий компиляции Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния). Π₯отя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сцСнариСв Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½. Если Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ ΠΎΠ±Π° сцСнария, Ρ‚ΠΎ Π² дальнСйшСм ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 5. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 5

Π–ΠΌΡ‘ΠΌ Finish ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Hello World!

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 6. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 6

НаТмимаСм F9 для компиляции ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 7. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-7. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для запуска ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 14. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-14. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 14

ΠŸΠ΅Ρ€Π²Π°Ρ слСва ΠΊΠ½ΠΎΠΏΠΊΠ° (с ΠΆΠ΅Π»Ρ‚ΠΎΠΉ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΎΠΉ) запускаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, вторая (с Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ) запускаСт Π½Π° исполнСниС послСдний скомпилированный Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Ρ€Π΅Ρ‚ΡŒΡ (с Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΠΈ ΠΆΠ΅Π»Ρ‚ΠΎΠΉ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΎΠΉ) β€” сначала запускаСт ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ запускаСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ exe-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Частой ошибкой являСтся использованиС ΠΊΠ½ΠΎΠΏΠΊΠΈ запуска (с Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ) для компиляции ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ этом случаС внСсСнныС Π² исходный ΠΊΠΎΠ΄ измСнСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π°.

Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ для рСдактирования Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Ρ‚ΠΎ Π½Π° Π΅Π³ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ слСва ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ появится Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° ΠΊΠ°ΠΊ Π½Π° рисункС Π½ΠΈΠΆΠ΅. Для сохранСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… прилоТСниях достаточно Π½Π°ΠΆΠ°Ρ‚ΡŒ сочСтаниС клавиш Ctrl+S. РасполоТСниС (ΠΏΡƒΡ‚ΡŒ) ΠΈ имя ΠΎΡ‚Ρ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° отобраТаСтся Π² строкС состояния, Π² Π»Π΅Π²ΠΎΠΉ Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π°.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 16. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-16. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 16

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 15. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-15. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 15

Для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ навСсти ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ, Π½Π° Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ Π² появившСмся контСкстном мСню Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Activate project. Π’ этом ΠΆΠ΅ мСню доступны Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (Π² Ρ‚ΠΎΠΌ числС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²).

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ Π² консоли

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° отобраТСния кирилличСских символов Π² консоли Windows связана с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ консоль Π² этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ настройку ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ страницы. Если Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ cp1251 (ΠΎΠ½Π° ΠΆΠ΅ windows-1251), Ρ‚ΠΎ консоль ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ cp866 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΡƒΡŽΡΡ Π² MS-DOS. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ Π½Π° консоль Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ SetConsoleCP() ΠΈ SetConsoleOutputCP() соотвСтствСнно. Π’ качСствС СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠ±Π΅ΠΈΠΌ функциям пСрСдаСтся Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ страницы – 1251. Для использования ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CP_UTF8.

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая сначала просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку с кирилличСскими символами, Π° Π·Π°Ρ‚Π΅ΠΌ считываСт строку ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° экран.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ setlocale(LC_ALL, «Russian») Π²Ρ‹Π²ΠΎΠ΄ осущСствляСтся Π² cp1251, Π° Π²Π²ΠΎΠ΄ – Π² cp866. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ввСдённая с кирилличСскими символами строка хранится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅. Наглядно это ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ссли Π² ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SetConsoleCP(). Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ выдаст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π²Π²Π΅Π»ΠΈ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

3.6 – ИспользованиС встроСнного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°: пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΌΡ‹ исслСдовали Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы измСнСния вашСго ΠΊΠΎΠ΄Π° для облСгчСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ диагностичСской ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ использованиС Π»ΠΎΠ³Π³Π΅Ρ€Π°. Π­Ρ‚ΠΈ простыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎ врСмя Π΅Π΅ выполнСния. Π₯отя ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ эффСктивными ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании, Ρƒ Π½ΠΈΡ… всС ΠΆΠ΅ Π΅ΡΡ‚ΡŒ нСдостатки: ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ измСнСния вашСго ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ появлСнию Π½ΠΎΠ²Ρ‹Ρ… ошибок, ΠΈ ΠΎΠ½ΠΈ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°ΡŽΡ‚ ваш ΠΊΠΎΠ΄, затрудняя ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.

Π—Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€, стоит нСустановлСнноС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ запустим ΠΊΠΎΠ΄, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠ°ΡƒΠ·ΠΎΠΉ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…) Π±Π΅Π· возмоТности Π²ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ.

Однако Ρ‡Ρ‚ΠΎ, Ссли Π±Ρ‹ ΠΌΡ‹ смогли ΡƒΠ±Ρ€Π°Ρ‚ΡŒ это ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных IDE ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ со встроСнным инструмСнтом, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ для этого.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ – это ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая позволяСт программисту ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π΅ состояниС Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ построчно, ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ провСряя значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Бравнивая фактичСскиС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΈΠ»ΠΈ наблюдая Π·Π° Ρ…ΠΎΠ΄ΠΎΠΌ выполнСния ΠΊΠΎΠ΄Π°, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² отслСТивании сСмантичСских (логичСских) ошибок.

ВозмоТности ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° двойствСнныС: ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ (ΠΈ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ) состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π Π°Π½Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ gdb, Π±Ρ‹Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ с интСрфСйсами ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π³Π΄Π΅ программисту ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π³Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ€Π°Π½Π½ΠΈΠ΅ вСрсии Turbo Debugger ΠΎΡ‚ Borland) всё Π΅Ρ‰Π΅ Π±Ρ‹Π»ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ»ΠΈΡΡŒ со своими собствСнными «графичСскими» интСрфСйсами для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных IDE, доступных Π² наши Π΄Π½ΠΈ, ΠΈΠΌΠ΅ΡŽΡ‚ встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρƒ ΠΆΠ΅ срСду, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для написания ΠΊΠΎΠ΄Π° (вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ).

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС соврСмСнныС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ содСрТат ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ стандартный Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Сдинообразия Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ мСню для доступа ΠΊ этим функциям, Π½Π΅Ρ‚, ΠΈ Π΅Ρ‰Π΅ мСньшС Сдинообразия Π² сочСтаниях клавиш. Π₯отя Π² Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Microsoft Visual Studio (ΠΈ ΠΌΡ‹ расскаТСм, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ всё Π² Code::Blocks), Ρƒ вас Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с выяснСниСм Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ обсуТдаСмой Π½Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, Π΄Π°ΠΆΠ΅ Ссли Π²Π°ΡˆΡƒ IDE, ΠΌΡ‹ Π½Π΅ рассматриваСм явно.

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ этой Π³Π»Π°Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ посвящСн ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ.

Π‘ΠΎΠ²Π΅Ρ‚

НС ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ. По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ становятся Π±ΠΎΠ»Π΅Π΅ слоТными, количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ эффСктивному использованию встроСнного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»Π΅Π΄Π½Π΅Ρ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с количСством Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ сэкономитС Π½Π° поискС ΠΈ устранСнии ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ этот ΡƒΡ€ΠΎΠΊ (ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠΊΠΈ, связанныС с использованиСм ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ скомпилирован, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ сборки (для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ смотритС Β«0.9 – Настройка компилятора: ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сборки»).

Если вмСсто этого Π²Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ€Π΅Π»ΠΈΠ·Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ пошагово, ΠΎΠ½ просто запустит ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ).

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Code::Blocks

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Code::Blocks, ваш ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настроСн ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅Ρ‚. Π”Π°Π²Π°ΠΉΡ‚Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Settings (Настройки) β†’ Debugger (ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ). Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GDB/CDB (GDB/CDB debugger) слСва ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Default (По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ). Π”ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. fa2307e106da11694d88d2397f59ac18714d9188. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-fa2307e106da11694d88d2397f59ac18714d9188. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fa2307e106da11694d88d2397f59ac18714d9188 Рисунок 1 – Настройки ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π² Code::Blocks

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Code::Blocks

Π‘Ρ‹Π»ΠΈ сообщСния ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Code::Blocks (GDB) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с распознаваниСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, содСрТащих ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ нСанглийскиС символы. Если Π²ΠΎ врСмя прохоТдСния этих ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρƒ вас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со сбоями, Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ.

ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

ΠœΡ‹ собираСмся Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ² с изучСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… инструмСнтов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ – это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° связанных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ (поэтапно) наш ΠΊΠΎΠ΄ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π·Π° инструкциСй.

Π•ΡΡ‚ΡŒ нСсколько ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрим ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

Π¨Π°Π³ с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ (step into)

Команда шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ (step into) выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ приостанавливаСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Если выполняСмый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ содСрТит Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ заставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΡΠΊΠ°ΠΊΠΈΠ²Π°Ρ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π³Π΄Π΅ ΠΎΠ½Π° приостанавливаСтся.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΈΠΌ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ.

Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Visual Studio

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Code::Blocks

Для Π΄Ρ€ΡƒΠ³ΠΈΡ… компиляторов

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ срСду IDE, Π²Ρ‹, вСроятно, Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ step into Π² мСню Debug (ΠžΡ‚Π»Π°Π΄ΠΊΠ°) ΠΈΠ»ΠΈ Run (Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ).

Когда ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΈ Π²Ρ‹ выполняСтС ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит нСсколько Π²Π΅Ρ‰Π΅ΠΉ:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ слСва ΠΎΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main (строка 9). Π’ Visual Studio этот ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ прСдставляСт собой ΠΆΠ΅Π»Ρ‚ΡƒΡŽ стрСлку (Code::Blocks ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ). Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ IDE, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, слуТащСС Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΠΈ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. bb4b8535c987227353581ae969cff51a4444a6e2. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-bb4b8535c987227353581ae969cff51a4444a6e2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° bb4b8535c987227353581ae969cff51a4444a6e2 Рисунок 2 – ΠœΠ°Ρ€ΠΊΠ΅Ρ€ строки, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, Π² Visual Studio

Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ стрСлки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ указанная строка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ. Π’ этом случаС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ сообщаСт Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ выполняСмая строка – это ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ скобка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main (строка 9).

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для вашСй IDE, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ скобку, ΠΈ стрСлка пСрСмСстится ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции (строка 10).

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 8ce7d6a17123f03cc987606f48970bc062246de9. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-8ce7d6a17123f03cc987606f48970bc062246de9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8ce7d6a17123f03cc987606f48970bc062246de9 Рисунок 3 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° послС выполнСния ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 7e4c39a368bbede0902723bd674280f531d2d4e2. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-7e4c39a368bbede0902723bd674280f531d2d4e2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7e4c39a368bbede0902723bd674280f531d2d4e2 Рисунок 4 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° послС выполнСния Π·Π°Ρ…ΠΎΠ΄Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ printValue

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. b5a8cca0e7c1b5f67e4c69641651f2b58273b08d. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-b5a8cca0e7c1b5f67e4c69641651f2b58273b08d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° b5a8cca0e7c1b5f67e4c69641651f2b58273b08d Рисунок 5 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° послС выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ снова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ std::cout ΠΈ пСрСмСстит стрСлку Π² строку 6.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

Если это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ваша IDE ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ исходный Ρ„Π°ΠΉΠ», Π° стрСлка-ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ пСрСмСстится Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ operator (это Ρ‡Π°ΡΡ‚ΡŒ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ). Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный Ρ„Π°ΠΉΠ», Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ шаг с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ (step out) (Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, инструкции ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«Π¨Π°Π³ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ (step out)Β»).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ std::cout Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΊΠ½Π΅ консоли появилось Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 8ce7d6a17123f03cc987606f48970bc062246de9. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-8ce7d6a17123f03cc987606f48970bc062246de9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8ce7d6a17123f03cc987606f48970bc062246de9 Рисунок 6 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°. На этом этапС ΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ всС строки Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, поэтому ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ. НСкоторыС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ Π½Π° этом этапС автоматичСски Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ сСанс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ – Π½Π΅Ρ‚. Если ваш ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ Π² мСню ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Stop Debugging (ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ) (Π² Visual Studio это находится Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡ‚Π»Π°Π΄ΠΊΠ° (Debug) β†’ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ (Stop Debugging)).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ процСсса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ пошагово Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ наблюдали Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки!

Π¨Π°Π³ с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ (step over)

Как ΠΈ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΠΌΠ°Π½Π΄Π° шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ (step over) выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… построчно, шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ всю Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· остановки ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ послС выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Visual Studio

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Code::Blocks

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue :

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠΊΠ° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ выполнСния Π½Π΅ окаТСтся Π² строкС 10:

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 8ce7d6a17123f03cc987606f48970bc062246de9. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-8ce7d6a17123f03cc987606f48970bc062246de9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8ce7d6a17123f03cc987606f48970bc062246de9 Рисунок 7 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ. ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5 Π² ΠΎΠΊΠ½ΠΎ консоли), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ инструкции (строка 12).

Команда шаг с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈΠ»ΠΈ Π½Π΅ заинтСрСсованы Π² ΠΈΡ… ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ прямо сСйчас.

Π¨Π°Π³ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ (step out)

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, шаг с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ (step out) Π½Π΅ просто выполняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку ΠΊΠΎΠ΄Π°. ВмСсто этого ΠΎΠ½ выполняСт вСсь ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая выполняСтся Π² настоящСС врСмя, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Visual Studio

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Code::Blocks

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ этого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹ΡˆΠ΅:

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ шаг с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ΡΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue с ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ выполнСния Π² строкС 4.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 7e4c39a368bbede0902723bd674280f531d2d4e2. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-7e4c39a368bbede0902723bd674280f531d2d4e2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 7e4c39a368bbede0902723bd674280f531d2d4e2 Рисунок 8 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Π² Π½Π°Ρ‡Π°Π»Π΅ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue

Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ шаг с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ. Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠΊΠ½Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° появится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5, ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π²Π΅Ρ€Π½Π΅Ρ‚ Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π² строкС 10).

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. 8ce7d6a17123f03cc987606f48970bc062246de9. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks Ρ„ΠΎΡ‚ΠΎ. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks-8ce7d6a17123f03cc987606f48970bc062246de9. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ debug Π² codeblocks. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 8ce7d6a17123f03cc987606f48970bc062246de9 Рисунок 9 – ПолоТСниС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° послС выполнСния шага с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printValue

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ случайно вошли Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Π¨Π°Π³Π½ΡƒΠ»ΠΈ слишком Π΄Π°Π»Π΅ΠΊΠΎ

ΠŸΡ€ΠΈ пошаговом Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡˆΠ°Π³Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΏΠ΅Ρ€Π΅Π΄. ΠžΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ случайно ΠΏΠ΅Ρ€Π΅ΡˆΠ°Π³Π½ΡƒΡ‚ΡŒ Ρ‚ΠΎ мСсто, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ°Π³Π½Π΅Ρ‚Π΅ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ мСсто назначСния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Π΄Π΅Π»ΠΎ – ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ снова Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, соблюдая ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° этот Ρ€Π°Π· Π½Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΌΠΈΠΌΠΎ Ρ†Π΅Π»ΠΈ.

Π¨Π°Π³ Π½Π°Π·Π°Π΄

НСкоторыС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Visual Studio Enterprise Edition ΠΈ GDB 7.0) прСдставили Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пошагового выполнСния, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ шагом Π½Π°Π·Π°Π΄ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ. ЦСль шага Π½Π°Π·Π°Π΄ – ΠΎΡ‚ΠΌΠΎΡ‚Π°Ρ‚ΡŒ послСдний шаг Π½Π°Π·Π°Π΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΡˆΠ°Π³Π½ΡƒΠ»ΠΈ Ρ†Π΅Π»ΡŒ, ΠΈΠ»ΠΈ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

РСализация шага Π½Π°Π·Π°Π΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большой слоТности со стороны ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага). Из-Π·Π° слоТности эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π½Π΅ стандартизирована ΠΈ зависит ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания (ΡΠ½Π²Π°Ρ€ΡŒ 2019 Π³.) Π½ΠΈ Visual Studio Community Edition, Π½ΠΈ послСдняя вСрсия Code::Blocks Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. НадСюсь, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΎΠ½Π° ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² эти ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈ станСт доступной для Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ использования.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *