
読み込み中にアクセス違反が発生しました、と出ます。これを回避することはできますか?
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++・C#
-
5
エディットボックスの入力制限について
C言語・C++・C#
-
6
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
7
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
8
デバッグ中のエラーのことで教えてください。
C言語・C++・C#
-
9
既定のコンストラクタがありません。というエラーについて
C言語・C++・C#
-
10
クリティカルエラー Expression: (Buffer too small", 0)"
C言語・C++・C#
-
11
画面を強制的に再描画させる方法
C言語・C++・C#
-
12
エディットボックスのフォントを変えたい
C言語・C++・C#
-
13
char*を初期化したいのですが
C言語・C++・C#
-
14
deleteで開放するとエラーになる原因がわからない
C言語・C++・C#
-
15
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
16
C#、C++間のDLLの呼び出しについて
C言語・C++・C#
-
17
VC++スレッドの正しい終了のさせかた
C言語・C++・C#
-
18
外部依存関係について
C言語・C++・C#
-
19
リソースの編集ができません。リソースビューが開かない
C言語・C++・C#
-
20
std::stringからLPCWSTR型への変換
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
画像を読み込むのと取り込むの...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
ドロップダウンリストの文字を...
-
未使用の変数を一括検索する方法
-
Vba UserFormを前面に出す方法...
-
exeファイルしかないプログラム...
-
自作のプログラムがウイルスと...
-
Excelに埋め込んだVBAのプログ...
-
「Outlookが他のプログラムによ...
-
VB.NETで、プログラム上から新...
-
モジュール、アプリケーション...
-
PICアセンブラを出来る方、教え...
-
OS入ってる機器のソフト・アプ...
-
eepromについて
-
どうしてプログラマは沢山いる...
-
悪い、ダメなプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
Excelで4096点以上のFFTの方法
-
ドロップダウンリストの文字を...
-
PICマイコンのコピー(クローン...
-
Vba UserFormを前面に出す方法...
-
XnViewにwebpを「いつも開く」...
-
読み込み中にアクセス違反が発...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
画像を読み込むのと取り込むの...
-
「Outlookが他のプログラムによ...
-
WORD印刷できるがEXCE...
-
Excelに埋め込んだVBAのプログ...
-
UWSCで指定のフォルダを開きたい。
-
テキストボックスのエンターキ...
-
自動クエリとはどういうもので...
-
javaで特定の文字のカウントを...
-
AutoCADを用いて板金展開図を自...
-
powered byの表記について
おすすめ情報