我的应用程序出了问题。每次我在调试器中启动它时,它都会在向地图添加项目时崩溃。当我作为独立应用程序启动时,它可以正常工作。
删除并重新创建具有映射的Objekt,并且在重新创建之后,调试器因错误而崩溃并且整个pc被冻结。唯一的方法是重新启动。
有谁知道可能是什么问题?
P.s。:这是相关的代码段:
部首:
/**
* List of propertyKey value
*/
typedef std::map<std::string, boost::any> Changes;
/**
* List of id changes
*/
typedef std::map<std::string, Changes> ChangesMap;
ChangesMap m_changeList;
Methodbody:
void PushController::CollectAttributeChanges(
const std::string &id, const std::string &key, const boost::any &value)
{
(m_changeList[id])[key] = value;
}
祝你好运, 格里特
答案 0 :(得分:1)
您是否使用任何可能以某种方式影响STL二进制兼容性的标志构建您的应用程序(例如_SECURE_SCL = 0)并以相同方式构建boost?
应用程序的另一部分是否会破坏堆?
您可以在整个代码中插入_CrtCheckMemory()调用,以检测更接近发生时的堆损坏。