int mdb_dumpptr(uintptr_t addr, size_t nbytes, uint_t flags, mdb_dumpptr_cb_t func, void *data); int mdb_dump64(uint64_t addr, uint64_t nbytes, uint_t flags, mdb_dump64_cb_t func, void *data);
これらの関数を使用すると、書式化された 16 進数および ASCII のデータダンプを生成して標準出力に出力できます。どらちの関数も、開始場所を指定する addr パラメータ、表示するバイト数を指定する nbytes パラメータ、フラグセット (次を参照)、表示するデータを読み取るために使用する func コールバック関数、そして、func コールバック関数の呼び出しごとに最後の引数として渡されるデータパラメータを受け入れます。これらの関数はほとんど同じですが、mdb_dumpptr は uintptr_t をアドレスパラメータとして使用し、mdb_dump64 は uint64_t を使用します。この区別は、たとえば、mdb_dump64 を mdb_pread に結びつけるときに便利です。組み込み ::dump dcmd はこれらの関数を使用してデータを表示します。
flags パラメータは、次の 1 つ以上の値のビット単位の論理和となります。
エンディアン性を調整します。このオプションは、ワードサイズが (MDB_DUMP_GROUP() で指定される) 現在のグループサイズと同じであることを想定します。このオプションは常に、整列、ヘッダー、および ASCII 表示をオフにして、出力が乱れることを防ぎます。MDB_DUMP_TRIM と MDB_DUMP_ENDIAN が一緒に設定されている場合、ダンプされるバイト数はもっとも近いワードサイズのバイトに切り捨てられます。
表示される行ごとに 16 バイト段落の数をインクリメントします。width のデフォルト値は 1 で、最大値は 16 です。
バイトグループのサイズを group に設定します。デフォルトの group サイズは 4 バイトです。group サイズは行幅を分割する 2 のべき乗にする必要があります。