打印文件名和文件行调试信息

2024-04-02 12:32
文章标签 调试信息 打印文件

本文主要是介绍打印文件名和文件行调试信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <iostream>
#include <map>
#include <tuple>
// #include "types.h"
namespace teaflow {// 从 __FILE__ 找到文件的名
constexpr int32_t basename_index(const char * const path, const int32_t index = 0, const int32_t slash_index = -1) {return path[index]? ((path[index] == '/' || path[index] == '\\')? basename_index (path, index + 1, index): basename_index (path, index + 1, slash_index)): (slash_index + 1);
}#define STRINGIZE_DETAIL(x) #x
#define STEINGIZE(x) STRINGIZE_DETAIL(x)#define __FILELINE__ \
(&((__FILE__ ":" STEINGIZE(__LINE__))[basename_index(__FILE__)]))}using namespace teaflow;
int main() {auto k = __FILELINE__;std::cout << k <<  " file:" << __FILE__ << " "<< basename_index(__FILE__) <<  std::endl;return 0;
}

输出:

main.cpp:27 file:/Users/wuyongyu/CLionProjects/teaflow_test/main.cpp 43

这篇关于打印文件名和文件行调试信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/869985

相关文章

学习记录-Qt将调试信息保存到文件

如果能将调试信息打印到文件,那软件发布到其他机器运行时,就可以记录软件运行的异常情况了。 查看手册,Qt 的QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler )函数可以安装一个自定义的消息处理函数,自带的例子如下: #include <qapplication.h>#include <stdio.h>#include <stdl

QT-Dump工具,软件奔溃自动生成本地调试信息

QT-Dump工具,软件奔溃自动生成本地调试信息 一、演示效果 二、关键代码 1.Release Vs配置 2.测试代码 代码如下(示例): InitDumpTool();QMessageBox::information(this, u8"提示", u8"触发一个崩溃", QMessageBox::Yes);// 这里触发一个崩溃QLabel *pLabel = nullpt

C/C++|如何使用GDB调试不带调试信息的可执行程序

release 和 debug 版本的区别 编译器优化 • release 版本:通常启用编译器优化(例如 -O2 或 -O3 标志),以最大化性能。编译器会尝试进行代码优化,比如内联函数、消除死代码、优化循环、减少函数调用等,从而生成运行效率更高的代码。 • debug 版本:通常禁用编译器优化(使用 -O0),以便于调试。这样可以确保生成的机器代码与源代码尽可能保持一致,使得调试器能够准确映

VS2022 - 制作自己的C#类库dll,并输出Unity识别的pdb调试信息文件

然后编写库代码,设置dll生成目录 *** 输出unity可以识别的pdb调试信息文件 *** 右键项目-属性-生成-高级-调试信息:可移植(Portable PDB) 这是因为Unity只能识别MDB和Portable PDB文件 这样设置后,把dll和pdb文件放入到Unity中同文件夹下,就可以在Unity中断点调试dll中的代码了

嵌入式开发输出调试信息的常用方法

嵌入式开发为什么需要输出调试信息? 稳严文:因为输出调试信息是嵌入式开发中一项非常重要的实践,它有助于保证软件的可靠性、稳定性和性能,也是故障排查的关键工具之一。 白话文:程序猿想知道自己敲的代码是否正确、是否按照要求运行,但是代码跑起来看不见、摸不着,那么就可以通过输出调试信息可以自由看到结果。 嵌入式开发输出调试信息主要有以下作用: 错误排查与问题定位 输出调试信息可以帮助你在代码中发现

图片添加水印及打印文件

给图片添加水印,打印文件。 java相关操作: 1. 图片操作;(参考:http://uule.iteye.com/blog/2278169) 2. 打印机操作。(参考:http://tiansoft.iteye.com/blog/1120161,http://blog.csdn.net/alex__0805/article/details/47293805) 相关代码:

其他开发-MFC关联控制台用于显示调试信息

//关联一个控制台     AllocConsole();     //取得控制台句柄     HANDLE m_hdlWrite = GetStdHandle(STD_OUTPUT_HANDLE);     //输出的字符串     CString inforCStr = _T("读取结果为:******!\n");     //输出字符串到控制台窗口里     WriteConsole

SSH如何实时查看调试信息

cat /var/log/*.log 如果日志在更新,如何实时查看 tail -f /var/log/messages 还可以使用 watch -d -n 1 cat /var/log/messages -d表示高亮不同的地方,-n表示多少秒刷新一次。 该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。 Q

adb打印内核调试信息dmsg和kmsg说明

Android的log信息分为内核空间和用户空间中LOG,查看用户空间(也就是app等上层的log)的log直接用logcat就可以了,如果想过滤一些信息就用adb shell “logcat | grep -E ‘log_xxx|log_aaa’”命令,这样log只会显示含有log_aaa和log_xxx的log信息了。上层的log信息大家基本都会查看,我们这里就只说用adb查看内核的log信息

苹果手机微信如何直接打印文件

在快节奏的工作和生活中,打印文件的需求无处不在。但你是否曾经遇到过这样的困扰:打印店价格高昂,让你望而却步?今天,我要给大家介绍一款神奇的微信小程序——琢贝云打印,让你的苹果手机微信直接变身移动打印神器! 一、为何选择琢贝云打印? 琢贝云打印,不仅支持电脑网页端、手机微信小程序和QQ小程序线上下单,还具备多种打印规格选择,包括A3、A4、A5、B4、B5等。更值得一提的是,打印价格非常