我必須開發一個使用C++和QT庫的社交網絡模擬器。 我使用QODBC將用戶存儲到mysql數據庫中。 當我運行我的應用程序時,我拋出一個SIGSEGV錯誤。Qt分段錯誤
在這裏,我的函數拋出這個錯誤:
QMutex userMutex;
userMutex.lock();
QListIterator<User*> i(users);
User* user;
QString sql = "insert into t_user (id, pseudo, name, firstname, birthdate) values ";
QString bindValue = QString::fromStdString("(?, ?, ?, ?, ?),").repeated(users.count());
sql.append(bindValue);
QSqlQuery query = QSqlQuery(Interface::getCnx());
query.prepare(sql);
while(i.hasNext())
{
user = i.next();
query.addBindValue(QString::number(user->getId()));
query.addBindValue(user->getPseudo());
query.addBindValue(user->getName());
query.addBindValue(user->getFirstname());
QString birthdate = QString::number(user->getBirthDate().year()) + "-" + QString::number(user->getBirthDate().month()) + "-" + QString::number(user->getBirthDate().day());
query.addBindValue(birthdate);
}
query.exec();
userMutex.unlock();
這是 「query.exec()」 線,拋出此錯誤。
你看到有什麼問題嗎?
嘗試使用一些調試程序(例如'gdb')編譯調試和所有警告(例如'g ++ -Wall -g') –
看看答案。 –