From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27183 invoked by alias); 26 Nov 2017 15:45:22 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 27108 invoked by uid 89); 26 Nov 2017 15:45:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.7 required=5.0 tests=BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KB_WAM_FROM_NAME_SINGLEWORD,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=hey X-HELO: mail-wm0-f48.google.com Received: from mail-wm0-f48.google.com (HELO mail-wm0-f48.google.com) (74.125.82.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 26 Nov 2017 15:45:13 +0000 Received: by mail-wm0-f48.google.com with SMTP id v186so30248877wma.2 for ; Sun, 26 Nov 2017 07:45:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0Ih2edWNd6GyexK2UH60nXSMkfEN6vbZLr8kGEt8qBY=; b=jcUrA4p2cmlmEgu9OeAVNHq5+05OeIsyJaRdRp4zJHis8vPK+5IfjP8D4ZpuQcT1ka rPSe/Ke2Yu+udSQMQQ2Iwoz9n5Ef/vzA0/pvm56gmVKrFb2nCW8hFt29OOhzgqCw7DxF ypjIXnZvN8uHULNOLZG8ct0gNK8spzLP34rwpozL7z5mAI+PzSX+nPMazwBD6Vni9yUw Nae/Sd7yVmzSARPiceU4tIj2OLzdTPMn94aRLLWGRZHNg8lroPePh81P1a+er1r4U4Za vC7dGm8fU/DM9ae/F71xtC8wlZwBKxAz7JdMuO2ZVnQwyhFmlkb2rc4nwgUcplTmkNMh tzeQ== X-Gm-Message-State: AJaThX7KVX3vbdA+ztUY1UFxfTV0314ylhT2Vuekokqu7arlYzsYz319 Jojtwmh0APhqOFmd4MV5MexBxtVHF/XxIWKGd+QEZt+Y X-Google-Smtp-Source: AGs4zMYPbD3UHIaxzzuAHFzf6Ep5eMrAyTlJWUZA5yWfPXI8JWKjNhIEyNHO/lwwdC7mOWlNLDMUT7EZ8mCVfePFxLc= X-Received: by 10.80.226.12 with SMTP id n12mr33012169edl.177.1511711111210; Sun, 26 Nov 2017 07:45:11 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.134.45 with HTTP; Sun, 26 Nov 2017 07:44:30 -0800 (PST) From: Dominik Czarnota Date: Sun, 26 Nov 2017 15:45:00 -0000 Message-ID: Subject: Update find command help and search memory docs To: gdb-patches@sourceware.org Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2017-11/txt/msg00663.txt.bz2 Hey, This patch updates `find` command help and docs description to show how to search for not null terminated strings when current language's strings includes it. It addresses an issue I have opened here: https://sourceware.org/bugzilla/show_bug.cgi?id=21945 and so it can be closed. Thanks, Dominik aka 'disconnect3d' 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. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 00451d243d..5b9946a9cf 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 0x804956d -2 patterns found +2 patterns found. +(gdb) find &hello[0], +sizeof(hello), {char[5]}"hello" +0x8049567 +0x804956d +2 patterns found. (gdb) find /b1 &hello[0], +sizeof(hello), 'h', 0x65, 'l' 0x8049567 1 pattern found diff --git a/gdb/findcmd.c b/gdb/findcmd.c index b43fefc06d..ff6088eac1 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 tralinig '\\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."),