2016-06-14 3 views
0

Я работаю над своим встроенным приложением на 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

ответ

0

Опция «-l» для демонтажа будет делать трюк. Например: сбой> dis -lr f0a718f4

 Смежные вопросы

  • Нет связанных вопросов^_^