On 13/06/2014 4:38 PM, RSmith wrote:
If none of these finds you a culprit, it means your program is the only
thing left to blame. Here we need to start with logging every time you
create a connection and start a query or creating a prepared statement.
Log the handles or object IDs you get back from any call too. Compare
these to the logs when you reset or close the statements and when you
free the statements and the DB connection. Go through these with a
fine-tooth comb, make sure every resource made is linked to a release in
the correct order.

I think I'm pretty certain that my program *is* the culprit. I'd like to add the tracing to SQLite itself. Which functions do you suggest? I know you mentioned opening/closing so that would be sqlite3_open* and sqlite3_finalize?

Just to clarify, this is all happening within one process:

Write thread: write
Read thread: read something
Write thread: write
Write thread: write
Read thread: read something <-- this is a "special" query but I can't see anything special about it except that it uses FTS
Write thread: hang until app exits

Also, I tried using sqlite3_config to add logging but that didn't seem to do much. Time for some printfs...

Sohail

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to