两个调试打印函数

(一) 应用层调试打印

#if 1

#define isprint(c)       ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'))

static inline void br_dump_raw (const unsigned char *buf, unsigned len)

{

     int i;

     char lbuf [80];

     int lbix = 0;

 

/*

          1         2         3         4         5         6         7

01234567890123456789012345678901234567890123456789012345678901234567890123

280: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................. 

*/

 

     memset(lbuf, ' ', 79);

     lbuf [79] = 0;

 

     for (i = 0; i < len; i++) {

       if ((i & 15) == 0) {

         if (lbix) {

                  lbuf[53]=' ';

              lbuf[54]=' ';

              lbuf[55]=' ';

              lbuf[73]='\0';

              printf ("%s\n", lbuf);

         }

         memset(lbuf, ' ', 79);

         lbuf [79] = 0;

         sprintf (lbuf, "%03x:", i);

         lbix = 4;

       } else if ((i & 7) == 0)

              lbuf [lbix++] = ' ';

 

       if(isprint(buf[i])) {

         lbuf[56+(i%16)]=buf[i];

       } else {

         lbuf[56+(i%16)]='.';

       }

 

       sprintf (&lbuf [lbix], " %02x", buf [i]);

       lbix += 3;

       lbuf[lbix]=' ';

 

     }

     lbuf[53]=' ';

     lbuf[54]=' ';

     lbuf[55]=' ';

     lbuf[73]='\0';

     printf ("%s\n", lbuf);

}

#endif

 

(二) 内核调试打印

print_hex_dump(KERN_EMERG, "ROOT_FS:", DUMP_PREFIX_OFFSET, 16, 1,
buf, len, 1);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值