diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 8 | ||||
-rw-r--r-- | gdb/findcmd.c | 4 |
4 files changed, 22 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b3032ed..6134efc 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-11-26 Dominik Czarnota <dominik.b.czarnota@gmail.com> + + PR gdb/21945 + * findcmd.c (_initialize_mem_search): Update find command help + text. + 2017-11-26 Simon Marchi <simon.marchi@polymtl.ca> * python/python.c (do_start_initialization): Change progname diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 988b7b8..2a1eb76 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2017-11-26 Dominik Czarnota <dominik.b.czarnota@gmail.com> + + PR gdb/21945 + * gdb.texinfo (Search Memory): Update description and example + about how to search a string without NULL terminator. + 2017-11-24 Joel Brobecker <brobecker@adacore.com> * gdb.texinfo (GDB/MI Ada Exception Information): Document diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 00451d2..675f6e7 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -11920,6 +11920,8 @@ giant words (eight bytes) All values are interpreted in the current language. This means, for example, that if the current source language is C/C@t{++} then searching for the string ``hello'' includes the trailing '\0'. +The null terminator can be removed from searching by using casts, +e.g.: @samp{@{char[5]@}"hello"}. If the value size is not specified, it is taken from the value's type in the current language. @@ -11969,7 +11971,11 @@ you get during debugging: (gdb) find &hello[0], +sizeof(hello), 'h', 'e', 'l', 'l', 'o' 0x8049567 <hello.1620> 0x804956d <hello.1620+6> -2 patterns found +2 patterns found. +(gdb) find &hello[0], +sizeof(hello), @{char[5]@}"hello" +0x8049567 <hello.1620> +0x804956d <hello.1620+6> +2 patterns found. (gdb) find /b1 &hello[0], +sizeof(hello), 'h', 0x65, 'l' 0x8049567 <hello.1620> 1 pattern found diff --git a/gdb/findcmd.c b/gdb/findcmd.c index b43fefc..d437b56 100644 --- a/gdb/findcmd.c +++ b/gdb/findcmd.c @@ -293,7 +293,9 @@ and if not specified the size is taken from the type of the expression\n\ in the current language.\n\ Note that this means for example that in the case of C-like languages\n\ a search for an untyped 0x42 will search for \"(int) 0x42\"\n\ -which is typically four bytes.\n\ +which is typically four bytes, and a search for a string \"hello\" will\n\ +include the trailing '\\0'. The null terminator can be removed from\n\ +searching by using casts, e.g.: {char[5]}\"hello\".\n\ \n\ The address of the last match is stored as the value of \"$_\".\n\ Convenience variable \"$numfound\" is set to the number of matches."), |