特定アドレス格納値の時系列状況推移を表示
基本的な操作の流れ
●アドレスのインポート前の設定
リスト表示対象となるアドレスを、以下のソースからのインポートで設定します。 インポート件数の上限は4096件です。インポートするアドレスの範囲を指定して、 インポート対象アドレスを絞り込むことも可能です。当機能のダイアログを表示する 際には、その時点でのダンプ表示ウィンドウ上の選択範囲を取得して、インポート 対象アドレスの範囲に指定します。
・ダンプ表示ウィンドウ
・範囲指定検索結果
・64Bitモード範囲指定検索結果
・テキスト形式のアドレスリストファイル
・クリップボードに格納されたアドレス文字列あるいはアドレス範囲文字列(例:"401000>402000")
・設定済みの栞一覧
上記の内、アドレスリストファイル以外からアドレスのインポートを行う前には、 対象アドレスに格納された数値の表示サイズをByte,Word,DWord,QWord,Float,Double, Bit,16進数byte,16進数word,16進数dword,16進数qwordで指定します。インポート時に指定された数値表示サイズは後から変更可能です。 さらに、必要に応じて符号の有無も指定します。符号の有無はインポート及び スナップショット作成ごとに変更できます。
ダンプ表示ウィンドウからアドレスをインポートする場合は、インポートする アドレスの範囲の開始アドレスから、数値表示サイズごとにアドレスを取得します。 ただし、[境界ベース]チェックボックスのチェックを外すと、数値表示サイズに関わらず 1バイトごとにアドレスを取得します。開始アドレスをずらして追加インポートを行う という方法もあります。 もし[境界ベース]のチェックがあり、かつインポートするアドレスの範囲サイズが 数値表示サイズよりも小さい場合は、自動的に範囲終端のアドレスを修正し、 インポートするアドレスの範囲サイズを数値表示サイズにまで拡大します。
クリップボードからアドレス範囲を指定してインポートを行う際には、該当アドレスが範囲内でも、同アドレス以降の指定された数値サイズ分のデータが、範囲終端アドレスまでに収まらないならばインポートしません。
●インポート
インポートを実行します。必要に応じて追加インポートも可能です。 各範囲指定検索結果からのインポートでは、検索ダイアログ上の検索結果リストから アドレスを取得します。そのため、検索該当件数に関わらず、検索結果リストに 表示されているアドレスのみ取得可能なことに注意して下さい。 検索結果の全アドレスが、指定したインポートするアドレスの範囲にない場合、 インポート処理自体はエラーではないので空のスナップショットが作成されます。 また、各範囲指定検索ダイアログのウィンドウタイトルが変更されている場合は、 異常が発生したとみなしてインポートを行いません。
インポートで使用するアドレスリストファイルでは、各アドレスの情報は以下の形式で 格納して下さい。アドレス、数値サイズ、コメント、数値文字列を「,」で区切り、 必要に応じて改行を追加します。改行の数が極端に多い場合はエラーと判断します。 数値サイズは必ず1,2,4,8,F,D,B,b,w,d,qのいずれかで設定して下さい。 アドレスリストファイルに同じアドレスが複数含まれている場合は、リスト上での 追加とソートの関係上、アドレスリストファイルで後の方にあるものがリスト上では 上位に表示されます。
00402148,4,DWord,700,
00402200,8,QWord,2425625730089660,
●スナップショット作成
アドレスのインポート後は、任意のタイミングでスナップショットを作成します。 スナップショットは16回まで作成できるようにしました。 スナップショット作成時には、インポート済みアドレスの格納値を1回前の スナップショット作成時かインポート時の格納値と比較し、数値が変動した アドレスにはリスト左部にチェックを入れます。 あらかじめ、数値比較の方法として、新規変動箇所か変動箇所を絞り込むかを 指定しておくこともできます。絞り込みの場合は、すでにチェックが入っている アドレスからさらに数値変動があったアドレスのみチェックを入れます。
スナップショットを複数回作成後、リスト上部にある「SS2」といった文字部分 (カラム)をクリックして任意のスナップショットを選択することで、 そのスナップショット作成時での数値変動の有無等を文字色で確認可能です。
選択されたスナップショットでは、各アドレスのスナップショット作成時の格納値と、 1回前のスナップショット作成時かインポート時の格納値とを比較し、 さらにコメントやチェックの有無から、リスト上の各アドレスや数値の文字色と 背景色を以下のように色分けして表示します。
・コメントあり→文字/背景を青色
・数値変動あり→文字/背景を赤色
・コメントと数値変動あり→文字を赤色、背景を紫色
・チェックあり→背景を緑色(コメント/数値変動条件に優先する背景色)
・コメントと数値変動とチェックあり→文字を赤色、背景を肌色
スナップショット作成後に、任意のカラムを左右の横方向にドラッグすることで、 アドレスや数値サイズを含む全てのカラムの順番を入れ替えることが可能です。 ただし、変更後のカラムの順番は見た目だけの変化であり、数値比較等は元の順番の カラムをベースに行います。スナップショットを16近くまで作成した際には、左端にある アドレスのカラムをリストの中央あたりまで移動させておくと、リスト上でのアドレスと 数値の視認性が高まります。
●スナップショット作成後のリスト操作
リスト上に作成したスナップショットから各アドレス格納値の状況推移を分析し、 リスト上にある空ではない列上での右クリックで表示されるポップアップメニューから、 不要な列の削除等、リストへの各種操作を行います。 ポップアップメニューからの各列に対する操作は、チェックあるいは選択という 単位で行えるようにしています。
リスト上で複数の列を選択する場合は、CtrlキーまたはShiftキーを押しながら 任意の列をクリックします。
リスト上にある任意の列をダブルクリックすることで、その列のチェック状態を 反転させます。
[コメント追加/変更]ボタンで、フォーカスがある選択列にコメントを追加します。 コメントの文字数上限は半角32文字です。0文字入力にすれば既存のコメントを削除 することになります。
必要に応じて、[数値サイズ変更]ボタンで、選択列(複数可)の数値サイズを修正します。
必要に応じて、ポップアップメニューから任意のスナップショットをテキスト形式で エクスポート、または改造コードとしてクリップボードにコピーします。 エクスポートされたアドレスリストファイルは、アドレスのインポートに 再利用可能です。なお、エクスポートでは、出力する各アドレスの格納値は 選択されているカラムのスナップショットの内容で行うことに注意して下さい。
●アドレスの変更
すでにフォーカスがある選択列を再度クリックで選択することで、その選択列の アドレスがテキスト編集状態になります。ここで新しいアドレスを入力して、 その選択列のアドレスを変更することが可能です(右クリックから貼り付けも可)。 アドレスの表示方式が相対アドレスになっている場合は、「-80」や「+40」等、 基準アドレスからの相対値を符号付き16進数で入力して下さい。変更後のアドレスが アプリケーション有効アドレス範囲外の場合はアドレス変更をキャンセルします。 このアドレスの変更を行うことで意図的にアドレスのソート順を変更可能なため、 このアドレスの変更時には再ソートを行いません。
また、リストの全アドレスを指定値だけずらすこともできます。この場合は 当機能ダイアログ右上部にある[全アドレスをスライド]グループボックス内で、スライドさせる方向(+か-)とスライドさせる幅を指定し、[スライド実行] ボタンを押します。選択列のみスライドさせるオプションもあります。アドレスのスライドは、意図的なソート順変更にも使用可能なため、スライド後に再ソートは行いません。
●その他
チェックボックス[Top]にチェックを入れると、当機能のダイアログを最前面表示 に切り替えます。チェックを外すと最前面表示は解除されます。 また、チェックボックス[列幅調整]にチェックを入れると、インポート実行、 スナップショット作成、コメント追加、相対アドレス-絶対アドレス表示切替時に、 リストの各カラムに属する項目の最大字数で項目の列幅を調整します。この際、 カラムに属する全ての項目に文字が入力されていない場合は、そのカラムは極端に 横幅が短縮されます。 この列幅自動調整のON/OFFはポップアップメニューから行うことも可能です。
Windowsの仕様により、リスト上で表示するアドレスの件数に比例して、 複数アドレスの一括選択等、リスト操作に伴うリスト描画処理に時間を要する ようになります。
●終了時の処理
当機能のダイアログを閉じると、その時点でのダイアログの位置とサイズ及び、 最前面表示と列幅自動調整の設定をUsaMimi.iniに記録し、これらの記録内容を 次回当機能使用開始時に自動で反映させます。 親ウィンドウであるメインフレームやダンプ表示ウィンドウごと閉じた場合は、 各種設定の記録は行いません。
Copyright © 2024
Digital Travesia