Я хочу разработать трассировку с отступом для нашей большой базы кода C ++, которая будет особенно полезна для разработчиков при поиске проблем.Я хочу иметь функциональность трассировки с отступом.Например, рассмотрим следующий код: -
void FunctionA()
{
TR_ENTER("Function A");
TR_PRINT("Dignostic message Function A");
FunctionB(); // Call function B
}
void FunctionB()
{
TR_ENTER("Function B");
TR_PRINT("Dignostic message Function B");
FunctionC(); // Call function B
}
void FunctionC()
{
TR_ENTER("Function C");
TR_PRINT("Dignostic message Function C");
}
Как вы видите вышеупомянутые вызовы вложены друг в друга.Я хочу создать журнал трассировки, как показано ниже:
Function A - Start
Dignostic message Function A
Function B - Start
Dignostic message Function B
Function C - Start
Dignostic message Function C
Function C - End
Function B - End
Function A - End
TR_ENTER и TR_PRINT - это некоторые макросы, которые я использую в качестве примера.Чтобы сказать, что функция запускалась, я использовал TR_ENTER, а для печати некоторых сообщений с достоинствами я использовал TR_PRINT.
Как видите, следы вызова вложенных функций имеют отступы друг от друга.Могу я узнать, есть ли что-нибудь уже доступное, чтобы я мог помешать себе заново изобрести колесо.
Спасибо, Омки