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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

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

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘ эта структура являСтся Π³Π»Π°Π²Π½Ρ‹ΠΌ источником истины ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Если Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ лишь сухоС сообщСниС "Ошибка ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ", Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΠ· стСка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ событий. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² распрСдСлСнных систСмах, Π³Π΄Π΅ ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° сСрвСрС, Π° ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

ИспользованиС стСка позволяСт ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ вопросы: какая ΠΈΠΌΠ΅Π½Π½ΠΎ строка ΠΊΠΎΠ΄Π° Π²Ρ‹Π·Π²Π°Π»Π° сбой, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. Π‘Π΅Π· этих Π΄Π°Π½Π½Ρ‹Ρ… исправлСниС слоТных логичСских ошибок Π² конфигурациях уровня ERP ΠΈΠ»ΠΈ Π£Π’ становится практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ MS SQL ΠΈΠ»ΠΈ PostgreSQL.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ компиляции ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ исполнСния. Нас интСрСсуСт ΠΈΠΌΠ΅Π½Π½ΠΎ runtime-стСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ формируСтся динамичСски. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ явныС ошибки синтаксиса, Π½ΠΎ ΠΈ логичСскиС ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° записи Π² Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт нСсколько интСрфСйсов для просмотра Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния выполнСния ΠΊΠΎΠ΄Π°. Основной источник ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” это ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ открываСтся ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом являСтся Π–ΡƒΡ€Π½Π°Π» рСгистрации. Π’ Π½Π΅ΠΌ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ тСхничСскиС сообщСния, содСрТащиС тСкст ошибки ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ стСк Π²Ρ‹Π·ΠΎΠ²Π°. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΆΡƒΡ€Π½Π°Π»Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² запись событий уровня "Ошибка" ΠΈ "ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅" с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ тСкста ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

  • πŸ” Окно ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅" ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ Ρ„Π»Π°Π³Π΅ "ΠžΡ‚Π»Π°Π΄ΠΊΠ°"
  • πŸ“„ Π€Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации событий (.lgd) Π½Π° сСрвСрС ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅
  • πŸ’» Консоль ΠΊΠΎΠ΄Π° (Code Console) для экспрСсс-Π°Π½Π°Π»ΠΈΠ·Π° контСкста
  • πŸ“Š ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–) сСрвСра 1Π‘ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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

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

πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡ‰Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки?
Π’ Π–ΡƒΡ€Π½Π°Π»Π΅ рСгистрации
Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°
Π’ ВСхнологичСском ΠΆΡƒΡ€Π½Π°Π»Π΅
Π‘ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽ Ρƒ ΠΊΠΎΠ»Π»Π΅Π³

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… стСка

Навык чтСния стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ с ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π½ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹. Анализ всСгда слСдуСт Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строки списка. ИмСнно Ρ‚Π°ΠΌ находится Ρ‚ΠΎΡ‡ΠΊΠ° "Π²Π·Ρ€Ρ‹Π²Π°" β€” мСсто, Π³Π΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ смогла Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ полю, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа.

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

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

πŸ’‘

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ стСка ΠΈΡ‰ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Если ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ функция встрСчаСтся нСсколько Ρ€Π°Π· подряд, это ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ, которая ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с прСфиксом ΠžΠ±Ρ‰ΠΈΠΉΠœΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скрыта Π³Π»ΡƒΠ±ΠΆΠ΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠΌΠΈ спСциализированных ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия

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

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

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΡ‡ΠΊΠΈ останова для Π°Π½Π°Π»ΠΈΠ·Π°

Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚) Π’ΠΎΠ³Π΄Π°

ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚); // Π’ΠΎΡ‡ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ сбоя

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

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

  • πŸ›‘ УстанавливайтС Ρ‚ΠΎΡ‡ΠΊΠΈ останова ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ участками ΠΊΠΎΠ΄Π°
  • πŸ‘οΈ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ "Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅" для контроля Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
  • πŸ”„ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (F10/F11) для отслСТивания ΠΏΠΎΡ‚ΠΎΠΊΠ°

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

β˜‘οΈ Настройка ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

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

Анализ Ρ‡Π΅Ρ€Π΅Π· Π–ΡƒΡ€Π½Π°Π» рСгистрации

Когда ошибка происходит Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π±ΠΎΠ΅Π²ΠΎΠΉ систСмС, доступ ΠΊ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΡƒ часто отсутствуСт. Π’ этом случаС СдинствСнным источником ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ остаСтся Π–ΡƒΡ€Π½Π°Π» рСгистрации. Администратор Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ быстро ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π»ΠΎΠ³ΠΎΠ².

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ логирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ администратора ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π°. РСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для ошибок, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ сообщСниями. Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ "Ошибка" позволяСт быстро Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ эпизод.

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

Π’ΠΈΠΏ события Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ваТности Π“Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ стСк
Ошибка прилоТСния Высокий ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ Π»ΠΎΠ³ Π”Π°, ΠΏΠΎΠ»Π½Ρ‹ΠΉ
Ошибка Π‘Π£Π‘Π” ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ Частично
ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠžΠ±Ρ‰ΠΈΠΉ ΠΆΡƒΡ€Π½Π°Π» НСт
ВСхничСскоС сообщСниС Низкий ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» Π”Π°, Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π»ΠΎΠ³ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ сСансов (Session ID). Π’ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСдС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ сотни событий. Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ID сСанса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ позволяСт ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ ΡˆΡƒΠΌ ΠΈ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ быстрого поиска Π² Π»ΠΎΠ³Π°Ρ…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ для поиска ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ ΠΈΠΌΠ΅Π½ΠΈ модуля. Π­Ρ‚ΠΎ ускорит поиск Π² Ρ„Π°ΠΉΠ»Π°Ρ… объСмом Π² сотни ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² стСкС

ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Ρƒ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ сразу ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ класс ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² 1Π‘ Ρ‡Π°Ρ‰Π΅ всСго. НапримСр, ошибка "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" Π² стСкС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ обращСния ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ элСмСнту справочника ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² систСмныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ обновлСнию ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ошибки, связанныС с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. Π’ стСкС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ выполнСния, Π½ΠΎ контСкст ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΏΡ€Π°Π² (ΠŸΡ€Π°Π²Π°Π”ΠΎΡΡ‚ΡƒΠΏΠ°). РСшСниС Π»Π΅ΠΆΠΈΡ‚ Π½Π΅ Π² плоскости ΠΊΠΎΠ΄Π°, Π° Π² плоскости настройки Ρ€ΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

πŸ’‘

80% ошибок Π² 1Π‘ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Ρ‚Ρ€Π΅ΠΌ строкам стСка Π²Ρ‹Π·ΠΎΠ²Π°. ΠžΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Π° лишь для подтвСрТдСния Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΊΠ½ΠΎ ошибки Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строки модуля Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ?

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅Ρ‚ доступа ΠΊ исходному ΠΊΠΎΠ΄Ρƒ этого модуля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это сторонняя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ скомпилированная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°), Π»ΠΈΠ±ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° строк Π² скомпилированном ΠΊΠΎΠ΄Π΅ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с тСкстом модуля ΠΈΠ·-Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ вСрсии.

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ?

Π’ ΠΎΠΊΠ½Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ тСкст стСка ΠΌΡ‹ΡˆΡŒΡŽ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° (Ctrl+C). Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΎΠΊΠ½Π° ошибки. Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ скрипт Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого Π–ΡƒΡ€Π½Π°Π»Π° рСгистрации Π² тСкстовый Ρ„Π°ΠΉΠ».

ВлияСт Π»ΠΈ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…?

Π‘Π°ΠΌ ΠΏΠΎ сСбС Ρ„Π°ΠΊΡ‚ формирования стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΏΡ€ΠΈ ошибкС Π½Π΅ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это происходит постфактум. Однако постоянная гСнСрация ошибок ΠΈ ΠΈΡ… запись Π² Π–ΡƒΡ€Π½Π°Π» рСгистрации ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму сСрвСра.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли стСк Π²Ρ‹Π·ΠΎΠ²Π° пуст ΠΈΠ»ΠΈ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСмныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π‘Π£Π‘Π”, сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ»ΠΈ Π² самом ядрС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π‘Π£Π‘Π”, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ 1Π‘.