您的位置:首页 > 编程语言

调试代码 显示rawbin

2016-09-08 19:36 274 查看
#define Ser_Printf   printf

#define macdbg_prser printf

int macdbg_dmphex(const char* buff, int len)

{

    int retval = 0; 

    int x, y, tot, lineoff;

    const char* curr;

    

    //Ser_Printf("buff %x.\r\n", buff );

Ser_Printf("\r\n" );

    lineoff = 0;

    curr = buff;

    tot = 0;

    for( x = 0; x+16 < len; ){   

         Ser_Printf("%x\t", lineoff);

         for( y = 0; y < 16; y++ ){

              macdbg_prser("%02x ", (unsigned char)*(curr + y));

         }

         macdbg_prser("  ");

         for( y = 0; y < 16; y++ ){

              char c;

              c = *(curr + y);

              if( c > 31 && c < 127 ){

                  macdbg_prser("%c", c);

              }else{

                  macdbg_prser("%c", '.');

              }

              tot++;

         }

         curr += 16;

         x += 16;

         lineoff+=16;

         macdbg_prser("\r\n");

    }

    

    //do last line

//Ser_Printf("tot %d.\r\n", tot );
//Ser_Printf("len %d.\r\n", len );

    if( tot < len ){

        curr = (buff + tot);

        macdbg_prser("%x\t", lineoff);

        for( y = 0; y < (len - tot); y++ ){

             macdbg_prser("%02x ", (unsigned char)*(curr + y));

        }

        //padding with spaces

        //Ser_Printf("(len - tot) %d.\r\n", (len - tot) );

        if( (len - tot) < 16 ){

            for( y = 0; y < (32 - ((len - tot)*2)); y++ ){

                 macdbg_prser(" ");

            }

        }

        for( y = 0; y < 16-(len - tot); y++ ){

             macdbg_prser(" ");

        }

  

        macdbg_prser("  "); 
  //Ser_Printf("(len - tot) %d.\r\n", (len - tot) );

        for( y = 0; y < (len - tot); y++ ){

            char c;

            c = *(curr + y);

            if( c >31 && c < 127 ){

                macdbg_prser("%c", c);

            }else{

                macdbg_prser("%c", '.');
 //macdbg_prser("%c", c);

            }

        }

    }

    macdbg_prser("\r\n");

    return retval;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: