Нода с отладкой GDB

Установка ноды на сервере с ОС Ubuntu 18.04

Бывает, что из-за ошибок демон golosd вылетает с сообщением Segmentation fault или Aborted, в папке /var/lib/golosd появляется core dumped. При этом больше никакой информации. В таком случае пригодится отладка через gdb.

Устанавливаем необходимые пакеты:

sudo apt-get update
sudo apt-get install -y \
        autoconf \
        automake \
        autotools-dev \
        bsdmainutils \
        build-essential \
        cmake \
        doxygen \
        git \
        ccache \
        libboost-all-dev \
        libreadline-dev \
        libssl-dev \
        libtool \
        ncurses-dev \
        pbzip2 \
        pkg-config \
        python3 \
        python3-dev \
        python3-pip \
        runit

Копируем исходные файлы для сборки ноды из github:

Задаём значения переменных и конфигурируем проект:

Запуск сборки с установкой демона в /usr/local/, исполнив:

Подготовка файлов

Возможно понадобится прописать сид-ноды в конфиг: p2p-seed-node = golos1.lexai.host:4243 p2p-seed-node = golos2.lexai.host:4243

Копируем в папку .../golosd/witness_node_data_dir/blockchain бэкап файлов блоклогс и шаред-мемори, чтобы не терять время на синхронизацию сети (возможно скачать здесь).

Запуск GDB

Устанавливаем отладчик gdb

Переходим в папку проекта

Запускаем демон через gdb

На вопрос Quit this debugging session? (y or n), отменяем вводом n

Включаем сохранение лога (в файл gdb.txt) рядом с файлом запуска

Подтверждаем запуск

Last updated