ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° elfshaker, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π΄Π»Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF. Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «git bisect» ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache-2.0.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π° Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π²ΡΡ ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΎΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Clang (ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ° ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ pack-ΡΠ°ΠΉΠ»Π΅, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 100 ΠΠ, ΡΡΠΎ Π² 4000 ΡΠ°Π· ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π±Ρ ΠΏΡΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2-4 ΡΠ΅ΠΊΡΠ½Π΄Ρ (Π² 60 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «git bisect» Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ LLVM), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ² ΠΈΠ»ΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru