2

複数のライブラリ (SDL、Boost、Chipmunk、Lua、Glew) を使用する大規模なプログラムに取り組んでいます

このコードをコンストラクター関数の特定のクラスに追加するときはいつでも。

std::ifstream is;
is.open ("Sprites/spriteList.json");// Causes Error
boost::property_tree::ptree pt;
boost::property_tree::json_parser::read_json(is,pt);// Causes Error

Visual Studio は、このコードを指すエラー ヒープ エラーを作成します。

extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
        const void * pUserData
        )
{
        if (!pUserData)
            return FALSE;

        if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
            return FALSE;

        return HeapValidate( _crtheap, 0, pHdr(pUserData) );
}  

ただし、デバッグモードでのみ、リリース時にエラーが発生せず、正常に実行されます。このエラーは、コードをブロックに配置しても実行されないため、発生します。

if (false) {
    std::ifstream is;
    is.open ("Sprites/spriteList.json");
    boost::property_tree::ptree pt;
    boost::property_tree::json_parser::read_json(is,pt);
}

誰かが何が起こっているのかをゆっくり説明するか、それを修正するためのリンクを教えてもらえますか?

4

1 に答える 1

0

I recently did a winupdate(20120508) and Visual studio 2010 seems to be really slow debugging afterwards with a 1 minute delay after compile-to-runDebug lag, then when the debug program exited, another 1 minute delay to get control again of visual studio. I did clean all, but no joy.

Solution: I manually deleted the large *.sdf and *.suo files in my project/solution and rebuilt. Issue went away magically.

Not sure why, but something was out of sync, corrupted, or incompatible with the update and needed to be blown away manually.

于 2012-05-09T18:55:13.833 に答える