Re: [sqlite] SQLite 3.3.6 - possibly memory leak
I've seen a few issues myself, but they all appeared to be related to the memory management thing. If you're using VC, try putting this into your code: #define CRTDBG_MAP_ALLOC #include #include // and then in your main function: _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF | _CRTDBG_CHECK_ALWAYS_DF); Put a copy of the above line in sqlite3_open command as well. I think that it would be good to run the standard tests with that enabled. It provides a lot of useful information and checks for out of bounds or memory leaks on every allocation. It is similar to Borland's Codeguard. I have no idea how to enable malloc_dbg automatically in GCC, though. Here's a few links: http://www.amanjit-gill.de/CPP_VCtips.html http://www.cprogramming.com/debugging/valgrind.html http://msdn2.microsoft.com/en-us/library/sc65sadd(VS.80).aspx Sasa Zeman wrote: I working with my own SQLite wrapper for Delphi, with the statically linked SQLite 3.3.6. File variant works fine: SQLite3_Open('Test.sqb',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... However memory variant rise a memory leak report: SQLite3_Open(':memory:',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... I'm aware that above is a nonsence script. However, scripts with created table which is later deleted twice by mistake, can also produce mentioned problem. Please confirme memory leak existanace. Sasa -- www.szutils.net
Re: [sqlite] SQLite 3.3.6 - possibly memory leak
Sasa Zeman uttered: I working with my own SQLite wrapper for Delphi, with the statically linked SQLite 3.3.6. File variant works fine: SQLite3_Open('Test.sqb',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... However memory variant rise a memory leak report: SQLite3_Open(':memory:',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... I'm aware that above is a nonsence script. However, scripts with created table which is later deleted twice by mistake, can also produce mentioned problem. Please confirme memory leak existanace. Speculating, as I'm not familiar with your Delphi wrapper, but are you sqlite3_free()'ing the error message string when reporting any errors? Sasa Christian -- /"\ \ /ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL X - AGAINST MS ATTACHMENTS / \
[sqlite] SQLite 3.3.6 - possibly memory leak
I working with my own SQLite wrapper for Delphi, with the statically linked SQLite 3.3.6. File variant works fine: SQLite3_Open('Test.sqb',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... However memory variant rise a memory leak report: SQLite3_Open(':memory:',db); SQLite3_Exec(db,'DROP TABLE TEST',NIL,NIL,ErrMsg); ... I'm aware that above is a nonsence script. However, scripts with created table which is later deleted twice by mistake, can also produce mentioned problem. Please confirme memory leak existanace. Sasa -- www.szutils.net