Я реализую механизм трассировки, который выводит строку журнала при входе в функцию и при выходе (когда объект трассировки уничтожается). Мне было бы интересно также вывести номер строки, из которой выходит область, но я не уверен, как это сделать, поскольку объект уничтожается при выходе. Очевидно, что __LINE__
в деструкторе не будет работать, так как он просто выведет номер строки деструктора.
Показать объект номера строки уничтожен
Ответы (1)
Решением было бы сбросить трассировку стека, как это делается, зависит от платформы/компилятора. Для Visual Studio вы можете использовать библиотеку DbgHelp, хотя полный код для печати трассировка стека довольно длинная.
person
riv
schedule
30.05.2013
#define LOG_RETURN(x) return (std::clog << __LINE__), (x);
:) - person jrok   schedule 30.05.2013