Hasher/gdb
< Hasher
Версия от 15:34, 16 апреля 2022; Vt (обсуждение | вклад)
Для работы gdb внутри hasher необходим /proc замонтированый в read-write (rw).
Как проявляется проблема
(gdb) b main (gdb) r Starting program: ... Warning: Cannot insert breakpoint 1. Cannot access memory at address 0x5555556377c0
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff3019207 in ?? () (gdb) bt #0 0x00007ffff3019207 in ?? () Backtrace stopped: Cannot access memory at address 0x7fffffffdd80
Причина
Причина описана тут https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=05c06f318fd9a112529dfc313e6512b399a645e4
Решение проблемы
- В /etc/hasher-priv/system добавить /proc в allowed_mountpoints, например:
allowed_mountpoints=/proc,/dev/pts,/dev/shm,/sys
- В /etc/hasher-priv/fstab добавить
proc /proc proc rw,nosuid,nodev,noexec,gid=proc,hidepid=2 0 0
главное тут добавление rw, так как по умолчанию /proc будет смонтирован в ro (read-only). - Заходить в hasher командой hsh-shell --mountpoints=/proc