
読み込み中にアクセス違反が発生しました、と出ます。これを回避することはできますか?
C++でプログラミングをしています。
現在、ポインタ(p)に入れたアドレスをずらしていって、メモリの任意の位置の値を表示する、というプログラムを制作しています。
具体的に言うと、上記のプログラムではない別のプログラムを実行し、そのプログラムで宣言した変数のアドレスを表示させます。そしてそのプログラムが動いている最中に、上記のプログラムを起動させ、ポインタpにその変数のアドレスを代入して、表示させようとしました。
しかし、止まってしまいます。デバッグしてみると、「test.exe の 0x00024ad5 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x0014fde8 を読み込み中にアクセス違反が発生しました」と出ます。
なんとかこれを回避して、ポインタに代入したアドレスを表示さすことはできませんか?
宜しくお願いします。
ちなみに、自分がかなり妙なことをしているのは自覚しているつもりです。
No.3ベストアンサー
- 回答日時:
#2です。
もう少し突っ込んで話をすると、今のOSはたいてい仮想アドレス方式で各プロセスのアドレス空間はそのプロセス内でのみ有効なものです。
つまり、プロセスAの0番地とプロセスBの0番地は値は同じでも全く別の箇所を指しているということです。
ですが、プログラムの中には複数プロセスで協調動作させる等の理由により質問のような他プロセスが扱うメモリの中身を参照・変更したい場合があります。
それを実現するのが共有メモリ等の機構である訳です。
No.1
- 回答日時:
> 具体的に言うと、上記のプログラムではない別のプログラムを実行し、そのプログラムで宣言した変数のアドレスを表示させます。
そしてそのプログラムが動いている最中に、上記のプログラムを起動させ、ポインタpにその変数のアドレスを代入して、表示させようとしました。一般的にそういうアクセスはOSが禁じているので出来ません。OSがエラーを出しているのでC/C++のプログラミングの問題ではありません。
自作OSとかでそういう保護機能がない場合は可能でしょうけど。欲しければ自分で作ってください。
共有メモリ等の機能を使えば、その範囲でなら可能となりますが、OSの記載が無いのでそれ以上はなんとも言えません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- HTML・CSS ホームページにブログ記事をサムネイル付きで掲載する方法 2 2022/11/25 14:55
- システム CPUの問題について 2 2022/07/09 12:04
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
このQ&Aを見た人はこんなQ&Aも見ています
-
アプリケーション終了時例外エラー(アクセス違反)の調査方法について
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
静的でないメンバ関数の呼び出しが正しくありません
C言語・C++・C#
-
-
4
C#、C++間のDLLの呼び出しについて
C言語・C++・C#
-
5
クリティカルエラー Expression: (Buffer too small", 0)"
C言語・C++・C#
-
6
デバッグ中のエラーのことで教えてください。
C言語・C++・C#
-
7
エディットボックスの入力制限について
C言語・C++・C#
-
8
char*を初期化したいのですが
C言語・C++・C#
-
9
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
10
画面を強制的に再描画させる方法
C言語・C++・C#
-
11
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
12
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
13
エディットボックスのフォントを変えたい
C言語・C++・C#
-
14
ダイアログの上のテキストボックスの、初期値を設定する方法が分かりません・・・・
C言語・C++・C#
-
15
deleteで開放するとエラーになる原因がわからない
C言語・C++・C#
-
16
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
17
リソースの編集ができません。リソースビューが開かない
C言語・C++・C#
-
18
ハンドルされていない例外が発生しました
C言語・C++・C#
-
19
配列を使わずに、変数名を動的にループで回したい
C言語・C++・C#
-
20
既定のコンストラクタがありません。というエラーについて
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
PICマイコンのコピー(クローン...
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
Vba UserFormを前面に出す方法...
-
OS入ってる機器のソフト・アプ...
-
Excelに埋め込んだVBAのプログ...
-
銃を発砲するならともかく、日...
-
Visual C++で走行時に動かなく...
-
gifアニメ―ションを動画(mp4で...
-
VBAにてメール作成した際、一部...
-
c言語 三角形
-
読み込み中にアクセス違反が発...
-
VBAでユーザーフォームが自動的...
-
VB.NETでのプログラミングについて
-
N88ベーシックの内容をVBに持...
-
麻雀のプログラムについて
-
グラフをC#のASP.net MVCで表示...
-
system関数がうまくいかない
-
Notepad++の関数リスト表示でC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
OS入ってる機器のソフト・アプ...
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
Excelで4096点以上のFFTの方法
-
XnViewにwebpを「いつも開く」...
-
ドロップダウンリストの文字を...
-
PICマイコンのコピー(クローン...
-
「Outlookが他のプログラムによ...
-
Vba UserFormを前面に出す方法...
-
VBAでユーザーフォームが自動的...
-
未使用の変数を一括検索する方法
-
UWSCで指定のフォルダを開きたい。
-
Excelに埋め込んだVBAのプログ...
-
自動クエリとはどういうもので...
-
モジュール、アプリケーション...
-
画像を読み込むのと取り込むの...
-
main関数を先頭に置くデメリット
-
エクセルVBA 検索時に除外を設...
-
WORD印刷できるがEXCE...
おすすめ情報