【发布时间】:2010-10-10 11:18:26
【问题描述】:
假设您的 C++ 编译器支持它们,是否有任何特殊原因不使用 __FILE__、__LINE__ 和 __FUNCTION__ 进行日志记录和调试?
我主要关心的是向用户提供误导性数据——例如,报告错误的行号或函数作为优化的结果——或者因此导致性能下降。
基本上,我可以相信__FILE__、__LINE__ 和__FUNCTION__ 能够始终做正确的事吗?
【问题讨论】:
-
LINE 应该做正确的事。我已广泛使用它及其同类群组,包括 PRETTY_FUNCTION。 ...但是...好吧,我现在正在查看 LINE 所在的代码。可能是因为它位于 try/catch 异常处理的 catch 块中。
标签: c++ debugging logging c-preprocessor