【実行形式】
1.は16進コード及び文字コードでダンプします。
2.はデータフォーマットファイルを元にしてダンプします。
3.はデータフォーマットファイルを元にして二つのファイルの内容を比較して異なる情報を出力します。
【パラメータ】
-AJjEUCDKL | … |
|
-bn | … |
1行に編集するバイト数を指定します。16進データと文字の表示の場合、これは 1以上 32以下となっています。 文字のみの表示の場合は、1以上 256以下となっています。省略した場合には、16となります。 ただし、これはマップ表示形式(-M)でないフォーマットダンプの場合には無効になります。 |
-dn | … | データブロックサイズを指定します。この最大値は 4096となっています。省略すると、256となります。 |
-hn | … | ヘッダーブロックサイズを指定します。この最大値は 4096となっています。省略すると 0となります。 |
-nn1[,n2] | … |
ダンプ開始ブロック番号n1と終了ブロック番号n2を指定します。これらの番号は 0から始まります。 終了ブロック番号を省略した場合には、最後のブロックまでとなります。 ブロック番号の指定は、アドレスの表示が16進の場合には16進で指定し、10進の場合には10進で指定します。 |
-pn | … |
ページ行数をnで指定します。 nが0の場合は、先頭のみ相対バイト位置情報を表示します。 nがbの場合は、データブロック毎に相対バイト位置情報を表示します。 このパラメータを省略した場合には、24となります。 |
-tstr | … |
データブロックの終わりを示すコードを8バイト以内のstrで指定します。 データブロック長以内で、そのコードが現われた場合には、ブロックの終了とみなします。 |
-xhex | … |
データブロックの終わりを示す16進コードを16文字以内のhexで指定します。 データブロック長以内で、そのコードが現われた場合には、ブロックの終了とみなします。 例えばファイルがテキストデータの場合、ブロックデータを各行とするときは、hexは改行コードである'0a'とします。 |
-BDmMv | … |
|
-ln | … | 1行のカラム数をnで指定します。 ただし、これは80以上、256以下である必要があります。 |
-wn1,n2 | … | n1はデータ名の表示長の最大値、n2はコメントの表示長の最大値です。 これを省略すると、それぞれ 32, 30となります。 |
-f/-F formatfile | … | データのフォーマットファイルをformatfileで指定します。 |
idname | … | ブロックを識別する為のデータ項目名を指定します。 |
filename | … | ダンプするファイル名を指定します。 |
filename1 | … | 被比較ファイル名を指定します。 |
filename2 | … | 比較ファイル名(変更後のファイル名)を指定します。 |
【補足説明】
16進データと文字で表示する場合は、次のようになります。
0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0000 0000 3031 3233 3435 3637 3839 3061 6263 6465 | 01234567890abcde | 0010 6667 6869 6a6b 6c6d 6e6f 7071 7273 7475 | fghijklmnopqrstu | 0020 7677 7879 7ab1 b2b3 b4b5 8341 8343 8345 | vwxyzアイウエオアイウ | 0030 8347 8349 0d0a | エオ.. |ここで、"0000 0000"の先頭の方がブロック番号を表し、後の方がブロック内相対アドレスを表します。
文字のみで表示する場合には、次のようになります。(ただし-b60の場合)
0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789AB 0000 0000 | 01234567890abcdefghijklmnopqrstuvwxyzアイウエオアイウエオ.. |
0 1 2 3 4 5 6 7 8 9 A B C D E F [00003E8] size: 0017 … [00003E8]は次の行のブロックの先頭アドレスを示します。 sizeはブロックサイズ(16進/10進)を示します。 0000 0000: 00 00000008 11 131343 1.26117e-44 2.78711415168615 0001 0000: 0f 9C000000 0 50401792 3.58732e-43 1.43757296928682 0002 0000: 00 00000001 172 18546688 9.18425e-41 4.37467321937302つまり、該当のデータ領域の先頭から表示されます。
ファイル比較の場合のマップ表示形式は、次のようになります。
0 1 2 3 4 5 6 7 8 9 A B C D E F UPDATED DATA … 更新データ(IDが一致するもの同士) [00003E8] size: 001A … [00003E8]は先頭ブロックのアドレスを示します。 0000 0000: 6 4 1.0762e-40 1.0762e-40 … 元ファイルのデータ 0010: 7.87237331811525e-289 --------- 0000 0000: 6 0 4.59177e-40 3.44383e-40 … 変更ファイルのデータ 0010: 9.4039548065783e-38 ========= DELETED DATA … 削除データ(元ファイルから削除されたデータ) 0002 0000: f 0 5.48861e-41 7.31814e-41 9.14768e-41 7.14662e-44 0010: 5.55177758855001e-310 INSERTED DATA … 追加データ 0002 0000: \ 24661 4.0413e18 6.11263e13 1.53745e19 1.0058e18 0010: 3.52828938773113e170
【実行例】
fdmp -AD file | … | ASCIIコードのみで、アドレスを10進で表示。 |
fdmp -h100 -d200 file | … | ヘッダーサイズ=100 データサイズ=200で表示。 |
fdmp -n1,a0 file | … | x'01'ブロックからx'a0'ブロックまでを表示。 |
fdmp -D -n10,20 file | … | 10ブロックから20ブロックまで表示。 |
fdmp -p24 file | … | ページ行数を24として表示。 |
fdmp -C -b60 file | … | 文字のみで、1行60バイトで表示。 |
fdmp -x0a file | … | データサイズは256であるが、途中にx'0a'が現れた場合、データブロックを区切ります。 |
fdmp -vM -f format.txt file | … | フォーマットファイルformat.txtを元にして、データをマップ表示形式で表示します。 また、数値データの場合、後のバイトを上位バイトとみなします。 (インテルまたはこの互換メーカーのCPUの場合がこれになります。) |
fdmp -vM -F format.txt itemID file1 file2 | … | フォーマットファイルformat.txtを元にして、file1とfile2を比較します。 |