[gdb/testsuite] Log wait status on process no longer exists error
Proc gdb_test_multiple can run into a process no longer exists error, but when that happens it shows no details about the process: ... ERROR: Process no longer exists ... Fix this by showing the wait status of the process in the log: ... ERROR: GDB process no longer exists GDB process exited with wait status 8106 exp8 0 0 CHILDKILLED SIGSEGV \ {segmentation violation} ... In order to run the wait commmand we need an explicit pid, so we can't use any_spawn_id, and duplicate the "-i any_spawn_id eof" pattern for gdb_spawn_id, and add the wait status logging there. Build and tested on x86_64-linux. 2018-10-24 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (gdb_test_multiple): Log wait status on process no longer exists error.
This commit is contained in:
parent
8c246a60c0
commit
fe1a5cad30
|
@ -1,3 +1,8 @@
|
||||||
|
2018-10-24 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
|
* lib/gdb.exp (gdb_test_multiple): Log wait status on process no
|
||||||
|
longer exists error.
|
||||||
|
|
||||||
2018-10-24 Tom de Vries <tdevries@suse.de>
|
2018-10-24 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
* gdb.base/catch-follow-exec.exp: Rewrite using gdb_test.
|
* gdb.base/catch-follow-exec.exp: Rewrite using gdb_test.
|
||||||
|
|
|
@ -980,6 +980,17 @@ proc gdb_test_multiple { command message user_code } {
|
||||||
set result -1
|
set result -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-i $gdb_spawn_id
|
||||||
|
eof {
|
||||||
|
perror "GDB process no longer exists"
|
||||||
|
set wait_status [wait -i $gdb_spawn_id]
|
||||||
|
verbose -log "GDB process exited with wait status $wait_status"
|
||||||
|
if { $message != "" } {
|
||||||
|
fail "$message"
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
# Patterns below apply to any spawn id specified.
|
# Patterns below apply to any spawn id specified.
|
||||||
-i $any_spawn_id
|
-i $any_spawn_id
|
||||||
eof {
|
eof {
|
||||||
|
|
Loading…
Reference in New Issue