Я сталкивался с этой увлекательной статьей (на reddit) : Визуализация вызовов функций с помощью Graphviz
Она объясняет, как можно использовать: набор инструментов компилятора GNU,Утилита Addr2line, пользовательский код для склеивания и Graphviz для создания визуализации вызовов вашей функции.
Я бы очень хотел реализовать это в своем коде, за исключением того, что мой код основан на Windows.И я использую компилятор Microsoft c ++.
В статье рассказывается об использовании функций профилирования, предоставляемых GCC для входа и выхода:
void __cyg_profile_func_enter( void *func_address, void *call_site )
__attribute__ ((no_instrument_function));
void __cyg_profile_func_exit ( void *func_address, void *call_site )
__attribute__ ((no_instrument_function));
Существуют ли такие функции профилирования для входа и выхода, предоставляемые Microsoft?компилятор с ++?Это была первая проблема.
Вторая проблема заключается в том, что я не смог найти никакой утилиты Addr2line для среды Windows.В основном это говорит вам имя файла, имя функции и номер строки адреса памяти.Могу ли я сделать то, что делает Addr2line?