Пара команд, которые время от времени бывают полезными при анализе программ:
Деманглирование имён C++:
Получение графа вызовов:
В gcc нет встроенной возможности получить граф вызовов, поэтому нужно установить утилиту egypt.
В llvm можно просто воспользоваться ключиком:
Деманглирование имён C++:
$ c++filt _ZNSs4_Rep10_M_destroyERKSaIcE
std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char> const&)
Получение графа вызовов:
В gcc нет встроенной возможности получить граф вызовов, поэтому нужно установить утилиту egypt.
g++ -fdump-rtl-expand test.cpp
egypt --include-external test.cpp.*.expand > test_gcc_callgraph.dot
dot -Tpng -otest_gcc_callgraph.png test_gcc_callgraph.dot
В llvm можно просто воспользоваться ключиком:
clang++ -S -emit-llvm test.cpp -o - | opt -analyze -dot-callgraph
dot -Tpng -ocallgraph.png callgraph.dot
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.