hexdump记录,方便调试用

2023-11-14

 #define HEXDUMP_COLS 16


void hexdump(void *mem, unsigned int len)
{
        unsigned int i, j;

        for(i = 0; i < len + ((len % HEXDUMP_COLS) ? (HEXDUMP_COLS - len % HEXDUMP_COLS) : 0); i++)
        {
                /* print offset */
                if(i % HEXDUMP_COLS == 0)
                {
                        printf("0x%04x: ", i);
                }

                /* print hex data */
                if(i < len)
                {
                        printf("%02x ", 0xFF & ((char*)mem)[i]);
                }
                else /* end of block, just aligning for ASCII dump */
                {
                        printf("   ");
                }

                /* print ASCII dump */
                if(i % HEXDUMP_COLS == (HEXDUMP_COLS - 1))
                {
                        for(j = i - (HEXDUMP_COLS - 1); j <= i; j++)
                        {
                                if(j >= len) /* end of block, not really printing */
                                {
                                        putchar(' ');
                                }
                                else if(isprint((((char*)mem)[j] & 0x7F))) /* printable char */
                                {
                                        putchar(0xFF & ((char*)mem)[j]);
                                }
                                else /* other char */
                                {
                                        putchar('.');
                                }
                        }
                        putchar('\n');
                }
        }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hexdump记录,方便调试用 的相关文章

  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(十五)obj模型加载

    Vries的原教程里 对于模型载入 使用的是一种非常流行的模型加载库Assimp 可以方便的加载obj fbx 3ds等常见的模型格式文件 在visual studio2015里 我照原教程进行了Assimp的配置 程序成功运行 在Qt中
  • 整蛊小程序(关机程序)

    关机小程序 简介 启动程序 执行关机 输入 我是猪 则关机停止 否则一直提醒 直到时间结束 关机启动 关闭窗口没有作用 先上代码 include
  • openGauss数据库基本操作(超详细)

    openGauss数据库常用操作命令 超详细 1 以操作系统用户omm登录数据库主节点 su omm 1 1 启动服务 分布式openGauss gs om t start 启动服务 gs om t restart 重启服务 集中式open
  • 【AI实时变声器,声音甜甜的小姐姐背后竟是抠脚大汉】

    前言 这是一款基于AI算法的实时变声器 如果你不懂AI也没事 直接使用我提供的一键安装包 链接 https pan baidu com s 1f3X6JdBVOgeTNPf0B3CRKg 提取码 k5v2 变声器安装使用 有两款变声器 都是
  • Android BatteryStats服务功耗统计流程详解

    2023 06 17 17 27 简介 BatteryStatsService和BatterStatsImpl是系统中用于估算电流消耗的关键对象 能够估算并存储软件功耗和硬件功耗 其中主要流程分为事件回调时记录耗电信息 触发读取时计算并统计
  • 使用pysnmp报错lambda错误

    pip install pyasn1 0 4 8 pysnmp 4 4 12 python Takes exactly 3 arguments 4 given Stack Overflow
  • Oracle sql查询-查询出某字段小数点大于4位的数据

    select d sout no t tax price t tax money t sout num round t sout num t tax price 2 as mo from t srp store out bhdtl t le
  • NVIDIA Jetson AGX Xavier 安装及使用jtop

    NVIDIA Jetson AGX Xavier 安装及使用jtop 一 前言 在使用Jetson系列设备时 为了实时查看CPU GPU 内存等硬件设备使用情况 同时方便开启风扇以及更改风扇的转数 我们需要可以安装一款名为jtop的软件 二
  • 集合List、Set、Map(无废话版)

    如果无产阶级不能发出自己的声音 他们就会被社会遗忘 一 结构特点 List Set是存储单列的数据集合 都继承于Collection接口 Map是存储键值对这样的双列集合的数据 是个独立的接口 List中存储的数据是有序的 可以是重复的 M
  • 关于STM32中RTC的校准方法

    转载 原贴地 http www amobbs com forum php mod viewthread tid 3803285 最近看了一些关于RTC校准的帖子 发现很多人存在疑惑 正好最近我也在STM32中实现了RTC校准 发些心得 这些
  • 前端常见小公司面试题

    js 昨天刚一个上海的公司给我打电话面试 问了我一堆基础的东西 例如 position 数组 es6语法 响应式布局 div盒子 js jquery bootstrap等等让我讲一讲这些怎么理解的 absolute 将对象从文档流中拖出 使
  • pip使用清华源(tsinghua)秒速安装TensorFlow 2.1.0 GPU版

    环境 Ubuntu 16 04 python3 x 秒速安装tensorflow GPU版本 比如我们安装1 13 1 gpu版 pip install tensorflow gpu 1 13 1 i https pypi tuna tsi
  • (Python)计算斐波那契数列中小于n的所有值

    斐波那契数列 类似于1 1 2 3 5 8 13 持续下去 在数学上 斐波那契数列以如下被以递推的方法定义 F 0 0 F 1 1 F n F n 1 F n 2 n 2 n N def fib n 计算斐波那契数列中小于n的所有值 a b
  • 独孤九剑第八式-DBSCAN聚类模型(密度聚类模型)

    文章适合于所有的相关人士进行学习 各位看官看完了之后不要立刻转身呀 期待三连关注小小博主加收藏 小小博主回关快 会给你意想不到的惊喜呀 各位老板动动小手给小弟点赞收藏一下 多多支持是我更新得动力 文章目录 前言 DBSCAN密度聚类算法思想
  • openlayers3_API简说

    openlayers3 API简说 API文档 https openlayers org en v3 20 1 apidoc API 变更政策 OpenLayers 3 x API 包括 类 类方法和属性的名称 静态函数和常量的名称 函数参
  • 高手需要具备的思维模型

    01 思维模型 决定了你的人生状态 电影 教父 中 有一句经典台词 花半秒钟看透本质的人 和花一辈子都看不清的人 注定拥有截然不同的命运 思维模型 决定了你的人生状态 2014年 张一鸣观察到移动互联网时代面临的问题 信息爆炸式增长的同时

随机推荐