ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” это критичСский этап Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ошибки Π² ΠΊΠΎΠ΄Π΅, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ 1Π‘ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для пошаговой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π‘Π΅Π· Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ риск Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ возрастаСт Π² Ρ€Π°Π·Ρ‹, Π° поиск Π±Π°Π³ΠΎΠ² "Π²ΡΠ»Π΅ΠΏΡƒΡŽ" ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ часы вмСсто ΠΌΠΈΠ½ΡƒΡ‚.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” это процСсс выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² пошаговом Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ:

  • πŸ” ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° строка Π·Π° строкой
  • πŸ“Š ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
  • πŸ› οΈ Π˜Π·ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния "Π½Π° Π»Π΅Ρ‚Ρƒ" для тСстирования Π³ΠΈΠΏΠΎΡ‚Π΅Π·
  • 🚦 ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² критичСских Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… (breakpoints)

Π‘Π΅Π· ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ программистам приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ замСдляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π½ΠΎ ΠΈ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠ΄. НапримСр, ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ слоТного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° расчёта Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ сотСн сообщСний сдСлаСт ΠΊΠΎΠ΄ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚:

  • πŸ“Œ Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ условныС Ρ‚ΠΎΡ‡ΠΊΠΈ останова (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли сумма Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 1 ΠΌΠ»Π½ Ρ€ΡƒΠ±.)
  • πŸ‘οΈ ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • πŸ”„ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ шагам выполнСния (Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… случаях)
πŸ“Š Как часто Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ 1Π‘?
ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ, это ΠΌΠΎΠΉ основной инструмСнт
Волько для слоТных ошибок
Π Π΅Π΄Π΅, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ()
Никогда Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π² 1Π‘ отличаСтся ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² классичСских языках программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C# ΠΈΠ»ΠΈ Java). Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ "step back" (Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π½Π° шаг Π½Π°Π·Π°Π΄), Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ с этими ограничСниями грамотная ΠΎΡ‚Π»Π°Π΄ΠΊΠ° экономит Π΄ΠΎ 70% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° поиск ΠΈ устранСниС ошибок.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅: настройка ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΈ срСды

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ срСду. МногиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π°:

  • πŸ”Œ НСсоотвСтствия вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
  • πŸ›‘οΈ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • πŸ“‚ ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΊΡΡˆΡƒ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Для этого:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ (1CV8.EXE)
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Π‘ΠΏΡ€Π°Π²ΠΊΠ° β†’ О ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅
  3. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ с трСбованиями вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π£Π’ 11.5 ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π½Π΅ Π½ΠΈΠΆΠ΅ 8.3.20)

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π±Π°Π·Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€"|ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€Π°Π²Π° "Администратор" ΠΈΠ»ΠΈ "ΠžΡ‚Π»Π°Π΄ΠΊΠ°")|ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш 1Π‘ (мСню "АдминистрированиС β†’ ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° кэша")|ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ссли ΠΎΠ½ΠΈ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅|Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ (Π½Π° случай критичСских ошибок)-->

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ настройкС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² БСрвис β†’ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
  2. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ:
    • πŸ“ "ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…" β€” для автоматичСской остановки ΠΏΡ€ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ…
    • πŸ”„ "ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ стСктрСйс" β€” для Π°Π½Π°Π»ΠΈΠ·Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²
    • πŸ“ "ВСсти ΠΆΡƒΡ€Π½Π°Π» ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ" β€” для фиксации всСх дСйствий
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.18+ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ управляСмого прилоТСния, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, просмотр Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ 1Π‘ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… инструмСнтов для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅ΡˆΠ°Π΅Ρ‚ свои Π·Π°Π΄Π°Ρ‡ΠΈ:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ НазначСниС Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Π’ΠΎΡ‡ΠΊΠΈ останова (Breakpoints) ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° выполнСния ΠΊΠΎΠ΄Π° Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строкС Для Π°Π½Π°Π»ΠΈΠ·Π° Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ критичСскими опСрациями (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π΄ записью Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°)
ВыраТСния наблюдСния (Watch) ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Когда Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ пСрСмСнная ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π–ΡƒΡ€Π½Π°Π» рСгистрации Ѐиксация всСх событий систСмы (ошибки, прСдупрСТдСния, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния) Для Π°Π½Π°Π»ΠΈΠ·Π° ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слоТно воспроизвСсти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, случайныС зависания)
ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (Step Into/Over) Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° построчно с Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π±Π΅Π· Для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ)
ΠžΡ†Π΅Π½ΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Immediate Window) Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° "Π½Π° Π»Π΅Ρ‚Ρƒ" Π²ΠΎ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Для быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π· (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π° Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Π½Ρ‘Ρ‚ этот запрос?")

Рассмотрим ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ инструмСнт ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

1. Π’ΠΎΡ‡ΠΊΠΈ останова (Breakpoints)

Π’ΠΎΡ‡ΠΊΠΈ останова β€” это ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ:

  • πŸ“Œ Π”Π²ΠΎΠΉΠ½Ρ‹ΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π½Π° сСром ΠΏΠΎΠ»Π΅ слСва ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° строки Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅
  • πŸ” Π§Π΅Ρ€Π΅Π· контСкстноС мСню: ΠŸΡ€Π°Π²ΠΊΠ° β†’ Π’ΠΎΡ‡ΠΊΠ° останова β†’ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ/Π£Π±Ρ€Π°Ρ‚ΡŒ

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΏΡ€ΠΈΡ‘ΠΌ: условныС Ρ‚ΠΎΡ‡ΠΊΠΈ останова. Они ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ условия. НапримСр, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с суммой большС 100 000 Ρ€ΡƒΠ±., Ρ‰Ρ‘Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ΅ останова ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ УсловиС. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° > 100000

1) Π—Π°ΠΏΡƒΡ‰Π΅Π½Π° Π»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° (ΠΊΠ½ΠΎΠΏΠΊΠ° "ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ" Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚Π°)

2) НС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π»ΠΈ всС Ρ‚ΠΎΡ‡ΠΊΠΈ останова глобально (мСню "ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС Ρ‚ΠΎΡ‡ΠΊΠΈ останова")

3) НС ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСанс)-->

2. ВыраТСния наблюдСния (Watch)

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ВыраТСния (доступСн Π² ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ) позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ выраТСния для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, Ссли Π²Ρ‹ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ расчёта скидки, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² наблюдСниС:

  • Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° β€” тСкущая сумма
  • ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ β€” рассчитанная скидка
  • Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° * (1 - ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ/100) β€” итоговая сумма со скидкой

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ этого инструмСнта Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Если пСрСмСнная Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΠ»Π°ΡΡŒ ΠΈΠ»ΠΈ приняла Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ сразу ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ шагС это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

3. Π–ΡƒΡ€Π½Π°Π» рСгистрации

Π–ΡƒΡ€Π½Π°Π» рСгистрации (АдминистрированиС β†’ Π–ΡƒΡ€Π½Π°Π» рСгистрации) фиксируСт всС события Π² систСмС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ:

  • πŸ”΄ Ошибки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ошибка ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса)
  • 🟑 ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ)
  • 🟒 Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½)

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π°. НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС ошибки, связанныС с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации
  2. УстановитС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ Π’ΠΈΠΏ события = Ошибка
  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ = Иванов И.И.
  4. ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π±Π°Π·Π°Ρ… ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ дСсятки Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. ΠŸΠ΅Ρ€Π΅Π΄ поиском ошибок очиститС старыС записи (ΠΊΠ½ΠΎΠΏΠΊΠ° ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ), ΠΈΠ½Π°Ρ‡Π΅ систСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ настройтС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ очистку Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΆΡƒΡ€Π½Π°Π»Π°.

Пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ°: Step Into, Step Over, Step Out

ПошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° β€” это основа ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ доступны Ρ‚Ρ€ΠΈ основных ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • πŸ” Step Into (F11) β€” Π·Π°ΠΉΡ‚ΠΈ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • πŸ”„ Step Over (F10) β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ строку, Π½Π΅ заходя Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • πŸšͺ Step Out (Shift+F11) β€” Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ‘ΠΊΠΈΠ΄ΠΊΡƒ(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚)

ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚);

Π‘ΡƒΠΌΠΌΠ°Π‘ΠΎΠ‘ΠΊΠΈΠ΄ΠΊΠΎΠΉ = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π‘ΡƒΠΌΠΌΠ° * (1 - ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ/100);

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π‘ΡƒΠΌΠΌΠ°Π‘ΠΎΠ‘ΠΊΠΈΠ΄ΠΊΠΎΠΉ = Π‘ΡƒΠΌΠΌΠ°Π‘ΠΎΠ‘ΠΊΠΈΠ΄ΠΊΠΎΠΉ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Ѐункция ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ(ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚)

Если ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚.ВипБтатус Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ 10;

Π˜Π½Π°Ρ‡Π΅

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ 5;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Если Π²Ρ‹ Π½Π°ΠΆΠΌΡ‘Ρ‚Π΅ F11 Π½Π° строкС с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚Π‘ΠΊΠΈΠ΄ΠΊΠΈ(), ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π·Π°ΠΉΠ΄Ρ‘Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ Π΅Ρ‘ Π»ΠΎΠ³ΠΈΠΊΡƒ. Если Π½Π°ΠΆΠΌΡ‘Ρ‚Π΅ F10, функция выполнится Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Ρ‘ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (5 ΠΈΠ»ΠΈ 10). Π­Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ для:

  • πŸ”„ ΠžΡ‚Π»Π°Π΄ΠΊΠΈ рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠΉΡ‚ΠΈ Π² бСсконСчный Ρ†ΠΈΠΊΠ»)
  • πŸ“¦ Π Π°Π±ΠΎΡ‚Ρ‹ с внСшними ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ (Π³Π΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°)
  • πŸš€ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ)
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ "зависаСт" Π½Π° Step Into?

Если ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ F11 ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ:

1) Π‘Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (ΠΎΠΊΠ½ΠΎ "Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²")

2) ЗависаниС внСшнСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ β€” ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Step Over (F10)

3) Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Π±Π°Π·Ρ‹ β€” ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ "АктивныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ" ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

4) ΠžΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠ΄Π΅, которая Π½Π΅ отобраТаСтся β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ "ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…"

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ

Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ головная боль для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² 1Π‘. Π˜Ρ… ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΡŽΠ°Π½ΡΡ‹:

  • πŸ•’ Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΈ Π½Π΅ всСгда Π²ΠΈΠ΄Π½Ρ‹ Π² основном сСансС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • πŸ“Ž Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ динамичСски, ΠΈ ΠΈΡ… ΠΊΠΎΠ΄ Π½Π΅ всСгда доступСн для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡:

  1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ (АдминистрированиС β†’ Настройка систСмы β†’ Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ) Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°.
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ Π’ΠΈΠΏ события = Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.
  3. Для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ остановки Π·Π°Π΄Π°Ρ‡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ запрос:
    ВЫБРАВЬ ЀоновыСЗадания.Бсылка КАК Бсылка
    

    Π˜Π— РСгистрБвСдСний.ЀоновыСЗадания КАК ЀоновыСЗадания

    Π“Π”Π• ЀоновыСЗадания.БостояниС = Π—ΠΠΠ§Π•ΠΠ˜Π•(БостояниСЀоновогоЗадания.ВыполняСтся)

Для Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ:

  • πŸ“‚ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Π€Π°ΠΉΠ» β†’ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ.
  • πŸ”— Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π—Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒΠžΡ‚Π»Π°Π΄ΠΊΡƒ().
  • πŸ”„ Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»Π°Π΄ΡŒΡ‚Π΅ Π΅Ρ‘ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ сСансС.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ вСрсиях 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3.16 ΠΈ Π½ΠΈΠΆΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ. Если Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ останавливаСтся Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… останова, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ диагностики Ρ‡Π΅Ρ€Π΅Π· ΠΆΡƒΡ€Π½Π°Π».

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π’ΠΎΡ‚ самыС распространённыС:

Ошибка ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ
Π’ΠΎΡ‡ΠΊΠΈ останова Π½Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Π°Ρ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ кэш (АдминистрированиС β†’ ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° кэша) ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ "пропускаСт" строки ΠΊΠΎΠ΄Π° ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ½Π»Π°ΠΉΠ½ΠΈΠ½Π³ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… компиляции модуля
НС Π²ΠΈΠ΄Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π² управляСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() для Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
ЗависаниС ΠΏΡ€ΠΈ Step Into РСкурсия ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° внСшнСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Step Over (F10) ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° типичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Если Π²Ρ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚:

  • πŸ”„ ΠŸΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния (ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π°)
  • πŸ’₯ Π’Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ Π²ΠΎ врСмя выполнСния
πŸ’‘

ВсСгда останавливайтС ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°. Если Π½ΡƒΠΆΠ½ΠΎ срочно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ "ΠžΡ†Π΅Π½ΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ" для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ исправлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ распространённых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ нСсколько Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… кСйсов, Π³Π΄Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

КСйс 1: Ошибка "ПолС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ"

Битуация: ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° "РСализация Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²" Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка:

Ошибка ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события 'ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ':

{ΠžΠ±Ρ‰ΠΈΠΉΠœΠΎΠ΄ΡƒΠ»ΡŒ.ΠœΠΎΠ΄ΡƒΠ»ΡŒΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ(123)}: ПолС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ (НомСнклатура.Артикул)

Алгоритм ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

  1. УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° строкС 123 Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠœΠΎΠ΄ΡƒΠ»ΡŒΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
  2. ЗапуститС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ).
  3. Когда Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ остановится, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:
    • πŸ“Œ БущСствуСт Π»ΠΈ ΠΏΠΎΠ»Π΅ Артикул Π² справочникС НомСнклатура (ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ структуру справочника)
    • πŸ” НС являСтся Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ НомСнклатура пустой ссылкой (НомСнклатура.ΠŸΡƒΡΡ‚Π°Ρ())
    • πŸ”„ НС измСнялся Π»ΠΈ состав Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² послС обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
  • Если ΠΏΠΎΠ»Π΅ отсутствуСт, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ обновлСния.
  • КСйс 2: ЗависаниС ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса

    Битуация: Запрос ΠΊ рСгистру накоплСния "ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²" выполняСтся Π±ΠΎΠ»Π΅Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚, хотя ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько сСкунд.

    Алгоритм ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

    1. УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ запроса.
    2. Π’ ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π–ΡƒΡ€Π½Π°Π» рСгистрации ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ Π’ΠΈΠΏ события = Запрос.
    3. ЗапуститС запрос Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ зависания.
    4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:
      • πŸ“Š ΠžΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² рСгистрС (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ вырос Π² 100 Ρ€Π°Π·)
      • πŸ” НаличиС индСксов ΠΏΠΎ полям, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² условии Π“Π”Π•
      • πŸ”„ НС Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ запрос другая транзакция (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ АктивныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ)
  • Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ запрос (Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ индСксы, Ρ€Π°Π·Π±Π΅ΠΉΡ‚Π΅ Π½Π° части).
  • ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ("ВЫБРАВЬ ... Π’Π°ΡˆΠ—Π°ΠΏΡ€ΠΎΡ ...")

    Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.-->

    КСйс 3: ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ расчёт Π² ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅

    Битуация: Π’ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π΅ "Π’Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ" суммы ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ позициям Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вмСсто 100 000 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ 10 000).

    Алгоритм ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

    1. НайдитС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π³Π΄Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΡ‚ΠΎΠ³ΠΈ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ() ΠΈΠ»ΠΈ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅Π’Ρ‹Π±ΠΎΡ€Π°()).
    2. УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π½Π° строкС, Π³Π΄Π΅ происходит расчёт суммы.
    3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² наблюдСниС (ВыраТСния) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:
      • ВСкущаяБтрока.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ
      • ВСкущаяБтрока.Π¦Π΅Π½Π°
      • ВСкущаяБтрока.Π‘ΡƒΠΌΠΌΠ°
  • ВыполняйтС ΠΊΠΎΠ΄ пошагово (F10), отслСТивая, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС сумма становится Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ.
  • ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:
    • πŸ”’ ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ чисСл (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки точности)
    • πŸ“ ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сумма хранится ΠΊΠ°ΠΊ строка)
    • πŸ”„ Ошибка Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ расчёта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ вмСсто слоТСния)
    • FAQ: ЧастыС вопросы ΠΏΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ 1Π‘ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€

      МоТно Π»ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° сСрвСрС 1Π‘?

      Π”Π°, Π½ΠΎ с ограничСниями. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ сСрвСрного ΠΊΠΎΠ΄Π°:

      1. На сСрвСрС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠžΡ‚Π»Π°Π΄ΠΊΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°.
      2. Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ (АдминистрированиС β†’ Настройка систСмы) Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π½Π° сСрвСрС.
      3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΊ сСрвСру Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ стандартныС инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ копию Π±Π°Π·Ρ‹.

    Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

    Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π·:

    • πŸ“Œ Π–ΡƒΡ€Π½Π°Π» рСгистрации β€” Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎ Π’ΠΈΠΏ события = Π€ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.
    • πŸ” ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ β€” создайтС ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ с Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ для Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.
    • πŸ› οΈ Π ΡƒΡ‡Π½ΠΎΠΉ запуск β€” Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ пСрСнСситС ΠΊΠΎΠ΄ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ задания Π² ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈ ΠΎΡ‚Π»Π°Π΄ΡŒΡ‚Π΅ Π΅Ρ‘.

    Если Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ зависаСт, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

    • НС Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ Π΅Π³ΠΎ другая транзакция (АктивныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ).
    • НС ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ Π»ΠΈ Π»ΠΈΠΌΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния (настраиваСтся Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… кластСра).
    ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ значСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…?

    Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

    • πŸ”’ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π° β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… модуля.
    • πŸ“‚ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния β€” пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ локальной для Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости.
    • πŸ”„ ДинамичСскоС созданиС β€” Ссли пСрСмСнная создаётся Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(), ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π΅Ρ‘ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚.
    • РСшСниС: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() для Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ВыраТСния Π΄ΠΎ Π΅Ρ‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ использования.

    Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅?

    Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ:

    1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Ρ‡Π΅Ρ€Π΅Π· Π€Π°ΠΉΠ» β†’ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ.
    2. УстановитС Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π² Π½ΡƒΠΆΠ½Ρ‹Ρ… мСстах.
    3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊ Π±Π°Π·Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:
      ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ("ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π’Π°ΡˆΠ°ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π€ΠΎΡ€ΠΌΠ°", Π­Ρ‚ΠΎΡ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚, , , , , Π˜ΡΡ‚ΠΈΠ½Π°); // ПослСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ - Π Π΅ΠΆΠΈΠΌΠžΡ‚Π»Π°Π΄ΠΊΠΈ
    4. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»Π°Π΄ΡŒΡ‚Π΅ Π΅Ρ‘ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ сСансС.

    Если Ρ‚ΠΎΡ‡ΠΊΠ° останова Π½Π΅ срабатываСт, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

    • НС Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΈ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Π—Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒΠžΡ‚Π»Π°Π΄ΠΊΡƒ()).
    • БоотвСтствуСт Π»ΠΈ вСрсия ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
    МоТно Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°?

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сохранСниС сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

    • πŸ“Š Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации Π² Ρ„Π°ΠΉΠ» (Π€Π°ΠΉΠ» β†’ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ...).
    • πŸ“ Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ ΠΎΠΊΠΎΠ½ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²).
    • πŸ”„ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаги Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Π½Π° шагС 5 пСрСмСнная X стала Ρ€Π°Π²Π½Π° 0").

    Для слоТных случаСв рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму контроля вСрсий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Git) для фиксации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».