cwshu / valgrindrr

Valgrind with record-replay functionality

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ValgrindRR

Make a record-replay debugging functionality into Valgrind 3.9.0.

We still consider make a Valgrind tool with RR-functionality or make patch to Valgrind core to let it support RR.

We want to use record-replay functionality with vgdb for debugging.

We are now doing the plan on valgrindrr_porting branch which is porting Mojiong's valgrindrr (for valgrind 3.3) to valgrind 3.9.

valgrindrr_porting branch

valgrindrr only support 32bits platform currently, but we can use it on 64bits linux to debug 32bits binary.

building step

  • i386 linux:

    ./autogen.sh
    ./configure --prefix=`pwd`/inst
    make
    make install
    
  • amd64 linux:

    ./autogen.sh
    ./configure --prefix=`pwd`/inst --build=i386-linux
    make
    make install
    
  • ref: valgrind's build step: build valgrind tool

The executable is inst/bin/valgrind.

testing command

  • record:

    valgrind --record-replay=1 --log-file-rr=<log_file> <exe> <exe_args>
    

<exe> and <exe_args> is client program we want to run on the valgrindrr.

  • replay:

    valgrind --record-replay=2 --log-file-rr=<log_file>
    

testing scenario

RR functionality testing codes are in rr_testcode directory.

  • bugs
    • #1 is for localtime_test.c, the part of /bin/date program
    • #2 is for file_IO.c.

About

Valgrind with record-replay functionality

License:GNU General Public License v2.0


Languages

Language:C 94.1%Language:C++ 3.0%Language:Assembly 1.0%Language:Makefile 0.6%Language:Perl 0.5%Language:M4 0.3%Language:Shell 0.2%Language:GDB 0.1%Language:Haskell 0.0%Language:Groff 0.0%