// 변수 출력 crash> p bt_dev_p bt_dev_p = $1 = (struct brcm_bt_dev *) 0xffffffc095fdf840 // structure 내부 data 출력 crash> struct brcm_bt_dev 0xffffffc095fdf840 struct brcm_bt_dev { c_dev = { kobj = { name = 0x0, entry = { next = 0xffffffc095fdf848, prev = 0xffffffc095fdf848 }, parent = 0x0, kset = 0x0, [ snip ] next = 69 } } } }, task_list = { next = 0xffffffc095fdf970, prev = 0xffffffc095fdf970 } } } // module symbol loading crash> mod -S . mod: cannot find or load object file for xxxx module MODULE NAME SIZE OBJECT FILE ffffffbffc0650f0 brcm_bt_drv 13853 ./brcm_bt_drv.ko // workqueue 출력 crash> runq CPU 0 RUNQUEUE: ffffffc0c58e7d80 CURRENT: PID: 350 TASK: ffffffc0c0b20000 COMMAND: "dhd_dpc" RT PRIO_ARRAY: ffffffc0c58e7eb8 [ 1] PID: 350 TASK: ffffffc0c0b20000 COMMAND: "dhd_dpc" CFS RB_ROOT: ffffffc0c58e7e18 [120] PID: 5437 TASK: ffffffc02cc621c0 COMMAND: "kworker/0:0" [100] PID: 17289 TASK: ffffffc0536a0b40 COMMAND: "kworker/0:0H" [120] PID: 3 TASK: ffffffc0c42b0b40 COMMAND: "ksoftirqd/0" CPU 1 RUNQUEUE: ffffffc0c58f8d80 CURRENT: PID: 10061 TASK: ffffffc052f18000 COMMAND: "mdss_fb0" RT PRIO_ARRAY: ffffffc0c58f8eb8 [ 83] PID: 10061 TASK: ffffffc052f18000 COMMAND: "mdss_fb0" CFS RB_ROOT: ffffffc0c58f8e18 [120] PID: 1238 TASK: ffffffc095c22d00 COMMAND: "kernel_logger" CPU 2 RUNQUEUE: ffffffc0c5909d80 CURRENT: PID: 19 TASK: ffffffc0c3e5f080 COMMAND: "ksoftirqd/2" RT PRIO_ARRAY: ffffffc0c5909eb8 [no tasks queued] CFS RB_ROOT: ffffffc0c5909e18 [111] PID: 459 TASK: ffffffc0b28bc380 COMMAND: "DispSync" [120] PID: 8 TASK: ffffffc0c42b4ec0 COMMAND: "rcu_preempt" CPU 3 RUNQUEUE: ffffffc0c591ad80 CURRENT: PID: 2403 TASK: ffffffc0435c0b40 COMMAND: "kworker/3:3" RT PRIO_ARRAY: ffffffc0c591aeb8 [no tasks queued] CFS RB_ROOT: ffffffc0c591ae18 [no tasks queued] CPU 4 RUNQUEUE: ffffffc0c592bd80 CURRENT: PID: 0 TASK: ffffffc0c3ca6540 COMMAND: "swapper/4" RT PRIO_ARRAY: ffffffc0c592beb8 [no tasks queued] CFS RB_ROOT: ffffffc0c592be18 [no tasks queued] CPU 5 RUNQUEUE: ffffffc0c593cd80 CURRENT: PID: 0 TASK: ffffffc0c3ca1680 COMMAND: "swapper/5" RT PRIO_ARRAY: ffffffc0c593ceb8 [no tasks queued] CFS RB_ROOT: ffffffc0c593ce18 [no tasks queued] // list 출력 crash> list delayed_fput_list ffffffc001b81888 ffffffc04b1ab600 ffffffc058036000 ffffffc04ae1ac00 ffffffc04ae1a400 ffffffc09ef22700 ffffffc09ef22200 ffffffc0b37caa00 ffffffc058036800 // open files crash> files 55 // files "pid" PID: 55 TASK: ffffffc0c3001680 CPU: 1 COMMAND: "mpm" ROOT: / CWD: / FD FILE DENTRY INODE TYPE PATH 0 ffffffc017708400 ffffffc0303fb798 ffffffc0c26746c0 UNKN inotify 1 ffffffc017694d00 ffffffc024e2abd0 ffffffc0c26746c0 UNKN inotify crash> foreach files // all pid // symbol to virtual address crash> sym bt_send_data_ldisc ffffffbffc063638 (t) bt_send_data_ldisc [brcm_bt_drv] /source/android/kernel/drivers/bluetooth/broadcom/bt_protocol_driver/brcm_bt_drv.c: 470 // tree 구조 파싱 crash> tree -t radix -r address_space.page_tree 0xFFFFFFC0F1809330 ...skipping... // memory read crash> rd -s 0xFFFFFFC002D06650 128 ffffffc002d06650: print_fmt_writeback_single_inode_template+128
ffffffc007219800 |
|
'runq'에 해당되는 글 '1'건
- 2016/06/14 [Crash] 유용한 명령어