Нода с отладкой GDB
Установка ноды на сервере с ОС Ubuntu 16.04
Бывает, что из-за ошибок демон golosd вылетает с сообщением Segmentation fault или Aborted, в папке /var/lib/golosd появляется core dumped. При этом больше никакой информации. В таком случае пригодится отладка через gdb.
Устанавливаем необходимые пакеты:
1
sudo apt-get update
Copied!
1
sudo apt-get install -y \
2
autoconf \
3
automake \
4
autotools-dev \
5
bsdmainutils \
6
build-essential \
7
cmake \
8
doxygen \
9
git \
10
ccache \
11
libboost-all-dev \
12
libreadline-dev \
13
libssl-dev \
14
libtool \
15
ncurses-dev \
16
pbzip2 \
17
pkg-config \
18
python3 \
19
python3-dev \
20
python3-pip \
21
runit
Copied!
1
sudo pip3 install gcovr
Copied!
Копируем исходные файлы для сборки ноды из github:
1
git clone https://github.com/golos-blockchain/golos.git && cd golos
Copied!
1
git submodule update --init --recursive -f
Copied!
Задаём значения переменных и конфигурируем проект:
1
mkdir build && cd build
Copied!
1
cmake \
2
-DCMAKE_BUILD_TYPE=Release \
3
-DBUILD_GOLOS_TESTNET=FALSE \
4
-DBUILD_SHARED_LIBRARIES=FALSE \
5
-DLOW_MEMORY_NODE=FALSE \
6
-DCHAINBASE_CHECK_LOCKING=FALSE \
7
..
Copied!
Запуск сборки с установкой демона в /usr/local/, исполнив:
1
make -j $(nproc) && sudo make install
Copied!

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

1
mkdir -p ~/golos/build/programs/golosd/witness_node_data_dir/blockchain
Copied!
Копируем в папку .../golosd/witness_node_data_dir свой конфиг для ноды, добавив сид-ноды, напр. p2p-seed-node = golos1.lexai.host:4243 p2p-seed-node = golos2.lexai.host:4243 Копируем в папку .../golosd/witness_node_data_dir/blockchain бэкап файлов блоклогс и шаред-мемори, чтобы не терять время на синхронизацию сети (копии возможно скачать здесь).

Запуск GDB

Устанавливаем отладчик gdb
1
sudo apt-get install gdb
Copied!
Переходим в папку проекта
1
cd ~/golos/build/programs/golosd
Copied!
Запускаем демон через gdb
1
gdb ./golosd
Copied!
Включаем сохранение лога (в файл gdb.txt) рядом с файлом запуска
1
set logging on
Copied!
Подтверждаем запуск
1
run
Copied!
Last modified 4mo ago