how para depurar la base de datos sqlite3 bloqueada

Estoy escribiendo una aplicación en iOS que usa sqlite3 envuelta por fmdatabase. Me encuentro con el problema de que, en algún momento, mi programa está atrapado en un bucle dentro de las bibliotecas FMDatabase, en particular, una función que llama a sqlite3_step y descubre que la base de datos está ocupada, luego vuelve a intentarlo una y otra vez.

Estoy buscando herramientas y consejos generales de depuración, ya que será demasiado para dar toda mi configuración aquí. Algunas cosas que podrían ser de consecuencia, abrí un identificador de base de datos a una base de datos que ya tiene un identificador en otro hilo. sqlite3_threadsafe () devuelve 2, por lo que sé que está habilitado. También probé esta nueva conexión al hacer una declaración de selección y actualización muy simple. Cuando dejo que mi programa se ejecute, y cuando intenta ejecutar una actualización en la base de datos, me atoro.

La declaración de actualización que hace mi programa no tiene la culpa, porque esta consulta funciona bien cuando NO abro dos conexiones. Sin embargo, no veo dónde podría estar yendo mal ...

ualquier ayuda o consejos sobre dónde podría estar equivocado sería muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta