LINUX.ORG.RU

Valgrind 3.6.0

 , , ,


0

2

Valgrind — это инструмент, позволяющий находить недостатки в программах, такие как ошибки при работе с памятью, неправильное разделение потоков, неинициализированные переменные и прочее. В новой версии:

  • Поддержка ARM/Linux (ARMv7).
  • Поддержка свежих дистрибутивов Linux (gcc-4.5, glibc-2.12).
  • Поддержка Mac OS X 10.6 (32- и 64-бит).
  • Поддержка инструкций SSE4.2.
  • Улучшения профилировщика Callgrind, включая поддержку CPU с тремя уровнями кеша.
  • Новый экспериментальный профилировщик кучи DHAT.
  • Большое количество исправлений ошибок и мелких улучшений.

Официальный сайт

>>> Подробности

★★★

Проверено: mono ()
Последнее исправление: mono (всего исправлений: 1)

хорошая вещь, пользовались когда-то.

Правда, сишных проектов давно не было в нашей дыре, а жаль. А то бы заценили. И что печально - не знаю - будет ли ещё шанс заценить в будущем. А хотелось бы.

siberean
()

отлично. очень полезная тулза. не раз выручала.

k0l0b0k ★★
()

Наконец-то добавили поддержку новых Glibc!

buddhist ★★★★★
()

>Поддержка ARM/Linux

И 10 лет не прошло.

anonymous
()
Ответ на: комментарий от Reset

>Молись, чтобы не было.

Тонко

Уютненький C# совершенно отучил мозги включать? Теперь проект на С считается наказанием?

anonymous
()
Ответ на: комментарий от Reset

... угу, особенно если говнокод — свой собственный.

Мне кажется, что валгринд (в части поиска утечек) предполагался для использования при модульном тестировании прежде всего, а не для очистки конюшен.

sv75 ★★★★★
()

Да неужели ARM появился? Дождались!

afunix
()

Отличная штука, надо попробовать.

sudo-s
()

сижу с утра, дебажу код под валгриндом, а тут новость на ЛОРе ... валгринд он везде ! Слава Валгринду !

anonymous
()
Ответ на: комментарий от nikitos

>Круто конечно, но зачем оно на макоси? там есть leaks и shark.

Не подкол. shark в Mac OS с потоками работает deadlock могет ловить ?

PavelAnd
()
Ответ на: комментарий от Reset

Уж лучше пусть будет, т.к. идеального кода не существует, и лучше для разгребания говнокода иметь инструмент, чем не иметь (:

burjui
()
Ответ на: комментарий от PavelAnd

В макоси есть DTrace. Он может чуть более, чем всё.

anonymous
()
Ответ на: комментарий от burjui

Я не спорю, что valgrind это хорошо. Он как и КАСКО хорошо когда просто есть и не используется и плохо когда наступает случай использовать.

Reset ★★★★★
()
Ответ на: комментарий от HappySquirrel

Кто занимался отловом утечек памяти (неважно, как) благом это считать не будет. Разве только результат.

burjui
()
Ответ на: комментарий от GladAlex

> И под винду...
На работе в винде valgrind бы ох как помог, а так приходится вносить в код богомерзкие хаки, работающие только в Visual Studio.
И вообще, valgrind хорош (:

burjui
()
Ответ на: комментарий от thevery

это из-за сабжа ssh в дебиане дырявым оказался?

Да, из-за сабжа, точно так же, как из-за зеркала бывает кривая рожа.

По теме - отличный инструмент, спасибо разработчикам.

vga ★★
()
Ответ на: комментарий от burjui

Я занимался, занимался, и буду заниматься:

1) Отловом утечек (memcheck)

2) Отловом race conditions (helgrind, dtd)

3) Оптимизацией (callgrind)

Дает очень многое. Можно явно увидеть, и где доступ к данных не покрыт lock/mutex, и где программа проводит большую часть времени обработки, и вообще много неприятного узнать про свой любимый код. И сделать его намного стабильнее и быстрее.

HappySquirrel
()
Ответ на: комментарий от Reset

Что же из тебя говна-то столько лезет?

Видимо, проекта сложнее десятка классов у тебя еще не было. Когда кол-во классов переваливает за несколько сот, сроки поджимают, а кол-во изменений в изначально неплохом коде стремительно растет, писать 'нормально' невозможно в принципе. К тому же, я пока еще не видел человека, пишущего без ошибок, или 'нормально'.

HappySquirrel
()
Ответ на: комментарий от HappySquirrel

Опыта у тебя маловато и по всей видимости ты только работал в проектах-помойках, которые за десятилетия раздолбайства уже успели покрыться C++мхом. Тогда могу тебе только посочувствовать. Если в проекте есть сформулированные требования к написанию кода, то писать с минимальным количеством ошибок можно.

Reset ★★★★★
()
Ответ на: комментарий от HappySquirrel

> Когда кол-во классов переваливает за несколько сот, сроки поджимают, а кол-во изменений в изначально неплохом коде стремительно растет, писать 'нормально' невозможно в принципе.

У нас есть масса контрпримеров, начиная с kernel.org.

sv75 ★★★★★
()
Ответ на: комментарий от Reset

Не надо мне сочувствовать, особенно про опыт :) Эта проблема меня не волнует уже лет 15..

Легенда про 'писать правильно' активно распространяется студентами с горящим взором. С++ мох, это оттуда же. Мой любимый препод в институте любил говорить: А ваша уверенность не переросла в самоуверенность? И каждый раз это означало - кто-то где-то напахал.

В проектах-помойках мне не удалось поработать, к счастью. Зачем это делать - никогда не понимал. Если считаешь проект помойкой, зачем в нем работать?

Людей, проникшихся уверенностью в безошибочности кода, наблюдаю очень редко, видимо быстро умнеют. Пару раз такие на интервью приходили, послал за не умение пользоваться gdb и valgrind. Возьмешь такого, а он наплодит кода и будет с пеной у рта доказывать, что это не его код сожрал 99% процессора, поскольку его код - правильный. И другие люди вынуждены тратить свое время на разгребание.

Я как-то в банке работал, таких сидело около 80 чел. Мой контракт был - привести их код в чувство. Ну они, конечно, все дипломированные по самое не балуйся. И дипломы не купленные, чай не Россия. Но про memcheck они не слышали, ибо учили Java и Perl. И про profiler тоже, потому что писать надо 'правильно'. Итог работы - около 800 коммитов за полгода, и ускорение системы примерно втрое. Заодно, падать раз в три дня из-за нехватки памяти прекратила.

HappySquirrel
()
Ответ на: комментарий от HappySquirrel

В проектах-помойках мне не удалось поработать, к счастью. Зачем это >делать - никогда не понимал. Если считаешь проект помойкой, зачем в нем >работать?


Я как-то в банке работал, таких сидело около 80 чел. Мой контракт был - >привести их код в чувство. Ну они, конечно, все дипломированные по >самое не балуйся.


1. Противоречие обнаружено.
2. Из твоего поста следует что ты считаешь kernel.org помойкой

NoName
()
Ответ на: комментарий от HappySquirrel

> 1) Где в kernel.org классы?

При всей моей нелюбви С++, неужели для проблем нужно именно слово class? %)

2) Где в kernel.org сроки, за нарушение которых теряешь bonus?

В чужой карман не лезу и точно не знаю, но они все на фулл-тайме кодют %)

sv75 ★★★★★
()
Ответ на: комментарий от HappySquirrel

> И дипломы не купленные, чай не Россия. Но про memcheck они не слышали, ибо учили Java и Perl

Что-то я не очень верю, что в приличном вузе без Си обходятся, пока сам такого не видел.

Правда в вузы где был си, но без тестирования валгриндом, к несчастью, верю.

sv75 ★★★★★
()
Ответ на: комментарий от HappySquirrel

В проектах-помойках мне не удалось поработать, к счастью. Зачем это делать - никогда не понимал.

ога, только ты сам ниже себе и противоречишь

Итог работы - около 800 коммитов за полгода, и ускорение системы примерно втрое. Заодно, падать раз в три дня из-за нехватки памяти прекратила.

Это и есть разгребание говна. Хорошо когда есть утилиты с помощью которых можно это делать, но удовольствия в такой работе ноль.

Reset ★★★★★
()
Ответ на: комментарий от Reset

> удовольствия в такой работе ноль.

А почему, собсно? Пользу принес, деньги получил, доказал, что ты самый умный.

(я такой работой не занимался, рассуждаю теоретически)

sv75 ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Solaris не нужен, однако пока он существует - под него нужен valgrind :-)

maxcom ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.