A question about gdb script

Michael Snyder msnyder@vmware.com
Thu Nov 26 15:39:00 GMT 2009


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.

> 2.  Sometime, I want just record a function, I want:
> b functon_name
> commands
> silent
> record
> finish
> #Maybe we can record save in this line, this is first question.
> record stop
> end
> But when I really do it.  I found that gdb stop running after finish.

That is unfortunately a long-standing gdb "limitation" (I mean ,
known bug).  It is so old that it is not likely to be fixed soon.



More information about the Gdb mailing list