Alleyoop

by Jeffrey Stedfast <fejj [at] novell [dot] com>



News:

Fri, 28 July 2006: Fixed a bug involving the invalid command line option --leak-check=false (it should have been =no) and a popup menu bug where items would be disabled if you didn't click the row first before right-clicking. The new release is 0.9.2.

Thu, 12 June 2006: Apologies for slacking off and not making any releases in over a year (wow, a year!? that's crazy!), but here it is... 0.9.1. This release is mostly just an update to work with Valgrind 3.1.0. It may not work with <=2.x versions anymore (or even 3.0.x?) due to a change I needed to make in the valgrind command-line arguments passed (namely s/--logfile-fd/--log-fd/).

Thu, 05 May 2005: The Cinco de Mayo release ( 0.9.0) is finally here. Added support for Valgrind 2.4.0 (which is now the only supported Valgrind version since they changed the command-line arguments on me). You can still load old Valgrind logs into this new version of Alleyoop, but Alleyoop 0.9.0 will no longer be able to run older versions of Valgrind.

Tue, 08 February 2005: About time I made another realease ( 0.8.3) just when everyone thought the project was dead!

Sun, 04 April 2004: Released 0.8.2.

Fri, 02 April 2004: Just downloaded and installed Valgrind 2.1.1 and finally Helgrind works for me, so the first thing I did was added it to Alleyoop. I also discovered that Valgrind 2.1.x has implemented one of my 2 major feature requests, being "Track open file descriptors". Three cheers for the Valgrind developers! Support for this setting is now also in Alleyoop CVS. I'll be releasing a new Alleyoop within the next few days (just want to give translators time to translate the new string I added).

Mon, 09 February 2004: Finished the auto-suppression rule generation code to handle Addr[1,2,4,8] and Free errors and have released 0.8.1.

Tue, 21 October 2003: Finally got around to hacking Alleyoop again. As a result, when you add a suppression rule - any errors in the current view matching that suppression are removed, just like they are in Purify. This new feature can be found in 0.8.0.

Sun, 01 June 2003: 0.7.2 is so last month, so I've decided to release a new version numbered 0.7.3.

Wed, 21 May 2003: New release of Alleyoop available (0.7.2).

Sat, 26 April 2003: Released Alleyoop 0.7.1.

Wed, 23 April 2003: Dag Wieers has been kind enough to make Red Hat 9.0 RPM packages of Alleyoop 0.7.0 available at http://dag.wieers.com/packages/alleyoop/ as well as an apt repository at http://dag.wieers.com/apt/.

Tue, 22 April 2003: Another day, another release. I live by the rule release early, release often. Since this version adds support for changing which Valgrind 'skin' to use, I've decided that this release is worthy enough to bump up to 0.7.0.

Sun, 20 April 2003: Made a new (0.6.5) release this morning containing Cut/Copy/Paste support - the last UI element that had previously been unimplented. Alleyoop no longer contains any screenshotware features ;-)

Sat, 19 April 2003: Released Alleyoop 0.6.4 with the following new features:

Fri, 18 April 2003: Just put up a website. What? Surprised this wasn't the first thing I did? Yea, I know - it's on SourceForge and I actually had a working product before a web page. Amazing.


What is Alleyoop?

Well, if you want to know what Alleyoop is, you've come to the right place.

Alleyoop is a graphical front-end to the increasingly popular Valgrind memory checker for x86 GNU/ Linux using the Gtk+ widget set and other GNOME libraries for the X-Windows environment.

Features include a right-click context menu to intelligently suppress errors or launch an editor on the source file/jumping to the exact line of the error condition. A searchbar at the top of the viewer can be used to limit the viewable errors to those that match the regex criteria entered. Also included is a fully functional Suppressions editor.


What is the license on Alleyoop?

Alleyoop is Copyright (C) 2003 Jeffrey Stedfast.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


Where can I get Alleyoop?

Why, here of course. Where else? :-)

You can find Alleyoop's project page at https://sourceforge.net/projects/alleyoop/. All releases will be linked off that page as well as this one.

The latest release is 0.9.2.

I notice that Alleyoop's cvs repository is not currently hosted on SourceForge. Where might one check out development CVS?

Currently Alleyoop development CVS can be found on the GNOME CVS server.

Instructions for GNOME CVS should be on the GNOME website someplace, but for your convenience, here are some basic instructions:

cvs -z3 -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login
cvs -z3 -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co alleyoop

Note that the GNOME CVS anonymous passwd is empty, so just hit Enter when prompted for a password.


What else do I need in order to use Alleyoop?

First, you'll need Valgrind 3.1.x and Alleyoop 0.9.1.

You'll also need a working GNOME 2.x installation, or at least the minimum requirements needed by:


How do I use Alleyoop?

Currently, you must either specify the program to debug (and all options you wish to pass to this program) on the command-line to Alleyoop, or else valgrind the program and save the log to a file and view it later using Alleyoop.

For example, you may run alleyoop in the following manner:

alleyoop ./a.out --foo=bar --baz

Once Alleyoop has started, you may start and stop the a.out process by using the Run and Kill toolbar buttons (or menu options - located in the File menu) respectively.

When you hit Run, Alleyoop will execute the a.out process with the command-line arguments you passed during startup (in this case, --foo=bar --baz).

There will be times when your program depends on shared libraries that may or may not contain symbols providing the full path name for the source files. Since Alleyoop is meant to not only display the memory errors as they happen in your program, but also allow you to launch an editor on the source file containing said error, Alleyoop must somehow know where to look for the source file(s). In this case, you will likely need to pass arguments to Alleyoop as well.

The following command-line arguments exist for your convenience:

-I, --include
These arguments allow you to specify a single source path for Alleyoop to scan when it you request it to load a source preview or launch an editor. You may use these as many times as you like.

-R, --recursive
These arguments, like -I or --include, allow you to specify a source path to Alleyoop. The difference is that -R and --recursive will also add all subdirectories of the path specified to Alleyoop's internal list of source paths.

Also for your convenience, there exists an environment variable, ALLEYOOP_INCLUDE_PATH, that Alleyoop will also use for this purpose. Like other *PATH environment variables, directory names are delimited using the colon (:) character.

Note: paths passed to Alleyoop via the command-line arguments take precedence over any specified in the environment variable under the assumption that the user will have likely set ALLEYOOP_INCLUDE_PATH for all the core libraries that the the programs he/she is interested in debugging while using the command-line arguments for source paths limited to the program itself.

An example usage case might be:

alleyoop -R /cvs/evolution -- evolution --launch-composer

Note the usage of -- to terminate the options meant specifically for Alleyoop.


What does Alleyoop look like?

Since it goes without saying that every GUI Free Software project website must come fully loaded with its fair share of screenshots, I present......


This site hosted by: SourceForge.net Logo