Xcode 4.5调试在单步执行代码时跳过函数的一部分,即使设置了断点(c ++)

时间:2013-08-23 19:20:46

标签: c++ xcode debugging

所以我在这里有一个函数,据称从.cfg文件读取值并且文件设置正确,但是我的值没有被我对文件所做的更改反映出来。所以我调试。问题是它跳过了寻找值的迭代!所以我不知道它是否只是接受默认值,或者是否有其他错误。

bool ConfigReader::GetBool(const std::string theSection,
                           const std::string theName, const bool theDefault) const
{
    bool anResult = theDefault; // this is the line where I have a breakpoint set

    // Check if theSection really exists
    std::map<const std::string, typeNameValue*>::const_iterator iter;
    iter = mSections.find(theSection);
    if(iter != mSections.end())
    {
        // Try to obtain the name, value pair
        typeNameValue* anMap = iter->second;
        if(NULL != anMap)
        {
            typeNameValueIter iterNameValue;
            iterNameValue = anMap->find(theName);
            if(iterNameValue != anMap->end())
            {
                anResult = ParseBool(iterNameValue->second, theDefault);
            }
        }
    }

    // Return the result found or theDefault assigned above
    return anResult; // this is the line where it skips to (not much help)
}

我尝试在跳转之间的线上设置断点,但无论如何它都会跳过它们。

我不确定我的问题是否与此相关,但听起来类似: Stepping through the code is stopping on STL code when debugging c++ with Xcode 4.5

有人知道这里会发生什么,或者我能做些什么来解决/避免它? 另外,如果我发布不正确,我会提前道歉。

调用GetBool函数:

mProperties.Add<bool>("bMusicOn",
                      settingsConfig.GetAsset().GetBool("music", "on", true));

0 个答案:

没有答案