即时通讯MySQL ++的问题,并迫切需要帮助。我使用的是Visual Studio 2010,MySQL ++ v3.1.0和MySQL v5.1.59(x86 & x64);我正在使用Visual Studio 2010,MySQL ++ v3.1.0和MySQL v5.1.59(x86 & x64); 所有库的编译都已正确。由于编译器设置“Both(/ RTC1,equiv。to/RTCsu)(/ RTC1)”处于打开状态,此错误仅发生在Debug版本中。MySQL ++ - 运行时检查失败#2 - 堆栈周围的变量已损坏
编辑:我应该注意到,这只发生在调试版本。在发布它的作品像一个魅力 我已经追溯到mysqlpp_d.dll的问题,由于引用计数,MySQL ++对象崩溃在那里析构。它抱怨没有能力访问ref counter的内存,当它试图减少它时,它崩溃。至少这就是我认为会发生的事情。
我尝试这样做,以确保一切得到derefrenced并以正确的顺序删除(甚至尽管它无关紧要,但帮我追查真正的问题,我希望):http://pastebin.com/Ru0uYcy9
它崩溃,:
Launcher.exe中0x000007feeef5dd4c(mysqlpp_d.dll)的第一次机会异常:0xC0000005:访问冲突写入位置0x000007feeeff5148。 Launcher.exe中的0x000007feeef5dd4c(mysqlpp_d.dll)未处理的异常:0xC0000005:访问冲突写入位置0x000007feeeff5148。
而且breakes这里: http://pastebin.com/9Mfr7NwB
您是否将库的调试版本与应用程序的调试版本链接起来? – alexisdm
是的,我确定everthing在所有版本中都正确链接。 – CFortner
好的,我已经做了一些更多的调试并创建了一个全新的控制台项目。我没有收到任何错误。 两者之间的唯一区别是一个是DLL项目,另一个是Console项目,但我怀疑这是考虑代码工作的问题,只是内存处理没有。 这使我得出结论,引擎即时通讯工具,会进行某种内存管理,影响MySQL ++如何处理其内存。 – CFortner