Xcode使用的clang静态分析仪使用检查器来识别源代码中的警告和错误。我想使用Checker检测何时将sqlite与sqlite3_prepare_v2
一起使用,而无需调用sqlite3_finalize
。
这是现有检查器的列表。
http://clang-analyzer.llvm.org/available_checks.html
,这里是潜在的跳棋列表。
http://clang-analyzer.llvm.org/potential_checkers.html
是否有特定于SQLite的检查员可以解决此问题?有其他方法可以自动检测缺失/不平衡调用吗?
不幸的是没有办法。
您只能做,请确保您已经在sqlite3_prepare
块中写了sqlite3_finalize
,而不是在外面写作。这将处理sqlite3_prepare
故障问题。
if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
{
int res=sqlite3_step(statement);
result=res;
sqlite3_finalize(statement);
}
如果您是sqlite3_prepare
块外的sqlite3_finalize
,则会在sqlite3_prepare
语句失败时引起问题。
请查看此示例:使用C
有一个clang静态分析仪,您可以在https://github.com/xsecurity/xsecurity