eclair-dump-backtrace.exp: handle user space threads
This commit is contained in:
@@ -8,19 +8,36 @@ set state "init"
|
|||||||
set thread_id 0
|
set thread_id 0
|
||||||
|
|
||||||
expect {
|
expect {
|
||||||
|
"in ?? ()" {
|
||||||
|
switch -- $state {
|
||||||
|
"thread_chosen" {
|
||||||
|
set state "thread_skip"
|
||||||
|
}
|
||||||
|
"thread_bt" {
|
||||||
|
set state "thread_skip"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
"(eclair) " {
|
"(eclair) " {
|
||||||
switch -- $state {
|
switch -- $state {
|
||||||
"init" {
|
"init" {
|
||||||
set state "threads"
|
set state "threads_list"
|
||||||
send "info threads\r"
|
send "info threads\r"
|
||||||
}
|
}
|
||||||
"threads" {
|
"threads_list" {
|
||||||
incr thread_id
|
incr thread_id
|
||||||
set state "thread_bt"
|
set state "thread_chosen"
|
||||||
send "thread $thread_id\r"
|
send "thread $thread_id\r"
|
||||||
}
|
}
|
||||||
"thread_bt" {
|
"thread_skip" {
|
||||||
set state "threads"
|
incr thread_id
|
||||||
|
set state "thread_chosen"
|
||||||
|
send "thread $thread_id\r"
|
||||||
|
}
|
||||||
|
"thread_chosen" {
|
||||||
|
set state "thread_bt"
|
||||||
send "bt\r"
|
send "bt\r"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,7 +45,17 @@ expect {
|
|||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
"Type <return> to continue, or q <return> to quit" {
|
"Type <return> to continue, or q <return> to quit" {
|
||||||
send "\r"
|
switch -- $state {
|
||||||
|
"threads_list" {
|
||||||
|
send "\r"
|
||||||
|
}
|
||||||
|
"thread_bt" {
|
||||||
|
send "\r"
|
||||||
|
}
|
||||||
|
"thread_skip" {
|
||||||
|
send "q\r"
|
||||||
|
}
|
||||||
|
}
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
" not known." {
|
" not known." {
|
||||||
|
|||||||
Reference in New Issue
Block a user