This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/3] Add testcases for examine function


* 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
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]