Můžete získat SIGBUS z nezarovnaného přístupu, pokud zapnete past s nezarovnaným přístupem, ale normálně je na x86 vypnutá. Můžete jej také získat z přístupu k zařízení s mapou paměti, pokud dojde k nějaké chybě.
Nejlepším řešením je použít debugger k identifikaci chybné instrukce (SIGBUS je synchronní) a pokusit se zjistit, o co se pokoušel.
SIGBUS
může nastat v Linuxu z mnoha jiných důvodů, než jsou chyby zarovnání paměti – například pokud se pokusíte o přístup k mmap
oblast za koncem mapovaného souboru.
Používáte něco jako mmap
, oblasti sdílené paměti nebo podobné?