2016-05-30 4 views
-1

Ich möchte die Ablaufverfolgung der Abfrage kennenlernen. Einstellung mir die SQLITE_DEBUG Option kompilieren und ich gebe den Befehl, so dass „PRAGMA vdbe_debug = true“Wie zeigen Sie alle Trace in SQLite3?

jedoch Es zeigt nur die Spur von vdbe der Abfrageverarbeitung Ich mag die ganze Spur wissen, wie WALTRACE ‚Wie Pager- und B-Tree-Modul '

Hilfe zu bedienen.

Antwort

1

Die WALTRACE Makro funktioniert anders:

#if defined(SQLITE_TEST) && defined(SQLITE_DEBUG) 
SQLITE_PRIVATE int sqlite3WalTrace = 0; 
# define WALTRACE(X) if(sqlite3WalTrace) sqlite3DebugPrintf X 
#else 
# define WALTRACE(X) 
#endif 

Sie haben ein anderes Symbol zu definieren, und die Variable manuell eingestellt werden.

+0

Vielen Dank für die Beantwortung meiner Frage! Ich wusste, dass die Methode zum Setzen der Variablen die Option für die Kompilierungszeit so einstellt, dass SQLITE_TEST oder SQLITE_DEBUG, diese Variablen bereits gesetzt haben, aber keine Ablaufverfolgung ausgegeben wird. Können Sie mir mehr helfen? –

+0

SQLITE_TEST und SQLITE_DEBUG sind * nicht * Variablen. Die Variable ist 'sqlite3WalTrace'. –

+0

Danke, ich habe den sqlite3WalTrace-Wert bereits auf 1 gesetzt (sein ursprünglicher Wert ist 0), aber nichts hat sich geändert. –

Verwandte Themen