LINUX.ORG.RU

Cтатический анализ кода


0

2

Есть ли какая-нибудь готовая приблуда, позволяющая строить граф вызовов для конкретной функции? Т. е. в самом упрощенном варианте по имени функции написать (нарисую я и graphviz'ом на худой конец) список функций, вызывающих ее.

Ответ на: комментарий от cnupm

>Ты сначала узнай что такое lint(unix) и pre*(win), а потом тявкай, студентота.

Материалы для диссертации на клоунскую степень «магистра анализа исходного кода с помощью регулярных выражений» советую обсуждать где-нибудь в другом месте.

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

Ага, есть GObject называется, там такие классы что никакой анализатор не осилит.

congestion_control
()

>Есть ли какая-нибудь готовая приблуда, позволяющая строить граф вызовов для конкретной функции?

Eclipse CDT умеет рисовать графы вызовов.

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

Я знаю только что он строит иерархию наследования и моя психика уже была сильно травмирована такими графами.

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

Графы вызовов тоже строит, если попросить. Не нравится как рисует (через graphviz) - рисуй сам (не знаю как), всю инфу он может в xml выгрузить.

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

>тогда о какой перегрузке и каких классах речь?

То есть анализ кода регулярными выражениями у тебя никаких возражений не вызывает?

linuxfan
() автор топика
Ответ на: комментарий от archimag

Да, точно. Но он медленный. (Так как дофига чего другого делает).

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

Ну и зря не смеешь. Clang умеет call graph для c++ выводить.

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

То есть анализ кода регулярными выражениями у тебя никаких возражений не вызывает?

вызывает. а что, от ответа на этот вопрос существенно меняется степень абсурдности твоих фраз?

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

>вызывает. а что, от ответа на этот вопрос существенно меняется степень абсурдности твоих фраз?

Учитывая, что мне «желательно C++», не вижу никакой абсурдности. И, если уж на то пошло, в gcc есть возможность объявлять вложенные функции, так что одно и то же имя в разных контекстах может обозначать разные сущности.

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

ок. ну, в принципе, у тебя уже даже выбор есть, можешь потом историю успеха зафигачить

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