Я работаю над своим встроенным приложением на Ubuntu 16.0.4. Я написал драйвер для мониторинга вентилятора для моей доски. Драйвер повреждает ядро, и система должна быть перезагружена. Я включил kdump и использовал утилиту сбоя для анализа трассировки стека. Для меня след выглядит следующим образом:Как прочитать выход утилиты сбоя для номеров исходных строк?
crash> bt
PID: 2935 TASK: c01a8000 CPU: 3 COMMAND: "mk7i"
#0 [e309ddbc] crash_kexec at c10fa4ce
#1 [e309de1c] path_openat at c11e812b
#2 [e309de94] do_page_fault at c105de55
#3 [e309dea4] error_code (via page_fault) at c17a9185
EAX: 00000400 EBX: 037ea1e0 ECX: f0a746c4 EDX: 00000000 EBP: e309df00
DS: 007b ESI: 00000000 ES: 007b EDI: e3f47000 GS: 00e0
CS: 0060 EIP: f0a718f4 ERR: ffffffff EFLAGS: 00210212
#4 [e309ded8] fmon_read_value at f0a718f4 [fmon]
#5 [e309dee8] security_file_permission at c12f73ae
#6 [e309df04] proc_reg_read at c1239c2b
#7 [e309df24] __vfs_read at c11da81d
#8 [e309df38] vfs_read at c11dae8a
#9 [e309df5c] sys_read at c11db92c
#10 [e309df84] do_fast_syscall_32 at c1003936
#11 [e309dfb0] sysenter_past_esp at c17a8093
EAX: ffffffda EBX: 00000012 ECX: 037ea1e0 EDX: 00000400
DS: 007b ESI: 037f6360 ES: 007b EDI: ffffff98
SS: 007b ESP: a802a834 EBP: a802a888 GS: 0033
CS: 0073 EIP: b76f8c31 ERR: 00000003 EFLAGS: 00200292
Функция «fmon_read_value», что приводит к неисправности в моем модуле драйвера. Я хотел бы знать, как я могу сопоставить адрес в этой функции/модуле с номером исходной строки? В этом случае адрес f0a718f4