Π Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ 1Π‘ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Π‘Π΅Π· умСния эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС срСдства диагностики поиск ΠΏΡ€ΠΈΡ‡ΠΈΠ½ сбоСв Π² ΠΊΠΎΠ΄Π΅ прСвращаСтся Π² ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс угадывания. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ пошагово, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ простого чтСния ΠΊΠΎΠ΄Π°, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ исполнСния Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠΉ строкС, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ контСкст ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹ Π±Π΅Π· измСнСния исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΈ транзакциями.

Данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚ интСрфСйс ΠΎΠΊΠ½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ установки Ρ‚ΠΎΡ‡Π΅ΠΊ останова ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с основными панСлями ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. ΠœΡ‹ рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ качСство написанного ΠΊΠΎΠ΄Π°.

Запуск Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ интСрфСйс

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π² клиСнтском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π³Π»Π°Π²Π½ΠΎΠ΅ мСню, Π²Ρ‹Π±Ρ€Π°Π² ΠΏΡƒΠ½ΠΊΡ‚ АдминистрированиС β†’ ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ быстрый способ β€” использованиС горячих клавиш Shift + F9 ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅.

ПослС запуска Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ (ΠΈΠ»ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия) ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки ΠΈΠ»ΠΈ достиТСнии Ρ‚ΠΎΡ‡ΠΊΠΈ останова откроСтся ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Π•Π³ΠΎ интСрфСйс Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… областСй, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° свой аспСкт контроля исполнСния. ВСрхняя Ρ‡Π°ΡΡ‚ΡŒ содСрТит панСль инструмСнтов с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ управлСния процСссом.

ОсновноС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ тСкущая исполняСмая строка выдСляСтся ярким Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π‘ΠΏΡ€Π°Π²Π° ΠΈΠ»ΠΈ снизу Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния отобраТаСтся динамичСски, позволяя Π²ΠΈΠ΄Π΅Ρ‚ΡŒ значСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° курсор находится Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строкС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈΠ·-Π·Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π½Π° сСрвСрС 1Π‘.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ запускС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ позволяСт ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа, Ρ‡Ρ‚ΠΎ часто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для воспроизвСдСния спСцифичСских ошибок.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ останова

Π’ΠΎΡ‡ΠΊΠΈ останова (breakpoints) β€” это ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°. Установка Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ осущСствляСтся простым ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΠΎΠ»Π΅ слСва ΠΎΡ‚ Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши F9. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° отобраТаСтся ΠΊΠ°ΠΊ красный ΠΊΡ€ΡƒΠΆΠΎΠΊ.

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки условий для Ρ‚ΠΎΡ‡Π΅ΠΊ останова. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ условия. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ установлСнной Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ свойства.

  • πŸ”΄ ΠŸΡ€ΠΎΡΡ‚Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°: ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСгда ΠΏΡ€ΠΈ достиТСнии строки.
  • ⚑ Условная Ρ‚ΠΎΡ‡ΠΊΠ°: ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π˜ΡΡ‚ΠΈΠ½Π°.
  • πŸ“ Π’ΠΎΡ‡ΠΊΠ° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅: ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСна нСпосрСдствСнно Π² тСкстС модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”„ ВрСмСнная Ρ‚ΠΎΡ‡ΠΊΠ°: УдаляСтся автоматичСски послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ срабатывания.

ИспользованиС условных Ρ‚ΠΎΡ‡Π΅ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт процСсс поиска ошибок Π² цикличСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ…. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ"Π¨Π°Π³" сотни Ρ€Π°Π·, Π²Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ условиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 50, ΠΈ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ останавливаСтся Ρ€ΠΎΠ²Π½ΠΎ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

πŸ“Š Какой Ρ‚ΠΈΠΏ Ρ‚ΠΎΡ‡Π΅ΠΊ останова Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ (F9)
УсловныС Ρ‚ΠΎΡ‡ΠΊΠΈ
Π’ΠΎΡ‡ΠΊΠΈ с дСйствиСм (Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)
Π― ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ останова

НС стоит Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ количСством Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ. НаличиС дСсятков Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ старт ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. РСкомСндуСтся ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, снимая с Π½ΠΈΡ… Π³Π°Π»ΠΎΡ‡ΠΊΡƒ, вмСсто ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ удалСния, Ссли планируСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.

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

ПослС остановки выполнСния ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Основной инструмСнтарий для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ находится Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. Кнопки ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ, отслСТивая Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ являСтся Π¨Π°Π³ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (клавиша F11). Она позволяСт Π·Π°ΠΉΡ‚ΠΈ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΡƒΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Ρ‘. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π¨Π°Π³ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (F11)

Π¨Π°Π³ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (F10)

Π¨Π°Π³ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Shift+F11)

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎ курсора (Ctrl+F10)

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

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ctrl+F10 (Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄ΠΎ курсора), Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ сразу Π½Π° мСстС возникновСния ошибки.

ΠŸΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Shift+F11 Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ продолТаСтся Π΄ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ зашли Π² Ρ‡ΡƒΠΆΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ быстро Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² свой ΠΊΠΎΠ΄.

Анализ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Окно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… прСдоставляСт Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π΄Π΅ΡΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ЗначСния ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ автоматичСски ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС выполнСния.

Для слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ структуры, соотвСтствия ΠΈΠ»ΠΈ запросы, прСдусмотрСно Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ΅ прСдставлСниС. Раскрывая ΡƒΠ·Π»Ρ‹ Π΄Π΅Ρ€Π΅Π²Π°, ΠΌΠΎΠΆΠ½ΠΎ inspect-ΠΈΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ поля, элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ значСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π­Ρ‚ΠΎ позволяСт Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅.

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ значСния ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ просмотра
Число / Π‘Ρ‚Ρ€ΠΎΠΊΠ° ВСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ содСрТимого
Π”Π°Ρ‚Π° Ѐорматированная Π΄Π°Ρ‚Π° Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ часовой Π·ΠΎΠ½Ρ‹
Массив / Бписок ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов ВрСбуСтся раскрытиС ΡƒΠ·Π»Π°
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Бписок ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ просмотр
Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅

Помимо автоматичСского списка, сущСствуСт панСль ВыраТСния. Π’ Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ выраТСния Π½Π° языкС 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ слоТных условий Π±Π΅Π· внСдрСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Π’ ΠΎΠΊΠ½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ значСния, Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ…. Π”Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ позволяСт ввСсти Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ИзмСнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² процСссС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π΅ сохраняСтся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ влияСт Π½Π° дальнСйший Ρ…ΠΎΠ΄ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии. Π­Ρ‚ΠΎ позволяСт Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии ("Π° Ρ‡Ρ‚ΠΎ Ссли Ρ‚ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ null?") Π±Π΅Π· пСрСписывания ΠΊΠΎΠ΄Π°.

Π Π°Π±ΠΎΡ‚Π° со стСком Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

ПанСль стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (Call Stack) ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ выполнСния. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ: какая функция Π²Ρ‹Π·Π²Π°Π»Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ, какая Π²Ρ‹Π·Π²Π°Π»Π° Ρ‚Ρƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ Π΄ΠΎ самого Π½Π°Ρ‡Π°Π»Π° события. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для понимания контСкста ошибки.

Часто ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² подсистСмС, Π½ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅Ρ‘ появлСния кроСтся Π² Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π‘Ρ‚Π΅ΠΊ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² позволяСт быстро ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ Π½Π°Π²Π΅Ρ€Ρ… Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π”Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ строкС Π² стСкС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ строку.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌΠΈ заданиями ΠΈΠ»ΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ, Ссли Π·Π°Π΄Π°Ρ‡Π° выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ Π±Π΅Π· привязки ΠΊ основному сСансу.

Анализ стСка Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ рСкурсивныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля Π² спискС, это явный ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ бСсконСчной рСкурсии.

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ сСрый Ρ†Π²Π΅Ρ‚ Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²?

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

Π–ΡƒΡ€Π½Π°Π» рСгистрации ΠΈ трассировка

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

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ трассировки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΆΡƒΡ€Π½Π°Π»Π°. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ события, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π’Π½Π΅ΡˆΠ½Π΅Π΅Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΈΠ»ΠΈ Ошибка. Π­Ρ‚ΠΎ позволяСт рСтроспСктивно Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ…ΠΎΠ΄ событий.

  • πŸ“ Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ"Ошибка": ЗаписываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ критичСскиС сбои Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • βš™οΈ Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ"Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ": ЀиксируСт ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹.
  • πŸ› Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ"ΠžΡ‚Π»Π°Π΄ΠΊΠ°": ЗаписываСт максимальноС количСство Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΡŒΠ’Π–ΡƒΡ€Π½Π°Π»Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свои собствСнныС сообщСния Π² ΠΆΡƒΡ€Π½Π°Π». Π­Ρ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print ΠΈΠ»ΠΈ console.log Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π±ΠΎΠ΅Π²Ρ‹Ρ… сСрвСрах, Π³Π΄Π΅ запуск ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.

β˜‘οΈ Настройка ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ЧастыС ошибки ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ситуациСй, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ"Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚" ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π½Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚. Π§Π°Ρ‰Π΅ всСго это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ выполняСтся Π² Ρ„ΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСансС. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ процСссу.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” рассинхронизация ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½ΠΎ Π½Π΅ записали ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π°. ВсСгда выполняйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ β†’ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ тСстирования.

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ снятия Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π’ этом случаС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСанс ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ рСсурс.

πŸ’‘

Бинхронизация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΏΠ΅Ρ€Π²ΠΎΠ΅ дСйствиС ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… странностях Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ останова Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях?

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° сторонС сСрвСра. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² свойствах ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля установлСна Π³Π°Π»ΠΎΡ‡ΠΊΠ°"Π’Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвСрС" ΠΈ Π²Ρ‹ запустили ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ сСрвСрному процСссу. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ выполняСтся Π»ΠΈ ΠΊΠΎΠ΄ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ настройки ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ"ΠΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ задания" ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации Π½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ здСсь часто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈΠ·-Π·Π° асинхронности выполнСния.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π²ΠΎ врСмя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ?

НСт, внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²ΠΎ врСмя Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ сСссии ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НСобходимо ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, внСсти ΠΏΡ€Π°Π²ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π·Π°Π½ΠΎΠ²ΠΎ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ зависаСт ΠΏΡ€ΠΈ стартС?

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш 1Π‘, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа ΠΊ ΠΏΠ°ΠΏΠΊΠ°ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу Π°Π³Π΅Π½Ρ‚Π° сСрвСра 1Π‘. Иногда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ простым ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅.