🛠 Simple bash debugger using trap DEBUG - интересный способ дебага bash скриптов.
tl;dr - перед выполнением каждой команды будет запрашиваться пользовательский ввод, который либо будет выполняться, либо, если ничего не введено, скрипт будет продолжать работу.
tl;dr - перед выполнением каждой команды будет запрашиваться пользовательский ввод, который либо будет выполняться, либо, если ничего не введено, скрипт будет продолжать работу.
function _trap_DEBUG() {#bash #напочитать #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
🔧 Hermit: A reproducible container - ещё один занятный инструмент, который не просто работает как песочница. Hermit позволяет запустить программу в изолированном и полностью воспроизводимом окружении.
Например, даже если программа использует /dev/urandom, то будучи запущенной в hermit, программа будет забирать эти данные из псевдослучайного генератора, который, если потребуется, будет отдавать одни и те же данные при воспроизведении работы контейнера с программой.
Полезен инструмент оказывается как в работе над багами в программах, так и, например, при наблюдении за работой подозрительных программ, исполнение которых, будучи запущенным в Hermit, полностью контролируется нами.
#hermit #debug #фидбечат
Например, даже если программа использует /dev/urandom, то будучи запущенной в hermit, программа будет забирать эти данные из псевдослучайного генератора, который, если потребуется, будет отдавать одни и те же данные при воспроизведении работы контейнера с программой.
Полезен инструмент оказывается как в работе над багами в программах, так и, например, при наблюдении за работой подозрительных программ, исполнение которых, будучи запущенным в Hermit, полностью контролируется нами.
#hermit #debug #фидбечат
Записки админа
🔧 Hermit: A reproducible container - ещё один занятный инструмент, который не просто работает как песочница. Hermit позволяет запустить программу в изолированном и полностью воспроизводимом окружении. Например, даже если программа использует /dev/urandom…
🛠 Собственно, в блоге Меты появилась статья с описанием инструмента - Hermit: Deterministic Linux for Controlled Testing and Software Bug-finding.
#hermit #debug #напочитать
#hermit #debug #напочитать
🔧 Хороший список утилит, которые могут оказаться полезными при решении проблем в системе.
https://www.petermcconnell.com/posts/linuxtools/
#debug #troubleshooting #напочитать
https://www.petermcconnell.com/posts/linuxtools/
#debug #troubleshooting #напочитать
Julia Evans выпустила новый комикс, и сделала его доступным бесплатно, с промо-кодом
https://wizardzines.com/zines/debugging-guide
#debug #напочитать
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://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 #напочитать #будничное
Но всё же, как по мне, получилось такое полезное обобщение того, что можно сделать, если мы столкнулись с проблемой, требующей дебага.
https://philbooth.me/blog/how-to-debug
#debug #напочитать #будничное
Много разных презентаций и роликов о debug утилитах. Есть старенькие, есть относительно свежие...
https://elinux.org/Tools_and_Debugging_Presentations
#debug #linux #будничное
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 #напочитать
- Getting started with the debugger.
- All about debuginfo.
- Learn how to use breakpoints.
#gdb #debug #напочитать
⏯️ Record and Replay Framework - интересный инструмент, который позволяет записать выполнение нужной программы, а затем проанализировать записанный процесс, при необходимости повторив его нужное количество раз...
- Пример работы: https://github.com/rr-debugger/rr/wiki/Usage
- Github: https://github.com/rr-debugger/rr
- Сайт: https://rr-project.org/
#debug #rr #gdb
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