using gdb to do embedded unit/regression testing

Michael Snyder msnyder@vmware.com
Mon Nov 3 19:26:00 GMT 2008


EBo wrote:
> Hello,
> 
> I have a simple proof of concept which does simple live inplace
> unit/regression testing on embedded hardware via a JTAG interface.  To really
> make gdb work for this context I will either have to use "More complex GDB
> scripting" and/or modify gdb's command line interface and print command.

You should check out src/gcc/testsuite.  The gcc testsuites on
embedded targets are all set up to use gdb as an execution engine.

And you get to use dejagnu as your scripting language (lucky you).


> The current issue at hand is that `print "STRING"` only works if the program
> is running AND gdb can interface with malloc.  On the embedded project which I
> am currently testing this idea out, malloc is not available and the print
> command returns an error.  What I was trying to do is simply write some
> diagnostic comments to help orient myself when reading the output from gdb
> which was piped to a file.  If there is some other way to write diagnostic
> strings to stdout other than `print "STRING"` which does not require some call
> to malloc?  If so please let me know.  I have not seen anything like this in
> the documentation yet.

Yeah, we've all run into that.

Use gdb "echo", rather than print.

Doesn't help if you have variables, but for simple diagnostics it's ok.



> The second issue will be cleaning up and formatting the output from the
> automated unit/regression test suites.  For this I will want/need to suppress
> almost all output from gdb, and use the print command above to deal with the
> formatting.  If I end up using gdb to help do this type of eXtreme/Agile
> program testing I would like to work with the gdb maintainers to have it
> integrated upstream...

I think you want dejagnu.



More information about the Gdb mailing list