Re: How to get usefull debugging info...

Andrea Arcangeli (andrea@e-mind.com)
Wed, 21 Apr 1999 12:42:45 +0200 (CEST)


On Wed, 21 Apr 1999 kernel@duct.dhs.org wrote:

>
>*snip*
>> The first step is to be on console at lockup time (luck ;), and press
>> SYSRQ+ALTRIGHT+P and write on paper all different EIP address, then reboot
>> and resolve them through system.map.
>
>What do you mean by resolve them? Sorry If I don't know enough to even
>attempt what I am talking about but I'd like to try.

I'll produce an example. You'll see on the console:

EIP: 0010:[<c0107298>] EFLAGS: 00003246
EAX: 00000000 EBX: c009c000 ECX: c009c000 EDX: c01ae780
ESI: c009c000 EDI: c01e48e0 EBP: c01c7fac DS: 0018 ES: 0018
CR0: 8005003b CR2: 0827908c CR3: 00101000

So the interesting number is c0107298.

Then open the System.map of the running kernel (linux/System.map after a
compile) and browse the symbols:

c0107248 T disable_hlt
c0107250 T enable_hlt
c0107258 T cpu_idle
^^^^^^^^
c01072ac T sys_idle
c01072d0 T machine_restart
c01073c8 T machine_halt
c01073cc T machine_power_off
c01073d0 T show_regs

The interesting number c0107298 means that the CPU was running in the
kernel in the function cpu_idle().

Andrea Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/