[PATCH 1/3] Add testcases for examine function
Andrew Burgess
andrew.burgess@embecosm.com
Wed Nov 4 21:37:00 GMT 2015
* Fei Jie <feij.fnst@cn.fujitsu.com> [2015-11-04 15:09:45 +0800]:
> use examine to display the content of main function's address
> in different formats and examine address that can not be accessed
> ---
> gdb/testsuite/gdb.base/testexamine.exp | 42 ++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
> create mode 100644 gdb/testsuite/gdb.base/testexamine.exp
>
> diff --git a/gdb/testsuite/gdb.base/testexamine.exp b/gdb/testsuite/gdb.base/testexamine.exp
> new file mode 100644
> index 0000000..16d916d
> --- /dev/null
> +++ b/gdb/testsuite/gdb.base/testexamine.exp
> @@ -0,0 +1,42 @@
> +if {[prepare_for_testing testprint.exp testprint display.c \
> + {debug nowarnings}]} {
> + untested testprint.exp
> + return -1
> +}
> +
> +if ![runto_main] then {
> + fail "Can not run to main."
> +}
> +
> +#Get main address
> +set main_addr ""
> +gdb_test_multiple "print/x &main" "getting main's address" {
> + -re "$decimal = \($hex\)\r\n$gdb_prompt $" {
> + set main_addr $expect_out(1,string)
> + }
> +}
> +
> +#Test x(examine)
> +gdb_test "x" \
> + "Argument required.*"
> +gdb_test "x/x $main_addr" \
> + ".*<main>.*0xe5894855"
These addresses are not going to be correct for all the different
targets that gdb supports. Or even a different version of GCC (or
whatever compiler) building the same target as you are.
Thanks,
Andrew
> +gdb_test "x/d $main_addr" \
> + ".*<main>.*-443987883"
> +gdb_test "x/u $main_addr" \
> + ".*<main>.*3850979413"
> +gdb_test "x/o $main_addr" \
> + ".*<main>.*034542244125"
> +gdb_test "x/t $main_addr" \
> + ".*<main>.*11100101100010010100100001010101"
> +gdb_test "x/a $main_addr" \
> + ".*<main>.*0xb8e5894855"
> +gdb_test "x/c $main_addr" \
> + ".*<main>.*85\ \'U\'"
> +gdb_test "x/f $main_addr" \
> + ".*<main>.*3.923498621684153e-312"
> +gdb_test "x 0x000000000000" \
> + "Cannot access memory at address 0x0"
> +
> +gdb_exit
> +return 0
> --
> 1.8.3.1
>
More information about the Gdb-patches
mailing list