下のようなエラーが出て困っています。
コンパイルされているのですが、いろいろなサイトを調べましたが、どのようなエラーであるのかが結局わからなかったので、ここで質問しました。
プログラミング環境は、
Microsoft Visual Studio .NET 2003
です。
OSはWindows XP SP3
です。
Debug Assertion Failed!
File:dbgdel.cpp
Line:52
Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
For information on how your program can cause an assertion failure, see the Visul C++ documentation on asserts.
というエラーが出ます。
メモリ容量、CPUに関しては4GB,クロック3GHzのクアッドコアを使用しているので、ここで問題が発生しているとは考えられないです。一体、どのようなエラーなのでしょうか???
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
これはランタイムエラーなのですが
dbgdel.cpp:52が悪いわけではなく
それを読んでいるプログラムが悪いのです
コールスタックを表示してみてください(デバッグ->ウィンドウ->呼び出し履歴かな?)
例えば次のプログラム
char* p = new char;
delete p;
delete p;
これで確実に同じエラーとなります
エラーダイアログが表示されたら「再試行(R)」を選んでください
コールスタックには以下のような表示が出ます
質問者が言っているのはAですが、ここが悪いのではなく
これを呼んだBが悪いのです
(Bをダブルクリックすると、該当ソースに飛びます)
A.skelton.exe!operator delete(void * pUserData=0x00bb5b48) 行 52 + 0x51 バイトC++
B.skelton.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000) 行 512 + 0x15 バイトC++
C.skelton.exe!__tmainCRTStartup() 行 324 + 0x35 バイトC
D.skelton.exe!WinMainCRTStartup() 行 196C
ソースコードをもう一度見て考えてみたところ、メモリ確保していない領域を解放していました。
エラーの内容に関しては、上のプログラムを一度コーディングしてエラーを出してみたところ、概ね同じようなエラーがでて、大体理解することができました。
この部分のエラーは解消されました。
詳しい回答ありがとうございました。
No.2
- 回答日時:
同じくソースがないのでなんともいえんのだけど, たぶん
「delete しちゃいけない領域を delete している」
んではなかろうか. もちろん
「delete しちゃいけない領域を delete している」
といっても「delete しちゃったところをさらに delete してる」とか「new で確保していないところを delete しちゃってる」とかいろいろ考えられるけど, とにかく delete しているところを全部チェック.
ちなみに dbgdel.cpp はおそらくあっても無意味.
No.1
- 回答日時:
ソースコードがない為、なんともい言えないですが、「_BLOCK_TYPE_IS_VALID」のキーワードで検索した限りでは「メモリ操作関連で問題があるのでは?」と思われます。
たとえば、「pHead」がNULLだったり、または開放された領域を指していたりが考えられます。
dbgdel.cppの52行目付近のソースコードが必要です。
(そこだけとは限りませんが。。。)
ソースコードは、事情があり、載せることができなかったのですが、メモリの確保・解放に問題がありました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- オープンソース Python openpyxlを使用したセル番地の使用について 1 2023/08/03 22:05
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- オープンソース Vue+Laravelのデザインテンプレートのサンプルが起動できない 1 2022/05/18 21:52
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Debug Assertion Failed?
C言語・C++・C#
-
C++初心者です。 debug assertion errorについて
C言語・C++・C#
-
charからLPTSTRへの変換方法
C言語・C++・C#
-
-
4
CString から LPCTSTRの型に変換
C言語・C++・C#
-
5
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
6
クリティカルエラー Expression: (Buffer too small", 0)"
C言語・C++・C#
-
7
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
8
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
9
学校PCで問題なくデバッグできるのに自宅PCのくVisual Studioでは同じソースがデバッグできません。
C言語・C++・C#
-
10
ヒープメモリの解放について
C言語・C++・C#
-
11
LPSTR型の初期化について
C言語・C++・C#
-
12
多重定義が起きている?--lnk2005エラー:VC++
C言語・C++・C#
-
13
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
14
実行途中でのエラー発生について
C言語・C++・C#
-
15
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
16
外部依存関係について
C言語・C++・C#
-
17
「fatal error C1189」を回避するには?
C言語・C++・C#
-
18
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
19
error C2664: 'LPCTSTR' に変換できません。
C言語・C++・C#
-
20
C++言語エラー
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
バッチからsqlplusの接続エラー...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
HEWを使用しているのですが、こ...
-
multiple definitionというエラー
-
Handlesについて
-
1つのDLLにソースを1500個ほど...
-
Arduinoに関する質問
-
HANDLEの宣言でのエラー
-
PC画面を録画するプログラムでd...
-
どうしてもできない!!
-
VB2008で定数に色の設定をした...
-
VB2010でのSQL日付フォーマ...
-
入れ子になっている構造体配列...
-
subまたはfunctionが定義されて...
-
error C3867 関数呼び出しには...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
fortranでプログラムを実行する...
-
BC30002: 型 'ListItem' が定義...
-
VBAでファイルを開くプログラム...
-
sys/time.hのインクルードがで...
-
error C3867 関数呼び出しには...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
LPCWSTRとchar
-
RightとLeft関数のライブ...
-
Handlesについて
-
multiple definitionというエラー
-
ACCESSのDate関数のエラー表示...
-
WindowsからLinuxへの移植
おすすめ情報