C++ MySQL C++;连接器内存泄漏
我一直在浏览类似的帖子,但找不到任何适合我的问题 我正在尝试制作一个基本的程序,用MySQL数据库进行查询,一切正常,但我有很多内存泄漏C++ MySQL C++;连接器内存泄漏,c++,mysql,memory-leaks,C++,Mysql,Memory Leaks,我一直在浏览类似的帖子,但找不到任何适合我的问题 我正在尝试制作一个基本的程序,用MySQL数据库进行查询,一切正常,但我有很多内存泄漏 #include <cppconn/driver.h> #include <crtdbg.h> int main() { { sql::Driver* driver = get_driver_instance(); } _CrtDumpMemoryLeaks(); return 0
#include <cppconn/driver.h>
#include <crtdbg.h>
int main() {
{
sql::Driver* driver = get_driver_instance();
}
_CrtDumpMemoryLeaks();
return 0;
}
#包括
#包括
int main(){
{
sql::Driver*Driver=get_Driver_instance();
}
_CrtDumpMemoryLeaks();
返回0;
}
这是我正在使用的一个小片段。它的其余部分并不真正相关,因为我已经观察到,即使是这一小块代码也会产生大量内存泄漏,正如_CrtDumpMemoryLeaks调用所给出的那样
我得到了64位版本,并使用了动态链接库。我观察到的是,我还需要单独链接boost库,所以我下载了它,并将其“include”目录也放进去
我正在使用VisualStudio2019社区
任何帮助都将不胜感激。干杯
这是运行程序后的输出
Detected memory leaks!
Dumping objects ->
{193} normal block at 0x0000014FB1F74710, 16 bytes long.
Data: < F O > 90 46 FA B1 4F 01 00 00 00 00 00 00 00 00 00 00
{192} normal block at 0x0000014FB1FA4670, 88 bytes long.
Data: < ( O ( O > 00 28 F6 B1 4F 01 00 00 00 28 F6 B1 4F 01 00 00
{191} normal block at 0x0000014FB1F8CC30, 24 bytes long.
Data: < g > 18 03 67 C5 FE 7F 00 00 01 00 00 00 01 00 00 00
{190} normal block at 0x0000014FB1F8C7B0, 24 bytes long.
Data: < d > A8 96 64 C5 FE 7F 00 00 02 00 00 00 01 00 00 00
{189} normal block at 0x0000014FB1F5E280, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{188} normal block at 0x0000014FB1F57FE0, 168 bytes long.
Data: < > 00 00 00 00 D2 04 00 00 88 00 00 00 00 00 00 00
{187} normal block at 0x0000014FB1F5F5A0, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{186} normal block at 0x0000014FB1F61720, 56 bytes long.
Data: < > 00 00 00 00 D2 04 00 00 18 00 00 00 00 00 00 00
{185} normal block at 0x0000014FB1F71050, 48 bytes long.
Data: < > 00 00 00 00 D2 04 00 00 10 00 00 00 00 00 00 00
{184} normal block at 0x0000014FB1F70DB0, 40 bytes long.
Data: < p O > 00 00 00 00 CD CD CD CD 70 10 F7 B1 4F 01 00 00
{183} normal block at 0x0000014FB1F70D40, 48 bytes long.
Data: < > 00 00 00 00 D2 04 00 00 10 00 00 00 00 00 00 00
{182} normal block at 0x0000014FB1F710C0, 40 bytes long.
Data: < ` O > 00 00 00 00 CD CD CD CD 60 0D F7 B1 4F 01 00 00
{181} normal block at 0x0000014FB1F64C10, 80 bytes long.
Data: <h i dRi > 68 C6 69 C5 FE 7F 00 00 64 52 69 C5 FE 7F 00 00
{180} normal block at 0x0000014FB1F743F0, 16 bytes long.
Data: < L O > 01 00 00 00 00 00 00 00 10 4C F6 B1 4F 01 00 00
{179} normal block at 0x0000014FB1F5BF60, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{178} normal block at 0x0000014FB1F57280, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{177} normal block at 0x0000014FB1F55310, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{176} normal block at 0x0000014FB1F55560, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{175} normal block at 0x0000014FB1F5E560, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{174} normal block at 0x0000014FB1F55EE0, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{173} normal block at 0x0000014FB1F57530, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{172} normal block at 0x0000014FB1F57C50, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{171} normal block at 0x0000014FB1F57960, 104 bytes long.
Data: < > FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00
{170} normal block at 0x0000014FB1F744E0, 8 bytes long.
Data: <8 d > 38 94 64 C5 FE 7F 00 00
{169} normal block at 0x0000014FB1F62560, 24 bytes long.
Data: <0 d D O > 30 8C 64 C5 FE 7F 00 00 E0 44 F7 B1 4F 01 00 00
{168} normal block at 0x0000014FB1F743A0, 16 bytes long.
Data: < f `% O > F0 FE 66 C5 FE 7F 00 00 60 25 F6 B1 4F 01 00 00
{167} normal block at 0x0000014FB1F62800, 88 bytes long.
Data: <pF O pF O > 70 46 FA B1 4F 01 00 00 70 46 FA B1 4F 01 00 00
{166} normal block at 0x0000014FB1F74850, 16 bytes long.
Data: < s > 98 73 E1 C5 FE 7F 00 00 00 00 00 00 00 00 00 00
{162} normal block at 0x0000014FB1F65510, 80 bytes long.
Data: < U O U O > 10 55 F6 B1 4F 01 00 00 10 55 F6 B1 4F 01 00 00
{161} normal block at 0x0000014FB1F74F30, 16 bytes long.
Data: < > D8 D4 E1 C5 FE 7F 00 00 00 00 00 00 00 00 00 00
{160} normal block at 0x0000014FB1F73080, 120 bytes long.
Data: < 0 O 0 O > 80 30 F7 B1 4F 01 00 00 80 30 F7 B1 4F 01 00 00
{159} normal block at 0x0000014FB1F74D00, 16 bytes long.
Data: < > F0 D4 E1 C5 FE 7F 00 00 00 00 00 00 00 00 00 00
{158} normal block at 0x0000014FB1F750C0, 16 bytes long.
Data: <hs > 68 73 E1 C5 FE 7F 00 00 00 00 00 00 00 00 00 00
{157} normal block at 0x0000014FB1F72FE0, 88 bytes long.
Data: < / O / O > E0 2F F7 B1 4F 01 00 00 E0 2F F7 B1 4F 01 00 00
{156} normal block at 0x0000014FB1F74350, 16 bytes long.
Data: < X > 00 58 E1 C5 FE 7F 00 00 00 00 00 00 00 00 00 00
Object dump complete.
检测到内存泄漏!
转储对象->
0x0000014FB1F74710处的{193}正常块,16字节长。
数据:90 46 FA B1 4F 01 00 00
0x0000014FB1FA4670处的{192}正常块,88字节长。
数据:<(O(O>00 28 F6 B1 4F 01 00 00 28 F6 B1 4F 01 00
0x0000014FB1F8CC30处的{191}正常块,24字节长。
数据:180367C5 FE 7F 00 00 00
0x0000014FB1F8C7B0处的{190}正常块,24字节长。
数据:A8 96 64 C5 FE 7F 00 00 00 00 00
0x0000014FB1F5E280处的{189}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F57FE0处的{188}正常块,168字节长。
数据:<>00 00 D2 04 00 00 88 00 00 00 00 00 00 00
0x0000014FB1F5F5A0处的{187}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F61720处的{186}正常块,56字节长。
数据:<>00 00 D2 04 00 00 18 00 00 00 00 00 00
0x0000014FB1F71050处的{185}正常块,48字节长。
数据:<>00 00 D2 04 00 00 10 00 00 00 00 00 00
0x0000014FB1F70DB0处的{184}正常块,40字节长。
数据:00 CD CD 70 10 F7 B1 4F 01 00
0x0000014FB1F70D40处的{183}正常块,48字节长。
数据:<>00 00 D2 04 00 00 10 00 00 00 00 00 00
0x0000014FB1F710C0处的{182}正常块,40字节长。
数据:<`O>00 CD CD 60 0D F7 B1 4F 01 00 00
0x0000014FB1F64C10处的{181}正常块,80字节长。
数据:68 C6 69 C5 FE 7F 00 64 52 69 C5 FE 7F 00 00
0x0000014FB1F743F0处的{180}正常块,16字节长。
数据:01 00 00 00 00 10 4C F6 B1 4F 01 00 00
0x0000014FB1F5BF60处的{179}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F57280处的{178}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F55310处的{177}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F55560处的{176}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F5E560处的{175}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F55EE0处的{174}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F57530处的{173}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F57C50处的{172}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F57960处的{171}正常块,104字节长。
数据:<>FF FF FF FF FF FF FF FF FF FF 00 00 00
0x0000014FB1F744E0处的{170}正常块,8字节长。
数据:389464碳五铁7F 00
0x0000014FB1F62560处的{169}正常块,24字节长。
数据:30 8C 64 C5 FE 7F 00 E0 44 F7 B1 4F 01 00 00
0x0000014FB1F743A0处的{168}正常块,16字节长。
数据:F0 FE 66 C5 FE 7F 00 60 25 F6 B1 4F 01 00
0x0000014FB1F62800处的{167}正常块,88字节长。
资料:70 46 FA B1 4F 01 00 70 46 FA B1 4F 01 00 00
0x0000014FB1F74850处的{166}正常块,16字节长。
数据:98 73 E1 C5 FE 7F 00 00
0x0000014FB1F65510处的{162}正常块,80字节长。
数据:1055F6B1 4F01 00 10 55F6B1 4F01 00
0x0000014FB1F74F30处的{161}正常块,16字节长。
数据:<>D8 D4 E1 C5 FE 7F 00 00
0x0000014FB1F73080处的{160}正常块,120字节长。
数据:<0 O 0 O>80 30 F7 B1 4F 01 00 80 30 F7 B1 4F 01 00 00
0x0000014FB1F74D00处的{159}正常块,16字节长。
数据:<>F0 D4 E1 C5 FE 7F 00 00
0x0000014FB1F750C0处的{158}正常块,16字节长。
数据:68 73 E1 C5 FE 7F 00 00
0x0000014FB1F72FE0处的{157}正常块,88字节长。
数据:E0 2F F7 B1 4F 01 00 E0 2F F7 B1 4F 01 00
0x0000014FB1F74350处的{156}正常块,16字节长。
数据:0058 E1 C5 FE 7F 00 00
对象转储完成。
因此,似乎只有通过调用驱动程序类上的单个方法,才有大量内存泄漏。析构函数受到保护,因此我不能对其调用“delete”。这不是真正的内存泄漏,因为您正在检查“太早” 您可以看到如何实现
get\u driver\u实例
:
static std::map驱动程序;
CPP