私のDataBase.cppファイルのコード:
#include "DataBase.h"
#include <sqlite3.h>
#include <string.h>
#include <wx/msgdlg.h>
bool CanClose(void)
{
sqlite3 *Sqlite;
sqlite3_stmt *sqlstmt;
char *result;
if(sqlite3_open("SysConfig",&Sqlite)==SQLITE_OK)
{
sqlite3_prepare(Sqlite,"SELECT config_value FROM configuration WHERE config_id = 1;",-1,&sqlstmt,NULL);
sqlite3_step(sqlstmt);
result = (char*)sqlite3_column_text(sqlstmt,0);
sqlite3_close(Sqlite);
if(strcmp(result,"YES")==1) //Error Here
return true;
else
return false;
}
else
{
wxMessageBox(_("Cannot Find System File!"),_("Error!"));
sqlite3_close(Sqlite);
return false;
}
}
私のプログラムは突然動作していました..デバッグしようとすると、上記の行 (19 行目) で次のようなエラーが発生します。
プログラムがシグナル SIGSEGV、セグメンテーション違反を受信しました。
アセンブリ命令でステートメントをさらに分解すると、エラーが表示されます
call 0x80500b0
コードの問題は何ですか?