У меня большая программная система, написанная на C. У меня есть все источники. Я пытаюсь найти инструмент, который поможет мне определить (желательно с помощью анализа stati c) функции и номера строк, которые могут установить интересующую меня переменную. Пример:
void func_a(int q) {
int z;
...
z = q*2;
....
func_b(z); // I NEED TO FIND OUT ALL LINES in ALL FILES that can set "z"
}
int main(int argc, char *argv[]) {
int x;
...
x = 38;
...
func_a(x);
}
Мне бы хотелось, чтобы мне сказали:
main() x = 38;
func_a(x);
void func_a(int q);
func_a() z = q*2;
Выше 4 строк определяют значение z, которое я собираюсь отправить в func_b ().
Я изучил clang, gtags (с --idutils) и некоторые другие. Я не могу определить, поддерживается ли это. Естественно, main () и func_a () могут находиться в разных файлах. c и иметь множество других строк, не связанных с моей интересующей переменной (это большая программная система).
Любые подсказки приветствуются.