トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
VisualStudio
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ (デバッグ)Debug


___

■ Code.定義.Window

常に 関数の 定義 が見れる
___

■ メモリウィンドウ

    Debug > Window > Memory
DESC メモリウィンドウは指定したアドレスのメモリの生の値を見ることができる。 アドレスに変数や配列のアドレスを指定すれば 値がどのようになっているか確認できる。 使うにはアドレスに変数名または変数に割り当てられたアドレスを入力する。
     // 左にアドレス     右にメモリの値が表示
     x0FAF9226           1.6250034e-034 -2.1937332e-008 -3.7880127e-028 -1.4140254e-027  
     0x0FAF923E          1.065e-038#DEN  9.184e-041#DEN  2.6154749e-037 -4.2036835e+037 
     0x0FAF9256          -4.2991616e+008  2.8877576e+032  1.6274864e+025  3.9494500e+030 
     0x0FAF926E          1.378e-039#DEN -1.3114509e-015  1.2948590e-037  3.3325518e+019 
     0x0FAF9286          6.384579
POINT アドレスの指定はコード内で変数をマウスで選択してからドラッグすることでも見れる。 bin editor 同様 POINT Intel CPU はリトルエンディアンなので, 複数バイトのデータの下位のバイトを メモリ内の先におく。 デバッガでメモリアドレスを見る時は逆順になっているので頭の中で変換する必要がある。
    0x1234 < -> 0x34 0x12
メモリは単なるビットの列のため、指定したアドレスの先が int 型ならば 右クリック > 4バイトの整数 といったように表示したい形式を指定する。 長い文字列を表示しようとすると255文字で切り捨てに対応できる 2. 入力可能( dump 部分を編集可能 ) 3. 変数の値は メモリアドレス の若い順番に格納される a = 10 < -> 0x 0a 00 00 00 WARNING memory address に入れたシンボル名は その[ 変数値 ]が[ アドレス ]としてメモリ内容が表示される.
      // 次のように考える
      int a = 10;
      memory adress [ a ]  < -> memory adress [ 10 ] -> 不正
      memory adress [ &a ] < -> memory adress [ 0x0012E69C ] -> [0x 0a 00 00 00 ... ]

      // this;
      // thisはあるheap上のObjectのアドレスを指すので, 
      memory address [ this ] < -> [0x xx xx xx xx ... ] < - object の内容が表示 
___

■ ウォッチウィンドウ

ウォッチウィンドウでは次のことができる。 変数の参照と変更 関数の呼び出し 擬似レジスタの指定もできる。
    // Intel CPU レジスタで戻値を記録する
    @eax
変数の値に対して任意の式を記述できる
    // 1000 で割る
    @clk/1000

    // d ( 10 進表記をする )
    @clk,d
    
    // x ( 16 進表記をする )
    @clk,x
___

■ レジスタウィンドウ

EAX : 整数の戻り値を格納する ESP : スタックポインタ EIP : インストラクションポインタ ( 次の実行アドレスが設定されている )
___

■ モジュールウィンドウ(Module)

プログラム内でロードされているバイナリモジュールをリストする。
___

■ 呼び出し規約

___

■ グローバル変数へのアクセス

POINT グローバル変数は固定アドレスをもつアドレス参照にすぎない。
___

■ クイックウォッチの使い方

DESC var, adr 値を参照 POINT DCLK > SFT + F9 : ( watch 式追加 ) 2. *, & 演算子を使用して 値を見ることが可能 3. VAR=val 変更可能, ex. i = 10; 4. 配列参照, int arr[100]; 5. 任意の式を評価. ex. data == 0 -> true | false 5. cast式評価. ex. (unsigned)i; WARNING VAR adr 変更不可 2. 現在 scope VAR しか評価されない -> symbol xxx が見つかりません POINT watch pain は active なものだけが評価 watch pain に代入文を複数配置
___

■ 関数.変数参照

DESC F12 : 定義 jump c-F12 : 宣言 jump c-s-f12 : シンボル検索
___

■ ファイルから検索のタグジャンプ

DESC c-f : cur 位置の word 検索
















NINJAIDX 15