[RFAv2 1/3] Implement 'set print frame-info|frame-arguments presence'.

Tom Tromey tom@tromey.com
Tue Jun 4 17:15:00 GMT 2019


>>>>> "Philippe" == Philippe Waroquiers <philippe.waroquiers@skynet.be> writes:

Philippe> New settings allow to better control what frame information is printed.
Philippe> 'set print frame-info' allows to override the default frame information
Philippe> printed when a GDB command prints a frame.

Thanks for the patch.

I wanted to mention - in the last series, I noticed that the ChangeLog
entries didn't wind up in the commit messages.  I think it is a gdb
standard to do that, so please make sure it happens for future pushes.

I realize this is a bit of a pain, but various people have scripts for
automating it, I believe, and so you can pretty much pick one approach
that appeals to you.

Philippe> +  if (args_type == CLI_PRESENCE)
Philippe> +    {
Philippe> +      if (args_iter != Py_None)
Philippe> +	{
Philippe> +	  if (PyIter_Next (args_iter.get ()) != NULL)

This causes a memory leak, because PyIter_Next returns a new reference.
You can wrap it in a gdbpy_ref<> to avoid this problem.

Sometimes I think we just use wrapper functions for the Python API that
let us spell out this stuff in the type system.

Philippe> +  /* Note that this print_what default implies that 'bt' and 'bt no-filters'
Philippe> +     shows different information, as the default for 'bt no-filters
Philippe> +     is LOCATION.  */
Philippe> +  enum print_what print_what = LOC_AND_ADDRESS;

Is this a pre-existing bug?  It seems like something we should change,
since my believe is that "no filters" should produce the same output as
the situation where there are actually no filters installed.

Tom



More information about the Gdb-patches mailing list