• ベストアンサー

デバッグ中のエラーのことで教えてください。

下のようなエラーが出て困っています。 コンパイルされているのですが、いろいろなサイトを調べましたが、どのようなエラーであるのかが結局わからなかったので、ここで質問しました。 プログラミング環境は、 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() 行 196 C

kopanda116
質問者

お礼

ソースコードをもう一度見て考えてみたところ、メモリ確保していない領域を解放していました。 エラーの内容に関しては、上のプログラムを一度コーディングしてエラーを出してみたところ、概ね同じようなエラーがでて、大体理解することができました。 この部分のエラーは解消されました。 詳しい回答ありがとうございました。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

同じくソースがないのでなんともいえんのだけど, たぶん 「delete しちゃいけない領域を delete している」 んではなかろうか. もちろん 「delete しちゃいけない領域を delete している」 といっても「delete しちゃったところをさらに delete してる」とか「new で確保していないところを delete しちゃってる」とかいろいろ考えられるけど, とにかく delete しているところを全部チェック. ちなみに dbgdel.cpp はおそらくあっても無意味.

kopanda116
質問者

お礼

確かにメモリの確保していない領域を解放していました。 このエラーは解消されました。 回答ありがとうございました。

回答No.1

ソースコードがない為、なんともい言えないですが、「_BLOCK_TYPE_IS_VALID」のキーワードで検索した限りでは「メモリ操作関連で問題があるのでは?」と思われます。 たとえば、「pHead」がNULLだったり、または開放された領域を指していたりが考えられます。 dbgdel.cppの52行目付近のソースコードが必要です。 (そこだけとは限りませんが。。。)

kopanda116
質問者

お礼

ソースコードは、事情があり、載せることができなかったのですが、メモリの確保・解放に問題がありました。 回答ありがとうございました。

関連するQ&A

  • occmgr.cppの行410で特定のエラー

    .Net2003で作成したプロジェクトを実行しようとするとoccmgr.cppの行410で特定のエラーが出て実行できません。以下が特定のエラーの内容です。 Debug Assertion Failed!! File occmgr.cpp Line 410 For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. どうすればいいかわかりません。 よろしくお願いします。

  • デバッグエラー

    今晩和 VC++2005を使ってプログラムを開発しているのですが、デバッグ時に以下のエラーボックスが表示されます Debug Assertion Failed! Program: ... File: mbstowcs.c Line: 69 Expression: s!=NULL For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. コンパイルまでは問題なく出来るのですが・・・・ 原因不明でかなりまいっています 御教授お願いします 環境 WindowsXP SP3 Visual Studio 2005 アカデミー サンプルプログラム:http://chihara.naist.jp/people/STAFF/imura/products/labeling内のwindows用サンプル一式

  • 起動時のメッセージの意味がわからないのですが・・・。

    McAfeeのウイルスソフトをアンインストールしてから、次の様なメッセージが必ず起動しにでます。 意味がわからないので、対象方法を教えてください! ーーーーーーーーーーーーーーーーーーーーーーー Assertion failed! Program::\program Files\Fujitsu\Sa\bin\mad.exe File:plist.cpp Line:21 Expression:istream.is Valid For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts (Press Retry to debug thr application JIT must be enabled) 中止  再試行   無視 ----------------------------------------------- ご指導宜しくお願いいたします。

  • 右クリックするとエラーが・・・

    Windows XP Home Editionを使っていますが、いつの間にか「マイコンピュータ」のFDドライブ, HDD, 外付HDD等を右クリックした際、下記のエラーが発生しプロパティ等のメニューが表示されなくなってしまいました。何かよい解決方法がありましたら教えてください。お願いします。 エラー詳細↓↓↓ Debug Assertion Failed Program: C\WINDOWS\explorer.exe file: dbgheap.c line: 1011 Expresstion:_CrtIsValidHeapPointer(pUser Date) _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) For infomation on how your program can cause on assertion failure see the Visual C++ documentation on asserts.

  • ソフトが使えない

    あるソフトを立ちあげようとすると Microsoft Visual C++ Debug Library Debug Assertion Failed!(プログラム名) For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application) と言うメッセージがでてソフトが使えません。 これは、何のことでしょうか。 使えるようになるのですか。

  • Microsoft Visual C++ Runtime Library Assertion failedのエラーについて教えてください。

    Microsoft Visual C++ Runtime Library Assertion failedのエラーについてですが、ある時フォルダを開けて約5秒くらいするとこのエラーが必ず発生します・・・。 内容は Assertion failed!   Program:C\WINDOWS\explorer.exe File.../external/boost_1_31_0\boost/shard_ptr.hpp Line:254 Expression:px !=0 For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts (Press Retry to debug the application - JIT must be enabled) といったエラーがでてきます。全くわたくしじゃ意味もわからずどーしたらいいかわかりませんのでお力お貸しください。宜しく御願い致します。

  • クリティカルエラー Expression: ("Buffer too small", 0)

    VC++2005でコンパイルしたアプリですが、実行すると クリティカルエラーの次のメッセージが表示されました。 VCの設定で解決できるものなのでしょうか? Microsoft Visual C++ Debug Library ... Expression: ("Buffer too small", 0) Foi infomation how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (press Retry debug the application)

  • 実行途中でのエラー発生について

    こんばんは。 この掲示板を頻繁に利用させていただいている者です。 Visual C++.NET 2003を利用しソケットプログラミングをしていたところ、突然わけの分からないエラーが途中で発生してしまいます。 [エラー内容] Debug Assertion Failed! File: fprintf.c Line:56 Expression: str != NULL For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts. (Press Retry to debug the application) 上記のようなエラー内容です。 今まで実行可能であったのに、突然エラーメッセージが発生しました。 Line:56ということから56行目を見たところ、str != NULLという記述もしていませんし、かつその行はコメントを記述しています。 なにか原因があるのでしょうか? よろしくお願いします。

  • ドライブを右クリックするとエラーになる?

    マイコンピュータを開いた後に、C:やD:などの、容量や中身を確認しようと思い、アイコンを右クリックをするとエラーが出て画面が閉じてしまうのですが? エラー画面が出てきてしたのようなメッセージが表示されます。 Debug Assertion Failed Program: C:\WINDOS\exploer.exe File:dbgheap.c Line:1011 Expression:_CrtIsValidHeapPointer(pUserData) For information on how your program can cause an assertion failure see the Visual C++ docummentation on asserts と表示されるのですが、何が原因なのでしょうか?

  • msdio.exeのエラー

    先日からSSのエラーが続出します SSが添付できなかったので、内容を書きます スペルミスがあるかも知れませんがご了承ください ********************************************* 【Micorosoft VisualC++Debug Lidrary】 Debug Assertion Failed! Program:C:\WINDOWS\system32\msdio.exe File: fprintf.c Line: 56 Expression:str!=NULL For information on how program can canuse an assertion failure, see the Visual C++documentation on asserts. (Press Retry to debug the application) [中止] [再試行] [無視] ************************************************** IEを立ち上げたりエクセルで作業していたり これといった決まったタイミングで出るのではないのですが 上記のようなエラー窓が出ます medio.exeなどというようなものは使った覚えもないのですが どうやらこのファイルがエラーの原因のような気もいたします。 Googleで検索しても、私には理解できないことも多く 何が原因かもわからず困り果てています 解る方おられましたら、助けていただければ幸いです。 環境を書き忘れました WindowsXP Home SP3です。

専門家に質問してみよう