1 module ("VG", package.seeall);
8 -- * tool Valgrind tool (string: none, memcheck)
9 -- * cmdline application cmd line to start (table of strings)
10 -- * debuglevel=<int> Valgrind "-d" option count
11 -- * verbosity=<int> Valgrind "-v" option count
12 function valgrind(options)
16 local toolbinaries = {
17 none = "none-x86-l4re",
18 memcheck = "memcheck-x86-l4re"
21 args[1] = "rom/"..toolbinaries[options.tool];
23 for i = 1, options.debuglevel do
28 for i = 1, options.verbosity do
33 for k,v in ipairs(options.cmdline) do
38 L4.default_loader:startv({log = {"vg", r}},
43 -- Build default options for starting Valgrind
44 function default_args(cmdline, ...)
48 args.cmdline = {cmdline, ...};
55 -- Launch the nulgrind tool
56 function none(cmdline, ...)
57 args = default_args(cmdline, ...)
66 function memcheck(cmdline, ...)
67 args = default_args(cmdline, ...)
68 args.tool = "memcheck";
69 args.cmdline = { "--leak-check=yes", "--show-reachable=yes", cmdline, ... };
73 function debug_memcheck(cmdline, ...)
77 args.cmdline = { "--leak-check=yes", "--show-reachable=yes", cmdline, ... };
78 args.tool = "memcheck";