Z klang i graphviz mogę wygenerować wykres wywołujący dla niektórych kodów C/C++ as explained in this answer.Jak wygenerować wykres przepływu danych za pomocą klang lub innych narzędzi?
Teraz potrzebuję schematu przepływu danych obliczonego na naprawdę dużej bazie kodu (w większości jest to C), ta baza kodów jest oprogramowaniem, w którym jako narzędzie do budowania używane jest cmake
.
Więc moim problemem jest, biorąc pod uwagę nazwę struktury danych, jak mogę ewentualnie pobrać nazwy funkcji i plików za pomocą/implementacji tej struktury?
Istnieją pewne rzadkie odniesienia do pewnych algorytmów górniczych przepływu danych wewnątrz Libtool
z projektu dzyń (nawet nie wiem, czy to coś stabilny lub w rozwoju), ale nic nie znalazłem na clang
samego lub scan-build
.
Jak mogę wygenerować tę informację? Naprawdę potrzebuję tego, zważywszy na nazwę, którą chciałbym pobrać, gdzie jest używany w kodzie, prawie wszystkie narzędzia do analizy statycznej, które recenzowałem, koncentrują się na funkcjach i metodach, muszę sprawdzić wykorzystanie struktury danych w clang
.
EDIT:
Jestem również rozważa wykorzystanie doxygen do dokumentacji, więc jeśli wyjście xml z doxygen mógłby być użyteczny dla jakiegoś narzędzia, mogę go używać.
Może to być trochę zwariowane, ale czy rozważałeś załadowanie całego kodu do Eclipse, a następnie używając funkcji wyszukiwania Eclipse? – slugonamission
@musiam dobrze, ponieważ nie mogę znaleźć niczego, co działa ...; nazwa narzędzi, których powinienem użyć w Eclipse, wiem, że CDT jest zestawem Eclipse dla C i C++, ale nie wiem, co jest używane do tego rodzaju analizy. – algl
to nie jest tak naprawdę dla przepływu danych, ale twoje wymagania po prostu wydają się sprawdzać, gdzie struktura danych jest używana. Korzystając z CDT + Eclipse, można przynajmniej graficznie znaleźć, gdzie struktura danych jest używana (w jednym z menu wyszukiwania gdzieś), ale nie pełne DFG. – slugonamission