@Nerd0_0
Программист Java, C#, совсем джун C++, линуксоид

Как справиться с SIGSEGV в MariaDB?

Есть такая программа:
#include <iostream>
#include "include/mysql.h"
#include <Poco/Data/Session.h>
#include <Poco/Data/SQLite/Connector.h>
#include "include/Server.h"
#include "src/DBConnector.cpp"

void show_error(MYSQL *mysql)
{
    printf("Error(%d) [%s] \"%s\"", mysql_errno(mysql),
           mysql_sqlstate(mysql),
           mysql_error(mysql));
    mysql_close(mysql);
    exit(-1);
}

int main(int i,char* args[]){
    MYSQL *mysql;
    const char *query;

    mysql_debug("d:t:O");

    mysql= mysql_init(NULL);

    if (!mysql_real_connect(mysql, "localhost", "stats", "q1w2e3r4",
                            "example_db", 0, "/var/run/mysqld/mysqld.sock", 0))
        show_error(mysql);

    mysql_close(mysql);

    return 0;
}

При попытке ее запуска возникает ошибка:
Program received signal SIGSEGV, Segmentation fault.
__strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:173
173	../sysdeps/x86_64/multiarch/../strcmp.S: Нет такого файла или каталога.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

При этом данный код был скопирован из примера, который работает без падений. В чем может быть проблема?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MechanID
Админ хостинг провайдера
Проблема в том что вы не читаете ошибку.
173 ../sysdeps/x86_64/multiarch/../strcmp.S: Нет такого файла или каталога.
Ответ написан
ValdikSS
@ValdikSS
Запустите программу под отладчиком и посмотрите, где именно возникает падение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы