Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ 1Π‘ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ Debug
Π’Π΅ΠΌΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘ Π²Π΅ΡΡΠΌΠ° Π°ΠΊΡΡΠ°Π»ΡΠ½Π°, ΠΏΠΎ Π½Π΅ΠΉ Π² ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ, Π½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘, ΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΡΡΠΎΠΌ!

ΠΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
ΠΡΠ΄Π΅ΡΠΆΠΊΠ° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Β«ΠΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°Β»
/debug —
ΠΠ°ΠΏΡΡΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²:
- -tcp β ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP/IP;
- -http β ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HTTP.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: -tcp.
Π‘ΠΠΠΠ’. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠ°Π΄Π°Π΅Ρ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ°.
/debugServerAddr
ΠΠΠΠΠ! ΠΡΠ΄Π΅ΡΠΆΠΊΠ° Π²Π·ΡΡΠ° Ρ ΡΠ°ΠΉΡΠ° its.1c.ru.
ΠΡΠΌΠ°Ρ, ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΌΡ ΠΈΠ· Π½Π°Ρ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π·Π½Π°Π½ΠΈΠΉ Π·Π°ΠΏΡΡΡΠΈΡΡ 1Π‘ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅ΡΡ Π·Π° ΠΠ’ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊ ΡΠ΅Π±Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ 1Π‘, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ 1Π‘ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ 1Π‘ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ Π½Π΅ ΡΠΌΠΎΠ³ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠΏΡΠΎΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠ²ΡΡΠ²Π° ΡΠ°ΠΌΠΎΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΌΠ΅ΡΡΠ΅.
1Π‘ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΉ Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ 1Π‘, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
Π ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΡΠΆΠ΅ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΠ»Π΄Π°ΡΡ Β«ΡΡΠΆΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Β» ΠΈ Β«ΡΡΠΆΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΒ» ΡΠΆΠ΅ Π½Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° 1Π‘ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π½ΡΡΡΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ , ΠΎΡΡΠ°Π²Π°ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΠΊΠ²Ρ Β«ΠΒ», ΡΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ 1Π‘ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Π° Π°Π³Π΅Π½ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π±Π΅Π· ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΌΡΠΉ Ρ ΠΎΠ΄ΠΎΠ²ΠΎΠΉ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅Π΅ΡΡΡΠ° Windows.
-
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π³Π΄Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ΅ΡΠ²Π΅Ρ 1Π‘.
-
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΡΠΈ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
ΠΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘ β 8.2 / 8.1 ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β 32 / 64 Π±ΠΈΡΠ½ΡΠΉ.
-
ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ImagePath, Π° ΡΠΎΡΠ½Π΅Π΅ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈ Π½Π°Π΄ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠ»ΡΡΠΎΠΌ Β«debugΒ».
ΠΠ ΠΠΠΠ§ΠΠΠΠ! Π ΡΠ°Π·Π½ΡΡ ΡΡΠ°ΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ»ΡΡ Β«debugΒ» ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Π»ΡΠ±ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ «C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe» ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π·Π½Π°ΠΊ Β«-Β», ΡΠ°ΠΊ ΠΈ Β«/Β».
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
«C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo» -debug
ΠΈ
«C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe» /debug -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d «C:\Program Files\1cv8\srvinfo»
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΌΠΎΡΡΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅ΠΉ.
ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
-
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ»ΡΠΆΠ±Ρ Β«ΠΠ³Π΅Π½Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ 8.3 (x86-64)Β».
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ β ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½!
ΠΡΡΠ°Π»ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ 1Π‘ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π΅ΡΠ²ΠΎΠ».
ΠΡΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘, Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡ TCP ΠΈ UDP ΠΏΠΎΡΡΡ Π΄Π»Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 1560-1591.
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡ TCP ΠΏΠΎΡΡΡ 1540, 1541, 1560-1591.
ΠΠ ΠΠΠΠ§ΠΠΠΠ! ΠΡΠΈ ΠΏΠΎΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡ ΠΌΠ΅Π½ΡΠ»ΠΈ, ΡΠΎ Π² ΡΠ°Π΅ΡΠ²ΠΎΠ»Π΅ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡΡ Π½ΠΎΠ²ΡΠ΅.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°:
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ.
- ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ΅Π½Ρ Β«ΠΡΠ»Π°Π΄ΠΊΠ°Β» β Β«ΠΠ°ΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡΒ» ΠΈΠ»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΡ Β«F5Β». ΠΠ°ΠΏΡΡΡΠΈΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
- ΠΠ΅ Π·Π°ΠΊΡΡΠ²Π°Ρ 1Π‘ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ΅Π½Ρ Β«ΠΡΠ»Π°Π΄ΠΊΠ°Β» β Β«ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅β¦Β».

ΠΡΠ»ΠΈ ΡΡΠΎΠ»Π±Π΅Ρ Β«Π’ΠΈΠΏΒ» Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Β«Π‘Π΅ΡΠ²Π΅ΡΒ», ΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΄ΡΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΈΡΡΠΌΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ 1Π‘.
ΠΠ ΠΠΠΠ§ΠΠΠΠ! ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ β Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Β«ΠΡΠΊΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅Β»: ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ 1Π‘.

Π Π±Π»ΠΎΠΊΠ΅ Β«ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ:Β» ΡΡΠΎΠ»Π±Π΅Ρ Β«Π’ΠΈΠΏΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Β«Π‘Π΅ΡΠ²Π΅ΡΒ». ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ°ΠΊ, ΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΠ΅Π½Π΄ΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ 1Π‘ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΠΠ Π‘ Π’Π΅Π»Π΅ΠΊΠΎΠΌ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΡΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ.

Π Π΅ΠΆΠΈΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ «Debug» ΠΈ «Release» | Π£ΡΠΎΠΊΠΈ Π‘++
Β Β ΠΠ±Π½ΠΎΠ²Π». 26 ΠΡΠ½ 2020Β Β |Β
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ (Π°Π½Π³Π». Β«build configurationΒ») β ΡΡΠΎ Π½Π°Π±ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·:
Β Β ΠΈΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°;
Β Β ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°;
Β Β ΠΈΠΌΡΠ½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ IDE Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ;
Β Β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ: Β«ReleaseΒ» (Π Π΅Π»ΠΈΠ·) ΠΈ Β«DebugΒ» (ΠΡΠ»Π°Π΄ΠΊΠ°).
Β Β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Β«Debug» пΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π Π΅ΠΆΠΈΠΌ Β«DebugΒ» ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Β Β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Β«ReleaseΒ»
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Hello, World!Β» ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠΊΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«DebugΒ», Ρ ΠΌΠ΅Π½Ρ Π·Π°Π½ΠΈΠΌΠ°Π» 65ΠΠ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«ReleaseΒ», Π·Π°Π½ΠΈΠΌΠ°Π» Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 12ΠΠ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Β«DebugΒ» ΠΈ Β«ReleaseΒ» Π² Visual Studio
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° β Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°:

ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Β«DebugΒ» ΠΈ Β«ReleaseΒ» Π² Code::Blocks
Π Code::Blocks Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:

ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Β«DebugΒ» ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Β«ReleaseΒ» ΠΏΡΠΈ ΠΈΡ ΡΠ΅Π»ΠΈΠ·Π΅.
ΠΡΠ΅Π½ΠΈΡΡ ΡΡΠ°ΡΡΡ:
ΠΠ°Π³ΡΡΠ·ΠΊΠ°…ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ :
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ, ΡΡΠΎ ΠΆΠ΅ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅. ΠΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ, ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: Β«ΠΡΠ»Π°Π΄ΠΊΠ° β ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅, Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊΒ». ΠΠΎΠΎΠ±ΡΠ΅, Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ (Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ) Π΄Π²Π΅ Π²Π΅ΡΠΈ: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡ: ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ. ΠΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π·Π½Π°ΡΡ ΠΎΠ± ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: Π½Π°Π»ΠΈΡΠΈΠ΅ (ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅) ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ²) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π½ΠΎ ΡΡΠΎ ΡΠ»Π΅Π³ΠΊΠ° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠ»Π°ΡΡΠΈΠΊΠ° ΠΆΠ°Π½ΡΠ°
Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΠ΅Ρ Β«ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΡΡΡΒ» Π²Π½ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΈΠ·ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Π² Π½ΡΠΆΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ ) ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ)? ΠΠ½ ΠΏΡΠΈΠ±Π΅Π³Π°Π΅Ρ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΠΎΠΌΡ, ΡΠ°ΠΌΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΈ ΡΠ°ΠΌΠΎΠΌΡ Β«Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΠΎΠΌΡΒ» ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ: ΡΠ°ΡΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ Β«ΠΏΡΠΈΠ½ΡΡΒ» (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ print Π² Python 2.x ΠΈ ΡΡΠ½ΠΊΡΠΈΡ print() Π² Python 3.x). ΠΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ Π³ΡΠ΅ΡΠ°Ρ ΡΡΠΈΠΌ: ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠ΅Π½ΡΠΊΠΎ Π»Π΅Π½ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π½Π°Π΄Π΅ΡΡΡ Π±ΡΡΡΡΠ΅Π½ΡΠΊΠΎ, Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ, Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π²ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π½ΠΈ. ΠΡΡΠ°ΡΠΈ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΆΡΡΠ½Π°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΒ».
Π‘ΡΠ΄Π° ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅ΠΉ Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π»ΠΎΠ³-ΡΠ°ΠΉΠ». ΠΠ½ΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΏΠΈΠ·ΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ΡΠ΅Π· Π΄Π²Π΅-ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°).
ΠΠΎ ΠΌΡ ΠΆΠ΅ ΠΏΠΈΡΠ΅ΠΌ Π½Π° Python, ΡΠ°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Sentry, ΡΡΠΎΠ±Ρ ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ: ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ, ΡΡΠΎ ΠΏΠΎΡΡΠΈΡΠ°Π΅ΡΠ΅ Π½ΡΠΆΠ½ΡΠΌ.
The Python Debugger
Python ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ: ΠΌΠΎΠ΄ΡΠ»Ρ pdb. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π½Π° ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΡΠ°ΡΡΡ, Ρ.ΠΊ. pdb β ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΈ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΠΏΠΎ ΡΡΡΠΈ, Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Β«ΡΠΊΡΠ°ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π°Β» ΠΊ Π½Π΅ΠΌΡ. ΠΠΎ ΠΌΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ =)
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, pdb ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π²Π·ΡΠ» ΠΎΡ gdb (GNU Project debugger) β ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Π‘ΠΈ (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. Π ΡΠ»ΠΎΠ²Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gdb, ΠΏΡΠΎΡΡΠΎ ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ Π΄ΠΎΠ»ΡΡΠ΅, Ρ ΠΎΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ ΡΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΠΏΠΈΡΠΎΠ½Π° Π±Π΅Π· gdb Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, gdb ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ (ΡΠ΅ΡΠ΅Π· Π΅Ρ pid) ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ Β«ΠΏΡΡΠΌΠΎ Π½Π° ΠΌΠ΅ΡΡΠ΅Β».
Π― ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ pdb, Π²ΠΎΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ ΠΠ°Π³Π° Π₯Π΅Π»Π»ΠΌΠ°Π½Π½Π° (Doug Hellmann): pdb β Interactive Debugger Π½Π° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΌ ΡΠ΅ΡΡΡΡΠ΅ Python Module of the Week, Π° Π²ΠΎΡ Π΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° Ρ Π°Π±ΡΠ΅: pdb β ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ xa4a.
IPython pdb
ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ IPython ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ipdb Π΄Π»Ρ Π½Π΅Π³ΠΎ:
β pip install ipython ipdbIPython (ΠΈ ipdb, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ°ΡΡΡ) ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Β«Π±ΠΎΠ»Π΅Π΅ Π»ΡΡΡΡΡΒ» ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π°, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ Π»ΡΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π°Π»ΠΈΠ°ΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ IPython, Π²Π²Π΅Π΄Ρ «?» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΡ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΡΠΊΡΠΈΠΏΡΠ° Π² ipdb ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
β python -m ipdb script.pyβ ipdb script.pyΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠΊΡΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΡ, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ: ΡΡΠ°Π²ΠΈΡΡ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΈΠ½ΡΡ, ΠΈΠ·ΡΡΠ°ΡΡ Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΡΠ»ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅ΡΠ΅ΡΡΡΡ ΠΈΠ·Π½ΡΡΠΈΡΠ΅Π»Π΅Π½: ΠΏΠΎΠΊΠ° Π΄ΠΎΠ±Π΅ΡΡΡΡΡΡ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π²ΡΠ΅ΠΌΠΈ ΡΡΠΈΠΌΠΈ Β«nextΒ», Β«stepΒ», Π΄Π° ΠΈ ΡΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (Β«breakΒ») ΡΡΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
import ipdb; ipdb.set_trace()Π ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, β Π΄Π°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ³Π»ΡΠ±Π»ΡΡΡΡΡ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎ ΡΡΡΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Β«set_traceΒ» β ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π° (breakpoint).
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ΅ΡΠΎΠ²
ΠΡΠ±ΠΎΠΉ, ΠΊΠΎΠΌΡ Π·Π½Π°ΠΊΠΎΠΌΠ° Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° PEP8, Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π²ΠΈΠ½ΠΈΡΡ ΠΌΠ΅Π½Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π²ΠΏΠΎΠ»Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Π½Π° ΠΆΠΈΠ·Π½Ρ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Ρ ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ PEP8 ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ ΠΏΡΡΠ΅ΠΌ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π°Π²ΡΠΎΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅). ΠΠΎ-Π²ΡΠΎΡΡΡ , ΡΠ°ΠΊ ΠΏΡΠΎΡΠ΅ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΠΎΠ΄. ΠΡ ΠΈ Π²-ΡΡΠ΅ΡΡΠΈΡ , ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² PEP8: Β«A Foolish Consistency is the Hobgoblin of Little MindsΒ».
Python Debugger ΠΈΠΌΠ΅Π΅Ρ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΡΠΊΠ½ΡΠΈΠΈ set_trace. ΠΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«post mortemΒ»: Π·Π°ΠΏΡΡΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊΠΎΠΌ:
try:
some_code()
except:
import sys
import ipdb
tb = sys.exc_info()[2]
ipdb.post_mortem(tb)ΠΈΠ»ΠΈ ΡΠ°ΠΊ:
import sys
import ipdb
def run_debugger(type, value, tb):
ipdb.pm()
sys.excepthook = run_debugger
some_code()Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ Π½Π΅ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Β«some_codeΒ» Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
debug
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Β«set_traceΒ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ debug, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ipdb ΠΈ see (ΡΠ΄ΠΎΠ±Π½Π°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ dir) ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ:
import debugΠ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Β«ipdbΒ» ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡΠ»Ρ Β«seeΒ».
ipdbplugin
ΠΡΡ ΠΎΠ΄Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΈ, Π½Π° ΡΡΠΎΡ ΡΠ°Π·, ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°: nose-ipdb. Π‘ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ) ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠ΅ΡΡΠ°Ρ (Ρ Π½Π°Π΄Π΅ΡΡΡ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ nose? =). ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ipdb ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΡΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ «—ipdb»:
β nosetests --ipdbΠ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΡ ΡΡ ΡΠ΅ΡΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ «—ipdb-failures»:
β nosetests --ipdb-failuresΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΎΠ²ΠΈΡΡ Π²ΡΡ ΠΈ ΡΡΠ°Π·Ρ:
β nosetests --ipdb --ipdb-failuresΠ― ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ ΡΠ΅Π±Π΅ ΠΆΠΈΠ·Π½ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.
werkzeug
ΠΠΎΡΡΡΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΡΠΌΠΈΠ½Π° Π ΠΎΠ½Π°Ρ Π΅ΡΠ° (Armin Ronacher), Π°Π²ΡΠΎΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Flask ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΊΡΡΡΠ΅ΠΉΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Python Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ werkzeug ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ±ΠΎΡΠ½ΠΈΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ WSGI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ β ΠΊΠ»ΡΠ²ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Python Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊΠ° ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ middleware:
from werkzeug.debug import DebuggedApplication
from myapp import app
app = DebuggedApplication(app, evalex=True)ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ werkzeug ΡΠΌΠ΅Π΅Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π΄Π°ΠΆΠ΅ Ajax-Π·Π°ΠΏΡΠΎΡΡ, Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ ΡΠ°ΠΌ Π»ΠΈΡΠ½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π». ΠΡΠ΄Ρ ΡΠ°Π΄ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ.
django-pdb
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π° ΡΡΠΎΡ ΡΠ°Π· Π΄Π»Ρ Django: django-pdb. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ GET-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² Π·Π°ΠΏΡΠΎΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: http://127.0.0.1:8000/app/view?ipdb) Π»ΠΈΠ±ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ²:
β python manage.py runserver --ipdbΠΠΈΠ±ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (ΡΠ΅ΠΆΠΈΠΌ Β«post-mortemΒ»):
β python manage.py runserver --pmΠΈΠ»ΠΈ
POST_MORTEM = TrueΠ² settings.py.
django-extensions
ΠΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ Π² Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ django-extensions, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ runserver_plus. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ Π±Π°ΡΠ°ΡΠ΅ΠΉΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡ Django ΠΈ Werkzeug (ΡΠΌ. Π²ΡΡΠ΅) ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΏΡΡΠΈΡΠΎΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ =)
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠ΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΈΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ runserver_plus:
β python manage.py runserver_plussentry
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΡΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ ΡΠ°ΠΌΠΎΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ β Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎ Π±Π°Π³ΡΠ΅ΠΏΠΎΡΡΡ ΠΎΡ ΠΆΠΈΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Python, ΠΌΠΎΠ΄ΡΠ»Ρ Β«ΡΠ΅Π»Π΅ΠΏΠ°ΡΠΈΠΈΒ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΡΡΠ°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Β«Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!!!11Β».
ΠΡΠΎΠ΅ΠΊΡ Sentry ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»Π½ΡΠΌ ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠ΅Ρ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ: ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π±ΡΠ°ΡΠ·Π΅Ρ, ΠΠ‘), Π²ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΡΡ, ΡΡΠΎ ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° Β«ΠΏΡΠ»ΡΡΠΎΠΌΒ» ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠΈΠ½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΠΌΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ sentry β Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΏΠΎΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π² Π»ΠΎΠ³ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΈ Π²ΡΡ ΡΡΠΎ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π² sentry.
ΠΠΎ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ (ΠΈ Π½ΡΠΆΠ½ΠΎ!) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅.
PuDB
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ: PuDB ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π΄Π΅Π±Π°Π³Π΅Ρ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ:
ΠΠ΅ Π±ΡΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Π½ΡΠΌ ΠΏΠΈΡΠ°ΡΡ (ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Ρ ΡΠ°ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ), ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ Π·Π°ΠΌΠ΅ΡΠΊΠ° Π½Π° Ρ Π°Π±ΡΠ΅: Π£Π΄ΠΎΠ±Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π΄Π»Ρ Python/Django ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ int22h ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΠ±Π·ΠΎΡ: ΠΡΠ»Π°Π΄ΠΊΠ° Python/Django ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ PuDB.
Winpdb
Standalone ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Python, Π½Π° ΡΡΠΎΡ ΡΠ°Π· Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ: Winpdb:
ΠΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ winpdb Π² 20 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ pdb, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ΅Π΄Π°ΠΌΠΈ. ΠΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅: code.google.com/p/winpdb/wiki/DebuggingTutorial.
IDE
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ Β«ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ΡΒ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: IDE, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄, ΠΎΡΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ. Π―, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π²ΡΠ΄Π΅Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python: PyCharm, PyDev, Wing IDE ΠΈ PTVS.
ΠΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π»ΠΈΡΠ½ΠΎ Ρ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΏΡΡΠ°Π»ΡΡ, ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΠΌΠΎΠ³ ΠΏΠ΅ΡΠ΅ΡΠΈΠ»ΠΈΡΡ ΡΠ΅Π±Ρ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ ΠΈ Π»ΡΠ±ΠΈΠΌΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ (Π±ΡΠ΄Ρ ΡΠΎ vim, emacs ΠΈΠ»ΠΈ sublime text) Π½Π° Π»ΡΠ±ΡΡ ΠΈΠ· Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ IDE, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠΎΠ²Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ Π΄Π°ΡΡ ΡΡΠΈΠΌ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ ΡΠ°Π½Ρ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΡΠ»ΠΈ ΡΠ΅ΡΡΠ½ΠΎ, Ρ Π½Π΅ Π²ΠΈΠΆΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΡΡΠΈΡ IDE, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, β ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΡΡΡΠΎ ΠΈ Π·Π΄ΠΎΡΠΎΠ²ΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» ΠΈ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π».
ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π ΡΠ΄Π½ΡΡ
,
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ Mail.Ru.
Π Π°Π±ΠΎΡΠ° Ρ Debug β Β«Π₯Π°ΠΊΠ΅ΡΒ»
ΠΡΠΈΠ²Π΅Ρ, ΡΠ½ΡΠΉ Ρ
Π°ΠΊΠ΅Ρ! Π’Ρ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π·Π½Π°Π΅ΡΡ, Π½ΠΎ ΠΊΡΡΡΠΎΠΉ Ρ
Π°ΠΊΠ΅Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎΠΌ. ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ Π΄Π΅Π±Π°Π³Π³Π΅ΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠΠ‘. Π’Ρ ΡΠΊΠ°ΠΆΠ΅ΡΡ: Β«ΠΠ° ΠΊΠΎΠΉ ΡΠΈΠ³ ΠΌΠ½Π΅ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΌΠ½Π΅, ΠΊΡΡΡΠΎΠΌΡ ΠΏΠ΅ΡΡΡ?Β».Β
ΠΡΠ΅Π΄ΡΡΠ°Π²Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΠ± (ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΊΠ°ΡΠ΅, ΠΊ Π΄ΡΡΠ³Ρ Π΄ΠΎΠΌΠΎΠΉ), Π° ΡΠ°ΠΌ Π½Π° ΡΠ°ΡΠΊΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΄Ρ ΡΠ½ΡΡΡ, ΡΠΈΠ΄ΡΠΊΠΈ Π·Π°ΠΊΠ»Π΅Π΅Π½Ρ, Π° ΠΏΠ°ΠΊΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΆΠ΅ Ρ
ΠΎΡΠ΅ΡΡΡ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π½Π° Π»ΡΠ±ΠΎΠΌ Β«Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΒ» ΠΊΠΎΠΌΠΏΠ΅ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² Π‘, Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠ²β¦ Π½ΠΎ ΠΏΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Β«Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΒ» ΠΊΠΎΠΌΠΏΠ΅ Π΅ΡΡΡ ΠΠΠ‘! ΠΠ°, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΠΠ‘, ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ — ΠΠΈΠ½Π΄Ρ Π²ΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ² Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
DEBUG.
ΠΠ°ΠΊ? ΠΠ°Π±ΡΠ°ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ (Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ°Π»ΠΎ, Π΄Π° ΠΈ ΡΠΈΠ» ΠΆΠ°Π»ΠΊΠΎ), Π½ΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΊΡ, ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π΅ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² ΠΌΠΎΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠ·ΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ , Π½ΠΎ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠ°ΠΊ, Π²Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ DEBUG
ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° βD (dump) <adress>.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π°Π΄ΡΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π΄Π°Π½ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ <adress> Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½Ρ:ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΠΠ£ BIOS:
-d F000:E000
ΠΠ΄Π΅ΡΡ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΈΡΠΌΡ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π²Π°ΡΠ΅ΠΉ
BIOS. Π ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ:
-d F000:EC6C
ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅,
ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΠΠΠ‘, ΡΠΈΠΏΡΠ΅Ρβ¦ Π ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ
(0000:046C) Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΠΠΠ‘. ΠΡΡΠ΅ΡΠ»ΠΈΠ²ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΡΠ΅ΠΊΠ° (CS, DS ΠΈ SS, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ).
-d DS:0000
ΠΡΡΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ
, Ρ. Π΅.
Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
-d CS:100
Π ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄, Ρ.Π΅. ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄, Π³ΠΎΡΠΎΠ²ΡΡ
ΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ²ΠΎΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π½Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ (Π΄Π»Ρ Π½Π°Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ°).
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° -R (register) <register name>, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ².
-r AX
AX 1203
: 0
—
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΌΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡ ΠΠ₯ ΠΈ ΠΎΡΠΈΡΠ°Π΅ΠΌ Π΅Π³ΠΎ (ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ 0).
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ (ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ CS:100):
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000
SI=0000 DI=0000Β
DS=3B9A ES=3B9A SS=3B9A CS=3B9A IP=0100 NV UP EI PL NZ NA PO NCΒ
3B9A:0100 E82421 CALL 2227
Π’ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° βE (enter) Addres <command list>.
ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΠΎΠ½Π° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²
ΠΏΠ°ΠΌΡΡΠΈ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΡ
ΠΊΠΎΠ΄Π°Ρ
. ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½ΡΡ
ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΈΡΠ΅ΡΡΡ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π±Π°ΠΉΡ
(ΠΏΠΎ ΠΌΠ»Π°Π΄ΡΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ), Π·Π°ΡΠ΅ΠΌ β ΡΡΠ°ΡΡΠΈΠΉ (ΠΏΠΎ ΡΡΠ°ΡΡΠ΅ΠΌΡ), Ρ. Π΅.Β
ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ DS:0000 ΡΠΈΡΠ»ΠΎ 1234h Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ:
-E DS:0000 34 12
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
-E cs:100 B8 34 12
-D CS:100
Π Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ U (unassemble) <starting address>, <ending adress> Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
-U CS:100,102
3B9A:0100 B83412 MOV AX,1234
Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΠΎ Π²ΠΌΠ΅ΡΡΠΎ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ
Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ DEBUG. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°
-A (assemble) <adress>. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΆΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΊΡ Π½Π° Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.:
-AΒ
0B3B:0100 mov ax,1234
0B3B:0103 mov ah, 4c
0B3B:0105 int 21
0B3B:0107
Π ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π΄ΠΈΡΠΊΠ΅? Π‘Π½Π°ΡΠ°Π»Π° Π·Π°Π΄Π°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°:
-N my_file.com
ΠΠ°ΡΠ΅ΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡ Π‘Π₯ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π±Π°ΠΉΡΠ°Ρ . ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ ΡΠ°Π·Π½ΠΎΡΡΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ W ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡΠΎΠ². Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΡ ΠΎΠ΄ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ q. ΠΡΠΈΠΌΠ΅Ρ:
-AΒ
0B3B:0100 mov ax,1234
0B3B:0103 mov ah, 4c
0B3B:0105 int 21
0B3B:0107Β
-u CS:100, 106
0B3B:0100 B83412 MOV AX,1234Β
0B3B:0103 B44C MOV AH,4CΒ
0B3B:0105 CD21 INT 21Β
-r cx
CX 0000
:7
-r
AX=0000 BX=0000 CX=0007 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000Β
DS=0B3B ES=0B3B SS=0B3B CS=0B3B IP=0100 NV UP EI PL NZ NA PO NCΒ
0B3B:0100 B83412 MOV AX,1234Β
-N my.com
-W
ΠΠ°ΠΏΠΈΡΡ 00007 Π±Π°ΠΉΡ
-q
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΠ°ΠΊΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΈΠΊΠΎΠ»ΠΎΠ², Π΄Π° ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²-Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ β Π²Π΅Π΄Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Π° DEBUG Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ Π²ΠΎ Π²ΡΠ΅ ΠΠΈΠ½Π΄Ρ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π₯Π . Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π²Π΅ΡΠ΅Π»Π΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ Π·Π° ΡΡΠΆΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠΌ, Π²ΡΠ·ΡΠ²Π°Ρ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ·ΡΠΈΠ½Π° (Π΄ΠΈΡΠΊΠΎΠ² ΠΈ Π΄ΠΈΡΠΊΠ΅Ρ-ΡΠΎ Π²Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΎΡΠΈΠ»ΠΈ!!!) Π½ΠΎΠ²ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ Π΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π£ΡΠΏΠ΅Ρ ΠΎΠ², ΡΠ½ΡΠ΅ Π»ΡΠ±ΠΈΡΠ΅Π»ΠΈ Ρ Π°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΡΡΠΈΠΌΠ°!
ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ USB Π½Π° Android
  Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ | ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΠΎ USB Π½Π° Android ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°ΠΌΡΡ
ΡΠ°Π·Π½ΡΡ
ΡΠ΅Π»Π΅ΠΉ: ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² adb shell (ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°, ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠ΅ΠΊΠ°Π²Π΅ΡΠΈ, Π·Π°ΠΏΠΈΡΡ ΡΠΊΡΠ°Π½Π°), Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ ΠΈ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π½Π° Android.
Π ΡΡΠΎΠΉ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ USB Π½Π° Android 5-7 (Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈ Π½Π° Π²Π΅ΡΡΠΈΡΡ 4.0-4.4), Π² Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° Android 9 Pie ΠΈ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ Samsung Galaxy.
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ ΠΈ ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΠΎΡΡΠΈ ΡΠΈΡΡΠΎΠΉ ΠΠ‘ Android 6 Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Moto (ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π° Nexus ΠΈ Pixel), Π½ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Samsung, LG, Lenovo, Meizu, Xiaomi ΠΈΠ»ΠΈ Huawei Π½Π΅ Π±ΡΠ΄Π΅Ρ, Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅, ΡΠ°ΠΊΠΆΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΡΡΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π° Π΄ΡΡΠ³ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Android ΠΈ ΠΌΠ°ΡΠΊΠ°Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ².
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎ USB Π½Π° Android ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠ΅
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ USB, ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Android, ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ Β«Π ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅Β» ΠΈΠ»ΠΈ Β«Π ΠΏΠ»Π°Π½ΡΠ΅ΡΠ΅Β», Π½Π° Samsung β Β«Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅Β» β Β«Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΠΒ». ΠΠ° ΡΠΈΡΡΠΎΠΌ Android 9.0 Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΡΠ½ΠΊΡ Β«Π‘ΠΈΡΡΠ΅ΠΌΠ°Β» β Β«Π ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅Β».

- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ Β«ΠΠΎΠΌΠ΅Ρ ΡΠ±ΠΎΡΠΊΠΈΒ» (Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ
Xiaomi ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΡΡΠ³ΠΈΡ
β ΠΏΡΠ½ΠΊΡ Β«ΠΠ΅ΡΡΠΈΡ MIUIΒ») ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΡΡΠ°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.Β

Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΌΠ΅Π½Ρ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠ½ΠΊΡ Β«ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²Β» ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΡ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ: ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π° Android).
ΠΡΠΎΡΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎ USB ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ ΡΠ°Π³ΠΎΠ²:
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» β Β«ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²Β». ΠΠ° Android 9, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Nokia β Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β Π‘ΠΈΡΡΠ΅ΠΌΠ° β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ β ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΡ
ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Xiaomi β Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ β ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ»ΠΈ Π²Π²Π΅ΡΡ
Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«ΠΡΠΊΠ»Β», ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² Β«ΠΠΊΠ»Β».

- Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΡΠ»Π°Π΄ΠΊΠ°Β» Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ Β«ΠΡΠ»Π°Π΄ΠΊΠ° ΠΏΠΎ USBΒ», ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎ USB.

- ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ Β«Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΠΎ USBΒ», Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π² ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.

ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ Π³ΠΎΡΠΎΠ²ΠΎ β ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΏΠΎ USB Π½Π° Π²Π°ΡΠ΅ΠΌ Android ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π²Π°ΠΌ ΡΠ΅Π»ΡΠΌΠΈ.
ΠΠΈΠ΄Π΅ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΠ΅Π½Ρ, Π° ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ β ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΈ ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΌΠ΅Π½Ρ ΠΠ°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠ½ΠΊΡ Β«ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²Β» (ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ Π±ΡΠ»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π²ΡΡΠ΅).
Π Π²Π΄ΡΡΠ³ ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ:
Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ — PZwiki
| ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π» Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΠΠ Π‘Π’Π ΠΠΠ’ΠΠΠ¬Π‘Π’ΠΠΠ . Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ Π² Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² Π΅Π³ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ 01/08/2019 Vaileasys. |
Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ — ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² Project Zomboid. Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΡΡ, ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ³ΡΠΎΠΊΠ° Π² Π»ΡΠ±ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ LShift Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ³ΡΡ ΠΈΠ»ΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ -debug ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ³ΡΡ Π΄ΠΎ Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°.
ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ.Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ. ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΠ³ΡΡ ΠΏΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΏΡΡΠ΅ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«DebugScenario.luaΒ» Π² Β«ProjectZomboid \ media \ lua \ client \ DebugUIs \ ScenariosΒ» ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ.
ΠΠ΅Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ — ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ³ΡΠΎΠΊΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ / ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΈΠ³ΡΡ.
Π ΠΈΠ³ΡΠ΅ ΡΠ΅ΡΡΠΉ Π·Π½Π°ΡΠΎΠΊ ΠΆΡΡΠΊΠ° ΡΠ»Π΅Π²Π° ΠΎΡ HUD ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. ΠΠ°ΠΆΠ°Π² Π½Π° ΡΡΠΎ, ΠΎΠ½ ΡΡΠ°Π½Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΌΠ΅Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
- ΠΠ½Π°ΡΠΎΠΊ ΠΌΠ΅Π½Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
- ΠΡΠ»Π°Π΄ΠΊΠ° ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ.
ΠΠ±ΡΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΈ
ΠΠ³ΡΠ°
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ³ΡΡ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«GameSpeedΒ».
| Π²Π°ΡΠΈΠ°Π½Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ |
|---|---|---|
| GameSpeed | ΠΡΡΠ΅Π³ΡΠ»ΠΈΡΡΠΉΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ»Π·ΡΠ½ΠΎΠΊ. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΎΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡ / ΡΠΌΠ΅Π½ΡΡΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΡ Π½Π° 0.1 ΡΠ°Π³ Π·Π° ΡΠ°Π·, ΠΈΠ»ΠΈ 1,0, Π΅ΡΠ»ΠΈ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ΡΠΏΡΠΈΠ½ΡΠ° (LShift ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ). ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ 1 Π΄ΠΎ 1000 Ρ ΡΠ°Π³ΠΎΠΌ 0,1. | ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ = 1 ΡΡΠΊΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ = 5 ΡΡΠΊΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ = 20 ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ = 40 |
Moodles and Body
| Π²Π°ΡΠΈΠ°Π½Ρ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ |
|---|---|---|
| ΠΠΎΠ»ΠΎΠ΄ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, Π²Π»ΠΈΡΡΡΠΈΠΉ Π½Π° Π³ΠΎΠ»ΠΎΠ΄ ΠΌΡΠ΄Π΅Π»Ρ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 1 Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| ΠΠ°ΠΆΠ΄Π° | Π‘Π»Π°ΠΉΠ΄Π΅Ρ, Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ Π½Π° ΠΆΠ°ΠΆΠ΄Ρ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 1 Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| Π£ΡΡΠ°Π»ΠΎΡΡΡ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ Π½Π° ΡΡΡΠ°Π²ΡΠ΅Π³ΠΎ Π»ΡΠΊΠ°, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 1 Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| ΠΡΠ½ΠΎΡΠ»ΠΈΠ²ΠΎΡΡΡ | Π‘Π»Π°ΠΉΠ΄Π΅Ρ, Π²Π»ΠΈΡΡΡΠΈΠΉ Π½Π° Π²ΡΠ½ΠΎΡΠ»ΠΈΠ²ΠΎΡΡΡ Π»ΡΠΊΠ°, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 1 Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| Π€ΠΈΡΠ½Π΅Ρ | Π‘Π»Π°ΠΉΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΈΡΠ½Π΅Ρ-Π½Π°Π²ΡΠΊ.ΠΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π°Π²ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈΠ³ΡΠΎΠΊΠ° Ρ ΡΠ°Π³ΠΎΠΌ 0,2 (Π·Π° ΡΡΠΎΠ²Π΅Π½Ρ). | ΠΌΠΈΠ½ = -1 ΠΌΠ°ΠΊΡ = 1 |
| ΠΡΡΠ½ΡΡΠ²ΠΎ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, Π²Π»ΠΈΡΡΡΠΈΠΉ Π½Π° ΠΏΡΡΠ½ΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠΌΡΡΠ²Π°, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ 0. ΠΠΎΠ»Π½Π°Ρ Π±ΡΡΡΠ»ΠΊΠ° Π°Π»ΠΊΠΎΠ³ΠΎΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ 0,41. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΡΡΡΠ°Π»ΠΎΡΡΡ Moodle Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 100 |
| ΠΠ½Π΅Π² | Π‘Π»Π°ΠΉΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° Π·Π»ΠΎΠ³ΠΎ Π»ΡΠΊΠ°Π²Π°, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ 0. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| Π‘ΡΡΠ°Ρ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| ΠΠΎΠ»Ρ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° Π±ΠΎΠ»Ρ Moodle, ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ 0 Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΡΡΠ½ΡΡ | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 100 |
| ΠΠ°Π½ΠΈΠΊΠ° | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° ΠΏΠ°Π½ΠΈΠΊΡ Moodle, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ 0. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 100 |
| ΠΠΎΡΠ°Π»Ρ | ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π΄ΠΎ 0, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅ 0.5. ΠΠΎΠ³Π΄Π° ΡΡΡΠ΅ΡΡ Π½ΠΈΠΆΠ΅ 0,5, Π±ΠΎΠ΅Π²ΠΎΠΉ Π΄ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΡΠ°Π½Π΅Ρ 1,0. | ΠΌΠΈΠ½ = 0 ΠΌΠ°ΠΊΡ = 1 |
| Π‘ΡΡΠ΅ΡΡ | Π‘Π»Π°ΠΉΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π»ΠΈΡΠ΅Ρ Π½Π° |
c ++ — ΠΠ°ΠΊ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠΏΡΡΠΊΠ°?
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°- Π’ΠΎΠ²Π°ΡΡ
- ΠΠ»ΠΈΠ΅Π½ΡΡ
- Π‘Π»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
- ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
- ΠΠΎΠΌΠ°Π½Π΄Ρ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
- ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
- ΡΠ°Π±ΠΎΡΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
- Π’Π°Π»Π°Π½Ρ ΠΠ°Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π»Π°Π½Ρ
- ΡΠ΅ΠΊΠ»Π°ΠΌΠ° Π‘Π²ΡΠ·Π°ΡΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ
ΠΠ°Π³ΡΡΠ·ΠΊΠ°β¦
- ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ
ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ
- ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΡΠ°Ρ
c ++ — ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠΏΡΡΠΊΠ°
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°- Π’ΠΎΠ²Π°ΡΡ
- ΠΠ»ΠΈΠ΅Π½ΡΡ
- Π‘Π»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
- ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
- ΠΠΎΠΌΠ°Π½Π΄Ρ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
- ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
- ΡΠ°Π±ΠΎΡΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
- Π’Π°Π»Π°Π½Ρ ΠΠ°Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π»Π°Π½Ρ
- ΡΠ΅ΠΊΠ»Π°ΠΌΠ° Π‘Π²ΡΠ·Π°ΡΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ
ΠΠ°Π³ΡΡΠ·ΠΊΠ°β¦
- ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ
ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ
- ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΡΠ°Ρ
Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ | Π²Π²Π²Π²
ΡΡΡΡΠΊΠΈΠΉ | ΠΡΠ°Π»ΡΡΠ½ΡΠΊΠΈΠΉ
Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
CTRL + F9
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ / Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π²ΡΠ΅ ΠΏΠ°ΡΡΠΈ / ΡΠ·Π»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ vvvv.exe
SHIFT + CTRL + F9
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ / Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΡΡΠΈ / ΡΠ·Π»Ρ.
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡ devvvs Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ :
Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ²Π΅ΡΠ° Π½Π° Π²Ρ
ΠΎΠ΄Π°Ρ
?
Π·Π΅Π»Π΅Π½ΡΠΉ , ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π²Ρ
ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅.(ΡΠΌ. Π½ΠΈΠΆΠ΅)
ΠΊΡΠ°ΡΠ½ΡΠΉ , ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Ρ
ΠΎΠ΄ΠΎΠΌ / Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΏΡΠ΅Π΄ΠΎΠ² (ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ΅ΡΡΠ°Ρ
)
ΡΠΈΠ½ΠΈΠΉ , ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²Ρ
ΠΎΠ΄ / Π²ΡΡ
ΠΎΠ΄.
~~ # cccccc: Π±Π΅Π»ΡΠΉ ~~ Π²ΡΠΎΠ΄Π΅ Π±Ρ ???
Π£Π·Π΅Π» Ρ ΡΠ΅ΡΡΠΌΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠΈΡ Β«ΠΠ²ΡΠΎΠΎΡΠ΅Π½ΠΊΠ°Β» ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΠΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌΒ»
- ΠΠΏΡΠΈΡ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ΅Π½ΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ·Π»Π°, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ. ΠΠΏΡΠΈΡ
- Autoevaluate Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ·Π΅Π» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π΄Ρ.
ΠΠ²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² vvvv:
- Value In: ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PinH, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠΏΡΠ΅Π΄ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠ°Π΄ΡΠΎΠΌ (ΡΡΠ΅Π· Π½Π° ΡΡΠ΅Π·). ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Π°Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΏΡΠ΅Π΄Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 50000, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ 50000 ΡΠ°Π²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡΠΏΡΠ΅Π΄ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΏΡΠ΅Π΄. ΠΠΎΠ³Π΄Π° Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Β«PinIsChangedΒ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«ΠΈΡΡΠΈΠ½Π°Β», Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΌ.
- Value Fast In: Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΏΡΠ΅Π΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅.ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ.
Π² ΠΊΠ°ΠΊΠΈΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ?
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½Ρ Π² ΡΡΡΡΡΠ°Ρ ΡΠΈΠΊΠΎΠ².
Π’ΠΈΠΊ — ΡΡΠΎ ΡΠ°ΠΌΠ°Ρ Π½ΠΈΠ·ΠΊΠ°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΠ 1 ΡΠ°ΠΊΡ = 1/10000 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ 130, Π²Π°ΡΠ΅ΠΌΡ ΡΠ·Π»Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 13 ΠΌΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
(ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ, ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ hi perf ΠΈ Π²ΡΠ²Π΅Π»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² ΡΠΎΠ·Π΅ΡΠΊΡ, ΡΡΠΎ, ΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»ΠΎ ΡΡΠΎ).
ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠΏΡΠ΅Π΄ΠΎΠ²
CTRL + F10Π²ΠΊΠ»ΡΡΠ°Π΅Ρ / Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π²ΡΠ΅ ΠΏΠ°ΡΡΠΈ / ΡΠ·Π»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ vvvv.exe

Π‘ΡΡΠ»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· 4 ΡΡΠΈΠ»Π΅ΠΉ:
ΠΏΡΠ½ΠΊΡΠΈΡ: ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΓΈ
Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ: ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΊΠ΅ 1 Π»ΠΎΠΌΡΠΈΠΊ
ΡΠΎΠ½ΠΊΠΈΠΉ: ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ΅Π·ΠΎΠ² ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΏΡΠ΅Π΄ΠΎΠ²
ΡΠΎΠ»ΡΡΡΠΉ: ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ΅Π·ΠΎΠ², ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΏΡΠ΅Π΄ΠΎΠ²
ΠΆΠΈΡ: ΠΏΡΠΈ Π½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΡΡΠ΅ΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΡΠ΅Π΄
ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΡΠΏΡΠ΅Π΄Π°ΠΌ ΠΈΠ»ΠΈ ΠΎΡ ΠΎΡΠ΅ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠΏΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ ΓΈ.
,