Add support for reading frame registers to Python API.
The ability to read registers is needed to use Frame Filter API to display the frames created by JIT compilers. gdb/ChangeLog: 2014-08-29 Sasha Smundak <asmundak@google.com> * python/py-frame.c (frapy_read_register): New function. gdb/doc/ChangeLog: 2014-08-26 Sasha Smundak <asmundak@google.com> * python.texi (Frames in Python): Add read_register description. gdb/testsuite/ChangeLog: 2014-08-26 Sasha Smundak <asmundak@google.com> * gdb.python/py-frame.exp: Test Frame.read_register.
This commit is contained in:
parent
ac740bc7a9
commit
5f3b99cfed
7 changed files with 77 additions and 0 deletions
|
@ -94,3 +94,20 @@ gdb_test "python print ('result = %s' % f0.read_var ('variable_which_surely_does
|
|||
gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.read_var - success"
|
||||
|
||||
gdb_test "python print ('result = %s' % (gdb.selected_frame () == f1))" " = True" "test gdb.selected_frame"
|
||||
|
||||
# Can read SP register.
|
||||
gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
|
||||
" = True" \
|
||||
"test Frame.read_register(sp)"
|
||||
|
||||
# PC value obtained via read_register is as expected.
|
||||
gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.pc()))" \
|
||||
" = True" \
|
||||
"test Frame.read_register(pc)"
|
||||
|
||||
# On x86-64, PC is in $rip register.
|
||||
if {[istarget x86_64-*]} {
|
||||
gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.read_register('rip')))" \
|
||||
" = True" \
|
||||
"test Frame.read_register(rip)"
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue