Итак, у меня есть этот исполняемый файл, скомпилированный с параметрами -g
, который запускает множество предупреждений о невыровненном доступе к пользовательскому пространству.
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x004148c2 ins=0x012e
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x004148c2 ins=0x012e
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x004148c2 ins=0x012e
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1407 pc=0x0041515c ins=0x011e
Unaligned userspace access in "softtest" pid=1406 pc=0x004148c2 ins=0x012e
Сообщение об ошибке содержит некоторую информацию: счетчик программы и инструкцию, но я не знаю, как преобразовать ПК в файл и строку в моем коде.
Я могу понюхать это как цикл, выполняющий некоторое копирование памяти или что-то в этом роде, поскольку адрес очень часто один и тот же.
Итак, вопрос: как я могу узнать, что это за файл и строка в моем коде, вызывающем этот невыровненный доступ, с помощью инструментов Linux?
Есть что-нибудь по этому поводу?