Update find command help and search memory docs
Commit Message
On 2017-11-26 10:26 PM, Eli Zaretskii wrote:
>> From: Dominik Czarnota <dominik.b.czarnota@gmail.com>
>> Date: Sun, 26 Nov 2017 21:40:30 +0100
>> Cc: gdb-patches@sourceware.org
>>
>> Changed space after dot into two and fixed a typo `tralinig` -> `trailing`.
>>
>>
>>
>> gdb/ChangeLog:
>>
>> PR gdb/21945
>> * findcmd.c (_initialize_mem_search), gdb/doc/gdb.texinfo: Update
>> find command description.
>> * doc/gdb.texinfo: Update search memory description and example.
>
> OK.
>
I tried to build the doc and got this:
/home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11924: misplaced {
/home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11924: misplaced }
/home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11975: misplaced {
/home/simark/src/binutils-gdb/gdb/doc/gdb.texinfo:11975: misplaced }
It is necessary to escape the { and } with a @.
Also, the doc changes should be mentioned in the ChangeLog in the
doc directory (the closest to the changed files in the tree). Also,
when changing something in the texinfo documents, we try to mention
the section, like this:
* gdb.texinfo (Search Memory): Update description and example
about how to search a string without NULL terminator.
Thanks for the patch, I fixed those small issues and pushed this:
From ee9a09e959a5b7c152cc72028d4f6c879bc901c9 Mon Sep 17 00:00:00 2001
From: Dominik Czarnota <dominik.b.czarnota@gmail.com>
Date: Sun, 26 Nov 2017 22:42:18 -0500
Subject: [PATCH] Update find command help and search memory docs
This patch updates the `find` command help and docs description to show
how to search for not null terminated strings when current language's
strings includes it.
gdb/ChangeLog:
PR gdb/21945
* findcmd.c (_initialize_mem_search): Update find command help
text.
gdb/doc/ChangeLog:
PR gdb/21945
* gdb.texinfo (Search Memory): Update description and example
about how to search a string without NULL terminator.
---
gdb/ChangeLog | 6 ++++++
gdb/doc/ChangeLog | 6 ++++++
gdb/doc/gdb.texinfo | 8 +++++++-
gdb/findcmd.c | 4 +++-
4 files changed, 22 insertions(+), 2 deletions(-)
@@ -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
@@ -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
@@ -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
@@ -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."),