Ошибка отладчика Lazarus в AstraLinux

После успешной компиляции приложения в Lazarus под AstraLinux и попытке запуска появляется сообщение об ошибке отладчика: «Отладчик не смог запустить приложение». При этом окно подробностей ничего внятного не сообщает:

Причина

Вероятнее всего в таком случае виновата блокировка системных вызовов ptrace, которая активируется по-умолчанию, если не убрать соответствующую галочку при установке AstraLinux.

ptrace (от process trace) — системный вызов в Linux, который позволяет трассировать или отлаживать выбранный процесс. ptrace дает полный контроль над процессом: можно изменять ход выполнения программы, смотреть и изменять значения в памяти или состояния регистров. При этом никаких дополнительных прав не получаем — действия ограничены правами запущенного процесса.

Решение

Необходимо отключить блокировку ptrace. Сделать это можно под админом в графическом интерфейсе: Панель управленияБезопасностьПолитика безопасности. Далее открываем раздел Настройки безопасностиСистемные параметры. Нас интересует галочка «Блокировка трассировки ptrace для всех пользователей«. Её необходимо убрать:

После этого применяем изменения и перезагружаемся. После перезагрузки отладчик должен заработать как положено.

То же самое можно выполнить и в терминале (например, по SSH). Для проверки состояния выполняем команду:

$ systemctl is-enabled astra-ptrace-lock

Если ответ «enabled», значит блокировка включена. Выключаем её:

$ sudo astra-ptrace-lock disable
$ sudo reboot

Данная статья проверялась для AstraLinux SE 1.7.2