Я реализую механизм трассировки, который выводит строку журнала при вводе функции и при выходе (когда объект трассировки разрушен). Мне было бы интересно также вывести номер строки, из которой выходит область, но не уверен, как это сделать, поскольку объект уничтожается при выходе. Очевидно, что __LINE__
в деструкторе не будет работать, так как он просто выведет номер строки деструктора.Показать номер строки объекта разрушен
1
A
ответ
0
Решение состоит в том, чтобы выгрузить трассировку стека, как это делается, зависит от платформы/компилятора. Для Visual Studio вы можете использовать библиотеку DbgHelp, хотя полный код для печати трассировки стека довольно длительный.
Смежные вопросы
- 1. Показать номер строки в DataGrid
- 2. angularjs $ log - показать номер строки
- 3. Показать номер строки в заголовке строки DataGridView
- 4. Разрушен стек стека Powershell?
- 5. Как показать номер строки в XamDataGrid?
- 6. Показать номер строки в MySQL выбрать
- 7. Как показать номер строки в LongListSelector
- 8. показать номер строки в выбранном запросе
- 9. Показать номер строки рядом с журналами Xcode
- 10. Показать номер строки в обработке исключений
- 11. UITableView показать номер строки от 0
- 12. Как показать номер строки в RichTextBox C#
- 13. Показать номер строки в сообщении об ошибке
- 14. Как получить номер строки из объекта SearchMatch?
- 15. QDrag разрушен при перетаскивании
- 16. Номер строки OrientDB
- 17. SQL высчитывает номер строки
- 18. Номер строки NSTableView
- 19. Номер строки в файле
- 20. Показать номер в тексте
- 21. показать номер автоматического теста
- 22. Tumblr: Показать номер сообщения
- 23. Клавиатура показать только номер
- 24. Git показать номер зафиксированной
- 25. Показать номер как есть
- 26. Highstock показать/скрыть номер
- 27. получить номер строки со строкой («Номер строки») из textarea?
- 28. Показать номер фракции в UILabel
- 29. MySQL смоделирован номер строки
- 30. Номер объекта Actionscript свойств
Область действия заканчивается в закрывающей фигурной скобке функции (если вы не говорите о временных состояниях, которые сохраняются на протяжении некоторого выражения). Вам действительно нужно регистрировать это? – jrok
@jrok Я предполагаю, что я хотел сказать, чтобы напечатать номер строки, который * вызвал * область действия для выхода, например, с помощью оператора return. – stgtscc
Я вижу. Может быть, это: '#define LOG_RETURN (x) return (std :: clog << __LINE__), (x);' :) – jrok