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 <stdlib.h>
#include <crtdbg.h>
// 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