Записки админа
12.5K subscribers
631 photos
28 videos
221 files
2.39K links
Пишу о Linux и администрировании серверов.

Связаться с автором: @servers

Заметки в браузере: https://sysadmin.pm/

Буст канала: https://tttttt.me/sysadminnotes?boost
Download Telegram
🛠 Simple bash debugger using trap DEBUG - интересный способ дебага bash скриптов.

tl;dr - перед выполнением каждой команды будет запрашиваться пользовательский ввод, который либо будет выполняться, либо, если ничего не введено, скрипт будет продолжать работу.

function _trap_DEBUG() {
echo "# $BASH_COMMAND";
while read -r -e -p "debug> " _command; do
if [ -n "$_command" ]; then
eval "$_command";
else
break;
fi;
done
}

trap '_trap_DEBUG' DEBUG

#bash #напочитать #debug
🔧 Hermit: A reproducible container - ещё один занятный инструмент, который не просто работает как песочница. Hermit позволяет запустить программу в изолированном и полностью воспроизводимом окружении.

Например, даже если программа использует /dev/urandom, то будучи запущенной в hermit, программа будет забирать эти данные из псевдослучайного генератора, который, если потребуется, будет отдавать одни и те же данные при воспроизведении работы контейнера с программой.

Полезен инструмент оказывается как в работе над багами в программах, так и, например, при наблюдении за работой подозрительных программ, исполнение которых, будучи запущенным в Hermit, полностью контролируется нами.

#hermit #debug #фидбечат
🔧 Хороший список утилит, которые могут оказаться полезными при решении проблем в системе.

https://www.petermcconnell.com/posts/linuxtools/

#debug #troubleshooting #напочитать
Julia Evans выпустила новый комикс, и сделала его доступным бесплатно, с промо-кодом BUYONEGIVEONE. Достаточно перейти к покупке, ввести промо-код, и цена уменьшится до $0.

https://wizardzines.com/zines/debugging-guide

#debug #напочитать
Статья про дебаг бинарных файлов, которые запускаются из shell-скрипта. Всё разобрано на примере запуска firefox...

https://developers.redhat.com/articles/2022/12/27/debugging-binaries-invoked-scripts-gdb

P. S. До сегодняшнего дня не знал что у меня в системе /usr/bin/firefox - это shell скрипт, запускающий нужное.

#gdb #debug #напочитать
Не техническая заметка из разряда "вот это автор понаписал очевидных вещей".

Но всё же, как по мне, получилось такое полезное обобщение того, что можно сделать, если мы столкнулись с проблемой, требующей дебага.

https://philbooth.me/blog/how-to-debug

#debug #напочитать #будничное
Много разных презентаций и роликов о debug утилитах. Есть старенькие, есть относительно свежие...

https://elinux.org/Tools_and_Debugging_Presentations

#debug #linux #будничное
🛠 The GDB developer's GNU Debugger tutorial - неплохая серия статей о работе c gdb...

- Getting started with the debugger.
- All about debuginfo.
- Learn how to use breakpoints.

#gdb #debug #напочитать
⏯️ Record and Replay Framework - интересный инструмент, который позволяет записать выполнение нужной программы, а затем проанализировать записанный процесс, при необходимости повторив его нужное количество раз...

rr record /path/to/program --arg1 --arg2
rr replay


- Пример работы: https://github.com/rr-debugger/rr/wiki/Usage
- Github: https://github.com/rr-debugger/rr
- Сайт: https://rr-project.org/

#debug #rr #gdb