QT:打印当前文件名,行号和函数名称

nuoqi / 2023-08-16 / 原文

定义:

#include <QDebug>
#define myDebug()    qDebug() << tr("文件名: ") <<  __FILE__ << tr("行号: ")<<  __LINE__ << tr("函数名: ") <<  __FUNCTION__;

在函数中执行myDebug()即可:

void MainWindow::doActionNew_slot()
{
    ui->statusBar->showMessage(tr("新建文件"));
    myDebug();
}

执行结果:

"文件名: " ..\mainwindow.cpp "行号: " 39 "函数名: " doActionNew_slot 

总结:在C语言中 __FILE__ __LINE__ __FUNCTION__ 是编译器内置宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。
__FILE__:代表源当前源文件路径及文件名;
__LINE__:代表该行代码的所在行号
__FUNCTION__:代表当前函数的函数名