如何调试if的结果(sqlite3_step(selectstmt)== SQLITE_DONE)

时间:2012-08-18 00:10:15

标签: iphone objective-c ios sqlite

我只是想不通..我似乎是人们通过NSLog进行调试...是不是有一个IDE集成的方式来检查这个?喜欢观察名单

此代码返回false,我只是想看看那里发生了什么......

if(sqlite3_step(selectstmt) == SQLITE_DONE)

感谢

1 个答案:

答案 0 :(得分:1)

没有完成,这就是问题所在。它遇到错误或有更多行。如果您想在调试器中跟踪它,您需要实际观看。例如:

int result = SQLITE_DONE;
if( (result = sqlite3_step(select stmt)) == SQLITE_DONE ) /* do stuff */

现在你可以在这里打破,或者观察result变量(虽然,鉴于它的自动范围,看它不会非常有用)。此外,对于任何调试器,您的代码压缩到一行上的次数越多,调试器就越难以合理地让您知道发生了什么。如果您更多地分解了代码,那么停止调试器的位置显而易见:

int result = sqlite_step(selectstmt);
if( result == SQLITE_DONE ) /* do stuff */ // <- now it's easy to see what's going on in a debugger