Hi, there, I have applied the 2.6.13 kgdb patch into my 2.6.12 kernel in Intel X86_64 Xeon motherboard. kgdb can start well and accept gdb commands and reply. For example, it can stop at kgdb.c after gdb is connected, allow me issue "info regi", "info thr", "next", "step", "continue", and ctrl-C to stop the running kernel etc.
All seem good except the major step: I cannot switch thread. After seeing all threads, I issue "thr 20" to switch to another thread. The command returns OK, and the registers seem to have been changed correctly. But when I issue "next" or "bt", I found it is still in the old thread. What am I missing? Here is the register infor befor issuing thread switch command. (gdb) info regi rax 0xffffffff 4294967295 rbx 0xffffffff8047f860 -2142767008 rcx 0x20 32 rdx 0x0 0 rsi 0xffffffff80689280 -2140630400 rdi 0x0 0 rbp 0xffffffff80636f50 0xffffffff80636f50 rsp 0xffffffff80525038 0xffffffff80525038 r8 0x0 0 r9 0x0 0 r10 0xffff810128021980 -139633010534016 r11 0xe4 228 r12 0xa 10 r13 0x2aaaaacdd360 46912498422624 r14 0x0 0 r15 0x2aaaaacdd360 46912498422624 rip 0xffffffff80155d4b 0xffffffff80155d4b <breakpoint+123> eflags 0x246 582 cs 0x0 0 ss 0x0 0 ds 0x0 0 es 0x0 0 fs 0x0 0 ---Type <return> to continue, or q <return> to quit--- gs 0x0 0 (gdb) Here is the thread I want to switch to: 19 thread 8365 (tom_ext3_1) 0xffffffff803803d0 in thread_return () at kernel/sched.c:1481 Sending packet: $qThreadExtraInfo,20ab#aa...Ack Packet received: 64645f7070617274006c6f636b000000 Sending packet: $Hg20ab#d4...Ack Packet received: OK Sending packet: $g#67...Ack Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c89d85270181ffff489d85270181ffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0033880ffffffff4600000000000000 Here is the register info after I issued thread (gdb) info regi rax 0x0 0 rbx 0x0 0 rcx 0x0 0 rdx 0x0 0 rsi 0x0 0 rdi 0x0 0 rbp 0xffff810127923dc8 0xffff810127923dc8 rsp 0xffff810127923d48 0xffff810127923d48 r8 0x0 0 r9 0x0 0 r10 0x0 0 r11 0x0 0 r12 0x0 0 r13 0x0 0 r14 0x0 0 r15 0x0 0 rip 0xffffffff803803d0 0xffffffff803803d0 <thread_return> eflags 0x46 70 cs 0x0 0 ss 0x0 0 ds 0x0 0 es 0x0 0 fs 0x0 0 ---Type <return> to continue, or q <return> to quit--- gs 0x0 0 (gdb) Here is the gdb packet exchange information when I issue "next" command after thread switching: (gdb) n Sending packet: $Hg34b5#ad...Ack Packet received: OK Sending packet: $g#67...Ack Packet received: ffffffff0000000060f84780ffffffff2000000000000000000000000000000080926880ffffffff0000000000000000506f6380ffffffff38505280ffffffff00000000000000000000000000000000801902280181ffffe4000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a00004b5d1580ffffffff4602000000000000 Sending packet: $Hg20ad#d6...Ack Packet received: OK Sending packet: $g#67...Ack Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c83d92270181ffff483d92270181ffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0033880ffffffff4600000000000000 Sending packet: $Hg34b5#ad...Ack Packet received: OK Sending packet: $g#67...Ack Packet received: ffffffff0000000060f84780ffffffff2000000000000000000000000000000080926880ffffffff0000000000000000506f6380ffffffff38505280ffffffff00000000000000000000000000000000801902280181ffffe4000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a00004b5d1580ffffffff4602000000000000 Sending packet: $vCont?#49...Ack Packet received: Packet vCont (verbose-resume) is NOT supported Sending packet: $Hc0#db...Ack Packet received: OK Sending packet: $s#73...Ack Packet received: T05thread:00000000000034b5; Sending packet: $g#67...Ack Packet received: ffffffff0000000060f84780ffffffff2000000000000000000000000000000080926880ffffffff44fd3a80ffffffff506f6380ffffffff38505280ffffffff00000000000000000000000000000000801902280181ffffe4000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a0000525d1580ffffffff4603000000000000 Sending packet: $mffffffff80525040,8#99...Ack Packet received: 795d1580ffffffff Sending packet: $s#73...Ack Packet received: T05thread:00000000000034b5; Sending packet: $g#67...Ack Packet received: 000000000000000060f84780ffffffff2000000000000000000000000000000080926880ffffffff44fd3a80ffffffff506f6380ffffffff38505280ffffffff00000000000000000000000000000000801902280181ffffe4000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a0000545d1580ffffffff4603000000000000 Sending packet: $s#73...Ack Packet received: T05thread:00000000000034b5; Sending packet: $g#67...Ack Packet received: 000000000000000060f84780ffffffff2000000000000000000000000000000080926880ffffffff44fd3a80ffffffff506f6380ffffffff30505280ffffffff00000000000000000000000000000000801902280181ffffe4000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a0000602d1380ffffffff4603000000000000 Sending packet: $mffffffff80525030,8#98...Ack Packet received: 595d1580ffffffff Sending packet: $Z0,ffffffff80155d59,1#18...Ack Packet received: OK Packet Z0 (software-breakpoint) is supported Sending packet: $c#63...Ack Packet received: T05thread:00000000000034b5; Sending packet: $g#67...Ack Packet received: 05000000000000000400000000000000406e5f80ffffffff0000000000000000c7b300000000000040c14780ffffffff506f6380ffffffff38505280ffffffff00000000000000000000000000000000000000000000000000000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a00005a5d1580ffffffff9602000000000000 Sending packet: $P10=595d1580ffffffff#f3...Ack Packet received: Sending packet: $G05000000000000000400000000000000406e5f80ffffffff0000000000000000c7b300000000000040c14780ffffffff506f6380ffffffff38505280ffffffff00000000000000000000000000000000000000000000000000000000000000000a0000000000000060d3cdaaaa2a0000000000000000000060d3cdaaaa2a0000595d1580ffffffff9602000000000000#3a...Ack Packet received: OK Sending packet: $z0,ffffffff80155d59,1#38...Ack Packet received: OK Sending packet: $mffffffff80525040,8#99...Ack Packet received: 795d1580ffffffff breakpoint () at kernel/kgdb.c:1823 1823 ; The issue is it is still in kgdb.c, not switch to my tom_ext3_1 thread. Thanks! Jinggang ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Kgdb-bugreport mailing list Kgdb-bugreport@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport