diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2016-01-21 11:03:32 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2016-03-11 22:48:21 +0000 |
commit | f2403c39342b723a18a2bea5ed209c8c96203d2b (patch) | |
tree | fae4982a4dbea2848a4f8468dd00b05bc90b8f50 /gdb/testsuite/gdb.base | |
parent | c4b3e547d50b01dcf909498119ff6c0af482f2c8 (diff) | |
download | gdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.zip gdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.tar.gz gdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.tar.bz2 |
gdb: New maint info line-table command.
Add a new command 'maint info line-table' to display the contents of
GDB's internal line table structure. Useful when trying to understand
problems (within gdb) relating to line tables.
gdb/ChangeLog:
* symmisc.c (maintenance_info_line_tables): New function.
(maintenance_print_one_line_table): New function.
(_initialize_symmisc): Register 'maint info line-table' command.
* NEWS: Mention new command.
gdb/doc/ChangeLog:
* gdb.texinfo (Symbols): Document new 'maint info line-table'
command.
gdb/testsuite/ChangeLog:
* gdb.base/maint.exp: New tests for 'maint info line-table'.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/maint.exp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 79924a7..f926c8b 100644 --- a/gdb/testsuite/gdb.base/maint.exp +++ b/gdb/testsuite/gdb.base/maint.exp @@ -471,6 +471,26 @@ gdb_test "maint" \ "\"maintenance\" must be followed by the name of a maintenance command\\.\r\nList.*unambiguous\\..*" \ "maint w/o args" +gdb_test "maint info line-table" \ + "symtab: \[^\n\r\]+${srcfile}.*\\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX.*LINE.*ADDRESS.*" \ + "maint info line-table w/o a file name" + +gdb_test "maint info line-table ${srcfile}" \ + "symtab: \[^\n\r\]+${srcfile}.*INDEX.*LINE.*ADDRESS.*" \ + "maint info line-table with filename of current symtab" + +gdb_test_no_output "maint info line-table ${srcfile2}" \ + "maint info line-table with filename of symtab that is not currently expanded" + +gdb_test_no_output "maint expand-symtabs" + +gdb_test "maint info line-table ${srcfile2}" \ + "symtab: \[^\n\r\]+${srcfile2}.*INDEX.*LINE.*ADDRESS.*" \ + "maint info line-table with filename of symtab that is not current" + +gdb_test_no_output "maint info line-table xxx.c" \ + "maint info line-table with invalid filename" + set timeout $oldtimeout #============test help on maint commands |