This is the mail archive of the gdb@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: A question about gdb script


Hui Zhu wrote:
On Thu, Nov 26, 2009 at 03:15, Michael Snyder <msnyder@vmware.com> wrote:
Hui Zhu wrote:

1. If I want get the gdb_record.xxx file of each record cycle.  It's
still hard to me.  Because if I add "record save" to commands, each
time it will save record entry to same file.
Does gdb have some way to handle it? like:
$a=1
record save $a
$a++
If you look at cmd_record_save, you see it has (char *args).
GDB will pass "$a" as "args", so at that point you have the
opportunity to say, eg. "if (args[0] == '$') then do something".

One possibility would be to create your default name, eg.
gdb_record.12345, and then append $a making gdb_record.12345.1

That's the quick and dirty way.  Something more elegant might
be better.

I try this way but got: (gdb) set $record = 3 (gdb) record save core.$record Saved core file core.$record with execution log.

No, what I meant was (gdb) set $foo = 3 (gdb) record save $foo

That way you can look at the *first character* of "args", and
use an 'if' to do something special with it, such as

char *filename = strcat("gdb_record.core", args);

Maybe I can post a patch for it. What about following:
(gdb) set record not_overwrite_save on
(gdb) record save core
Saved core file core with execution log.
(gdb) record save core
Saved core file core.0 with execution log.
(gdb) record save core
Saved core file core.1 with execution log.

That's also a possibility, although I think we are headed in the direction of having too many mode variables associated with process rec.


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