Hasher/gdb: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Для работы '''gdb''' внутри ''hasher'' необходим <tt>/proc</tt> замонтированый в 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 0x0000...»)
 
мНет описания правки
 
Строка 23: Строка 23:
# В <tt>/etc/hasher-priv/fstab</tt> добавить<pre>proc /proc proc rw,nosuid,nodev,noexec,gid=proc,hidepid=2 0 0</pre> главное тут добавление <tt>rw</tt>, так как по умолчанию <tt>/proc</tt> будет смонтирован в <tt>ro</tt> (read-only).
# В <tt>/etc/hasher-priv/fstab</tt> добавить<pre>proc /proc proc rw,nosuid,nodev,noexec,gid=proc,hidepid=2 0 0</pre> главное тут добавление <tt>rw</tt>, так как по умолчанию <tt>/proc</tt> будет смонтирован в <tt>ro</tt> (read-only).
# Заходить в ''hasher'' командой <tt>hsh-shell --mountpoints=/proc</tt>
# Заходить в ''hasher'' командой <tt>hsh-shell --mountpoints=/proc</tt>


{{Category navigation|title=hasher|category=hasher|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=hasher|category=hasher|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=FAQ|category=FAQ|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=FAQ|category=FAQ|sortkey={{SUBPAGENAME}}}}

Текущая версия от 12:34, 16 апреля 2022

Для работы 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

Решение проблемы

  1. В /etc/hasher-priv/system добавить /proc в allowed_mountpoints, например:
    allowed_mountpoints=/proc,/dev/pts,/dev/shm,/sys
  2. В /etc/hasher-priv/fstab добавить
    proc /proc proc rw,nosuid,nodev,noexec,gid=proc,hidepid=2 0 0
    главное тут добавление rw, так как по умолчанию /proc будет смонтирован в ro (read-only).
  3. Заходить в hasher командой hsh-shell --mountpoints=/proc