This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PING^2 Re: [RFAv2 0/6] info [args|functions|locals|variables] [-q] [-t TYPEREGEXP] [NAMEREGEXP]


Thanks
Philippe

On Sun, 2018-08-26 at 18:53 +0200, Philippe Waroquiers wrote:
> [RFAv2 0/6] info [args|functions|locals|variables] [-q] [-t TYPEREGEXP] [NAMEREGEXP]
> 
> This is a follow up to the first RFA.
> The documentation parts were already reviewed by Eli, other parts
> were not reviewed yet.
> Compared to the first RFA, the changes are a rebase to the last trunk version,
> the removal of an unused local variable, and some updates to the new
> info_qt.exp test to ensure unicity of test names.
> 
> Thanks.
> 
> 
> This patch series adds flags and/or arguments
> [-q] [-t TYPEREGEXP] [NAMEREGEXP] to the commands
>   info [args|functions|locals|variables]
> 
> The additional arguments allow to more precisely specify what to print.
> As these new features can usefully be combined with frame apply and thread
> apply, the documentation gives examples combining the above
> and the 'thread apply' and 'frame apply' commands.
> 
> Some examples:
> * print functions returning an int:
>     info functions -t '^int ('
> * print local variables having pthread_t type
>     info locals -t pthread_t
> * print global variables having type 'struct addrinfo'
>     info var -t 'struct addrinfo'
> * print args that are likely file descriptors
>     info arg -t int .*fd.*
> 
> Below examples are combined with the 'thread/frame apply' commands:
> 
> * Assuming lock_something_t is an RAII type, show all locks:
>   thread apply all -s frame apply all -s info locals -q -t lock_something_t
>  or shorter equivalent:
>   tfaas i lo -q -t lock_something_t
> 
> * show frames and args having an arg with type matchin std::.*map
>   so likely  std::map or std::unordered_map
>   frame apply all -s info args -q std::.*map
> 
> 
> The code, documentation, NEWS, test and ChangeLog are (supposed to be) complete.
> 
> The changes in RFA v2 are:
> * Removal of an unused local variable.
> * Updates to the test info_qt.exp, to ensure no duplicate in test names.
> 
> Compared to the RFC, the changes in RFA v1 are:
> * All comments of Eli on the documentation have been handled.
> * ChangeLog entries added in commit messages
> * Test added.
> 
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]