Image demonstrating the memory window while debugging ビジュアルスタジオのメモリウィンドウを使用する場合、そのプロセスの仮想アドレスまたはRAMの物理アドレスが表示されますか?Visual Studioはデバッグ中に仮想アドレスまたは物理アドレスを表示しますか?
答えて
ユーザレベルコード常にと表示されます。仮想のアドレスです。どのような物理アドレス(ある場合)を知る方法はありませんは、現在これらのアドレスの1つに対応しています。 「バーチャル」はそれが住む唯一の世界であり、それが今まで知っている唯一の世界です。プログラムの意図と目的のために、 "仮想は現実です。"明確にするために
:(MS-DOSなどを除いて...)すべてオペレーティング・システム仮想メモリ空間で実行ユーザプログラム。各プログラムには、「位置$12345678
に含まれるもの」という独自の認識があり、各プログラムの認識は、、となります。各プログラムは異なる番号を持つことができ、それ自体の喜びで変更することができます。
それらのどれが実際に知っているので、彼らはこれを行うことができます:
- 、物理メモリで、 "その '場所
$12345678
'" は、実際に存在します。 物理アドレス$12345678
である何(それがない...とかなり-おそらくそれはない!場合) - 。
オペレーティング・システムは、物理RAMの組み合わせ(必要な場合)ページファイル及び/又はスワップ・ファイル・スペースを使用して、各プロセスの仮想メモリを維持します。プロセスによって積極的に使用されている情報は、それが不明な物理的なRAM上の場所で「必要に応じて」利用できるようになり、ableによって認識されます。最近使用されていない情報は最終的には物理RAMから "盗まれ"、再び参照されるまで外部ストレージに移動され、 "ページフォルト"と呼ばれるものがトリガされます。
デバッガによってあなたに与えられ、メモリビューは、によって知覚されるメモリの図であり、それはプログラムがデバッグされているために正しいです:仮想アドレスを、プロセスの仮想メモリに。
プロセスの仮想アドレス空間に最大限の制限はありますか? Linux上でtopコマンドを使うときと同じように、プロセスの物理メモリと仮想メモリを表示します。 (これは変わり続ける)。プロセスの仮想メモリの変更方法 –
アプリケーションプログラムは、特定のサイズの(仮想)メモリ領域が利用可能であると認識します。特定の場所にアクセスしようとするとページ違反が発生するかどうかは検出できません。 OSからこの情報を要求するシステムコールを行うだけで、その(仮想)メモリ割り当てのサイズを事前に決定できます。 –
'top'コマンドから常に変化する値を見る理由は、OSの仮想メモリサブシステムの動作を見ることができるからです。現在の物理RAMのフットプリントとそれぞれのプロセスで使用されているスワップ/ページスペースの両方を、どのプロセスのサポートに費やしているかを確認することができます。これは、プロセスがどれくらいのRAMを持っているか(いわゆる "ワーキングセットサイズ")、実際にどれくらいのRAMが得られるかを見ることができます。待っている時間を見ることができます。プロセスは、物理RAMリソースと競合します。物理的な状況は常に1マイクロ秒ごとに変化します。 –
- 1. 仮想アドレスを物理アドレスに変換
- 2. 関数ポインタ:物理アドレスまたは仮想アドレス
- 3. 仮想アドレスを物理アドレスに戻してマップします
- 4. MACアドレスがLinux上の物理アドレスか仮想アドレスかを判断します
- 5. 物理アドレスまたは仮想アドレスを使用したメモリ統合?
- 6. GDB CallStack仮想または物理アドレスを指定しますか?
- 7. 仮想アドレスから物理アドレスへの配列のマッピング
- 8. Linuxのsk_buffでは、skb-> dataは物理アドレスか仮想アドレスですか?
- 9. CPUキャッシュエントリに物理アドレスまたは仮想アドレスが含まれていますか?
- 10. キャッシュメモリを考慮した仮想アドレスから物理アドレスへの変換
- 11. ページ分割 - 仮想アドレス、物理アドレス、マッピング - 考慮事項
- 12. は、仮想アドレス
- 13. Genymotion仮想デバイスはVisual Studioのインストール後にIPアドレスを取得しません。
- 14. 仮想アドレスと仮想アドレス空間の理解
- 15. 仮想アドレスと物理アドレスの関係についての私の理解は正しいですか?
- 16. MACアドレスなどの仮想マシンの仮想マシンから物理ホスト情報を取得します。
- 17. マシンに48ビットの仮想アドレスと32ビットの物理アドレスがあるとします。
- 18. 仮想アドレスはプロセス固有ですか?
- 19. Linuxの物理アドレスを仮想アドレスに変換し、その内容を読み取ってください。
- 20. 仮想メモリ、ページサイズ、最大仮想アドレス
- 21. Visual Studioはデバッグ中にSystem.Doubleをどのように表示しますか?
- 22. DWORDにリモート仮想アドレスを格納していますか?
- 23. 自動仮想アドレスをメモリアドレスに変換しますか?
- 24. Visual Studio、Webサイトのアドレスを更新中
- 25. x86の仮想アドレス長
- 26. リンカスクリプトのロードと仮想アドレス
- 27. カーネル仮想アドレス変換
- 28. Android仮想アドレスの検索方法は?
- 29. Tomcat仮想ホストにIPアドレスでアクセスしますか?
- 30. 仮想呼び出しは、純粋仮想メンバーのアドレスを使用します。それは合法ですか?
私は質問内のリンクで画像を共有しました。あなたはそれについての見解を持って、ちょっと精巧にできますか? –