This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 1/3] Add testcases for examine function
- From: Fei Jie <feij dot fnst at cn dot fujitsu dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Wed, 4 Nov 2015 15:09:45 +0800
- Subject: [PATCH 1/3] Add testcases for examine function
- Authentication-results: sourceware.org; auth=none
- References: <1446620987-4140-1-git-send-email-feij dot fnst at cn dot fujitsu dot com>
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"
+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