メモリの内容をASCIIか16進数で表示する。
More...
#include <xinu.h>
#include <stdio.h>
#include <debug.h>
Go to the source code of this file.
メモリの内容をASCIIか16進数で表示する。
Definition in file debug.c.
◆ hexdump()
void hexdump |
( |
void * |
buffer, |
|
|
uint32 |
length, |
|
|
bool8 |
canon |
|
) |
| |
メモリ内容をダンプする。
メモリ内容をダンプするhexdump()の宣言
- Parameters
-
[in] | buffer | ダンプしたいメモリ領域の開始アドレス |
[in] | length | メモリ領域の長さ(byte) |
[in] | canon | 16進数とASCIIを出力する場合はTRUE、16進数のみの場合はFALSEを指定する。 |
- Note
- char test[128] = "abcdefghijklmnopqrstuvwxyz";をダンプした例を以下に示す。
076b08b0 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 |abcdefghijklmnop|
076b08c0 71 72 73 74 75 76 77 78 79 7a 00 00 00 00 00 00 |qrstuvwxyz......|
076b08d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
076b08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
076b08f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
076b0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
076b0910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
076b0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
※ ASCIIを出力しない設定の場合は、右側の| |で囲まれた部分は出力されない。
Definition at line 54 of file debug.c.
References DEBUG_ASCII, DEBUG_HEX, fprintf(), hexdump_print(), stdout, and TRUE.
60 for (n = 0; n < length; n += 0x10)
66 for (m = 0; m < remain && m < 0x10; m++)
78 for (m = 0; m < 0x10 - remain; m++)
80 if ((0 != m) && (0 == m % 0x08))
91 for (m = 0; m < remain && m < 0x10; m++)
#define DEBUG_ASCII
メモリ内容の出力時にASCIIとして出力する指定
unsigned char byte
符号なし8ビット値(unsigned char)
#define DEBUG_HEX
メモリ内容の出力時に16進数として出力する指定
#define TRUE
Boolean True(1)
static void hexdump_print(byte, byte)
ByteをASCIIか16進数でSTDOUT(標準出力)に出力する。
int32 fprintf(int, char *,...)
unsigned int uint32
符号なし32ビット整数(unsigned int)
◆ hexdump_print()
static void hexdump_print |
( |
byte |
data, |
|
|
byte |
mode |
|
) |
| |
|
static |
ByteをASCIIか16進数でSTDOUT(標準出力)に出力する。
- Parameters
-
[in] | data | 出力するデータ(Byte) |
[in] | mode | ASCII(DEBUG_ASCII)か16進数(DEBUG_HEX)かの指定 |
- Note
- ASCIIの場合は、文字がスペース(0x20)から~(0x7E)までの範囲内の場合はそのまま出力し、
前述の範囲外の場合は"."に置換して出力する。
Definition at line 19 of file debug.c.
References DEBUG_ASCII, DEBUG_HEX, fprintf(), and stdout.
Referenced by hexdump().
#define DEBUG_ASCII
メモリ内容の出力時にASCIIとして出力する指定
#define DEBUG_HEX
メモリ内容の出力時に16進数として出力する指定
int data
データセグメントの開始アドレス(リンカが追加する)
int32 fprintf(int, char *,...)