GNU/Linux >> Znalost Linux >  >> Linux

Jak zachytit nezarovnaný přístup k paměti?

ARM Linux udržuje seznam obslužných nástrojů pro zarovnání výjimky,

$ cat /proc/cpu/alignment 
User:           0
System:         0
Skipped:        0
Half:           0
Word:           0
DWord:          0
Multi:          0
User faults:    0 (ignored)

Je aktivní pouze s procfs , ale je těžké si představit systém bez procfs . Konkrétní kód, který to řeší, je v alignment.c. Můžete použít echo 3 > /proc/cpu/alignment mít Linux opravu instrukci a poskytnout nějaké dmesg výstup. Obecně je manipulace s nezarovnanými přístupy prostřednictvím emulace velmi neefektivní. Je lepší kód opravit. signál možnost s připojeným debuggerem by měla poskytnout určité vodítko, pokud jde o zdroj výjimky.

Přečtěte si manuál.;-)


Linux může provést opravu za vás nebo upozornit na přístup.

Toto chování můžete povolit v /proc/cpu/alignment, viz http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment pro vysvětlení různých hodnot.

0 - Do nothing (default behavior)
1 - Warning in kernel-log with PC and Memory-Address printed.
2 - Fixup error
3 - Warn and Fixup
4 - Send a SIGBUS to the process
5 - Send SIGBUS and output Warning

Linux
  1. Jak získat přístup k phpMyAdmin

  2. Jak získat přístup k cPanel

  3. Jak auditovat přístup k souborům v systému Linux

  1. Jak přistupovat (pokud je to možné) k prostoru jádra z uživatelského prostoru?

  2. Jak snížit využití paměti ClamAV?

  3. Jak přistupujete k Webminu?

  1. Jak získat přístup k webové poště v Plesku

  2. Jak vymazat mezipaměť v Linuxu

  3. Jak získat přístup k fyzickým adresám z uživatelského prostoru v Linuxu?