アプリケーションで使用している仮想メモリに関する情報を取得する方法はありますか?私の知る限り、このようなコード・セグメント、データセグメントとヒープなどのプログラムが使用するメモリのいくつかのセグメントが、ある意識してるよう私のプログラムが使用している仮想メモリに関する情報?
、スタックなど
私は上の情報を得ることができる方法はありますこれらのセグメントの開始と終了のアドレス?
いくつかのコンテキストを与えるために私のプログラム(グラフの一種)の仮想メモリの視覚的表現を含む画像を描画しようとしています。だから私は異なるセグメントの開始アドレスと終了アドレスが必要であり、可能であればアドレスがメモリかどうかを判断する方法は現在使用されています。
私はWindowsのbtwでC++を使用しています。
私は教授がSIGSEGVをキャッチして、4kBs程度の倍数でアドレスにアクセスするプログラムを書いていることを覚えています。これは、あなたが読めるアドレスだけの情報を与えるだけで、Windows上でどのように動作するのか分かりません。 –
あなたはあなたが探しているものをより具体的にする必要があります。 32ビットウィンドウの場合は、2^32バイトの仮想メモリを使用しています。あなたが64ビットのウィンドウ上にいる場合は、2^64バイトのVIRTUALメモリー(さらには論理メモリー)を使用しています。あなたはワーキングセットのサイズについて話していますか?いくつの論理ページがマップされていますか? – user3344003
これを判断する言語レベルには何もありません。 OS固有のライブラリを使用して、OSの状態とプロセスの状態を照会する必要があります。 –