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]

Re: [RFA] Add optional sequence number to record log filename


I am OK with it.

It works very good in my pc.  Now, I got 537 gdb record file for a function.  :)

Thanks,
Hui

On Fri, Nov 27, 2009 at 05:35, Michael Snyder <msnyder@vmware.com> wrote:
> Eli, IOU a docs change.
>
> Hui, see parallel RFC thread.
>
>
> 2009-11-26 ?Michael Snyder ?<msnyder@vmware.com>
>
> ? ? ? ?* record.c (cmd_record_save): Add new argument, treated as a
> ? ? ? ?sequence number for save log file names.
>
> Index: record.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/record.c,v
> retrieving revision 1.40
> diff -u -p -r1.40 record.c
> --- record.c ? ?24 Nov 2009 01:47:51 -0000 ? ? ?1.40
> +++ record.c ? ?26 Nov 2009 21:37:30 -0000
> @@ -30,6 +30,7 @@
> ?#include "record.h"
> ?#include "elf-bfd.h"
> ?#include "gcore.h"
> +#include "cli/cli-dump.h"
>
> ?#include <signal.h>
>
> @@ -2330,7 +2331,7 @@ record_save_cleanups (void *data)
> ?static void
> ?cmd_record_save (char *args, int from_tty)
> ?{
> - ?char *recfilename, recfilename_buffer[40];
> + ?char *recfilename;
> ? int recfd;
> ? struct record_entry *cur_record_list;
> ? uint32_t magic;
> @@ -2342,19 +2343,33 @@ cmd_record_save (char *args, int from_tt
> ? int save_size = 0;
> ? asection *osec = NULL;
> ? int bfd_offset = 0;
> + ?LONGEST tmp;
>
> ? if (strcmp (current_target.to_shortname, "record") != 0)
> ? ? error (_("This command can only be used with target 'record'.\n"
> ? ? ? ? ? ? "Use 'target record' first.\n"));
>
> ? if (args && *args)
> - ? ?recfilename = args;
> + ? ?{
> + ? ? ?/* Reap the filename, leave args pointing to any following arg. ?*/
> + ? ? ?recfilename = scan_filename_with_cleanup (&args, NULL);
> + ? ?}
> ? else
> ? ? {
> ? ? ? /* Default recfile name is "gdb_record.PID". ?*/
> - ? ? ?snprintf (recfilename_buffer, sizeof (recfilename_buffer),
> +#define DEFSIZE 80
> + ? ? ?recfilename = xmalloc (DEFSIZE);
> + ? ? ?snprintf (recfilename, DEFSIZE,
> ? ? ? ? ? ? ? ? "gdb_record.%d", PIDGET (inferior_ptid));
> - ? ? ?recfilename = recfilename_buffer;
> + ? ? ?make_cleanup (xfree, recfilename);
> + ? ?}
> +
> + ?/* Look for optional sequence number. ?*/
> + ?if (args && *args)
> + ? ?{
> + ? ? ?tmp = parse_and_eval_long (args);
> + ? ? ?strcat (recfilename, ".");
> + ? ? ?strcat (recfilename, plongest (tmp));
> ? ? }
>
> ? /* Open the save file. ?*/
>
>


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