- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΡΠΈ DHAT (Dynamic Heap Analysis Tool),ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅ ΠΈ Π²ΡΡΠ²ΠΈΡΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΌΠ΅ΡΡΠ° ΠΈΠ·Π»ΠΈΡΠ½Π΅ Π±ΠΎΠ»ΡΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΡΡΠ΅ΠΉ, Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΡΠ°ΡΠΊΠΎΡΡΠΎΡΠ½ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΊΡΡΠ΅. ΠΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ DHAT Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΡΠ°ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Valgrind (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ «—tool=dhat» Π²ΠΌΠ΅ΡΡΠΎ «—tool=exp-dhat»).ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² DHAT Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ DHAT ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²ΡΠΆΠΈΠΌΠΊΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, Π° ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΡΡΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΡΠ°ΠΉΠ». ΠΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ Π² Π·Π°ΠΏΠΈΡΠΈ, Π° ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅ΠΊΠ°. Π Π°ΡΡΠΈΡΠ΅Π½ΠΎ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΡΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊ dh_view.html, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ Π² web-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅;
- ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ amd64 (x86_64) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ RDRAND ΠΈ F16C;
- Π Cachegrind ΠΈ Callgrind ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΎΠΏΡΠΈΡ «—show-percs», Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΡΡΡΠΈΠΊΠΎΠ² Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ ;
- Π Massif Π΄Π»Ρ Linux, Android ΠΈ Solari Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ «—read-inline-info», Π΄Π»Ρ macOS ΠΏΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ «—read-inline-info=yes»;
- Π Memcheck ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ «—xtree-leak=yes» (Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ xtree) ΡΠ΅ΠΏΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠΈΡ «—show-leak-kinds=all». ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «—show-error-list=no|yes», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠΈΡ «-s» ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π°Ρ «—show-error-list=yes» Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π Π°Π½Π΅Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° «-v -v», Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°Ρ Π»Π°ΠΌΠ»ΡΠ»ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru