Commit 0916bf26 authored by Jeremy Bicha's avatar Jeremy Bicha

New upstream version 0.9.8

parents 02f47ed6 5175703a
Jeffrey Stedfast <fejj@novell.com>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
## Process this file with automake to produce Makefile.in
SUBDIRS = src po
EXTRA_DIST = \
autogen.sh \
alleyoop.glade \
alleyoop.gladep \
intltool-merge.in \
intltool-update.in \
intltool-extract.in
DISTCLEANFILES = \
intltool-merge \
intltool-update \
intltool-extract
install-data-local:
@$(NORMAL_INSTALL)
if test -d $(srcdir)/pixmaps; then \
$(mkinstalldirs) $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \
for pixmap in $(srcdir)/pixmaps/*; do \
if test -f $$pixmap; then \
$(INSTALL_DATA) $$pixmap $(DESTDIR)$(datadir)/pixmaps/$(PACKAGE); \
fi \
done \
fi
dist-hook:
if test -d pixmaps; then \
mkdir $(distdir)/pixmaps; \
for pixmap in pixmaps/*; do \
if test -f $$pixmap; then \
cp -p $$pixmap $(distdir)/pixmaps; \
fi \
done \
fi
This diff is collapsed.
Alleyoop 0.9.5, 2009-03-07
--------------------------
New Features:
- Added support for the --ignore-ranges, --malloc-fill, and
--free-fill Memcheck options.
- Added support for the --happens-before, --trace-addr, and
--trace-level Helgrind options.
Bugs Fixed:
- Don't try to use --avoid-strlen-errors which is no longer
supported by Valgrind.
- Fixed -I, -R and --tool command-line options to work as expected.
Alleyoop 0.9.4, 2009-02-08
--------------------------
Bugs Fixed:
- Got rid of custom debugging symbol lookup code which was
unnecessary and broke the build on recent Linux distributions like
openSUSE 11.1
- Fixed some bugs in the Valgrind error parser.
Alleyoop 0.9.3, 2006-08-14
--------------------------
Bugs Fixed:
- Replaced popt option parsing code with custom option parsing code
to get around memory corruption caused by popt.
Alleyoop 0.9.2, 2006-07-28
--------------------------
Bugs Fixed:
- Select the row being right-clicked before spawning the popup menu
so that menu items are properly (de)sensitised.
- Chaneged the default schema value for --leak-check to "no" instead
of "false" which doesn't work.
- Fixed to properly parse the Valgrind 3.1.0 timestamp format.
Alleyoop 0.9.1, 2006-06-12
--------------------------
Bugs Fixed:
- Work with Valgrind 3.1.0. Had to remove support for
"Sloppy Malloc" which is a feature that has been removed
in Valgrind 3.1.0. Also had to switch to using --log-fd
rather than --logfile-fd.
Alleyoop 0.9.0, 2005-05-05
--------------------------
New Features:
- Added support for Valgrind's new time-stamp feature
- Added support for suppression matching against leak reports
Bugs Fixed:
- Handle calling Valgrind 2.4.0 (uses slightly different
command-line options)
- Fixed a memory leak in the code that forked off the program being
debugged.
Alleyoop 0.8.3, 2005-02-08
--------------------------
Bugs Fixed:
- Handle "warning: ..." messages from valgrind
- Use bfd_get_section_size() instead of
bfd_get_section_size_before_reloc() if the system bfd doesn't have it.
Updated Translations:
- en_CA (Adam Weinberger)
- gu (Ankit Patel)
- nb (Kjartan Maraas)
- uk (Yuriy Syrota)
Alleyoop 0.8.2, 2004-04-03
--------------------------
New Features
- Added support for the Helgrind skin
- Added a checkbox for "Track open file descriptors" which is a new
feature in Valgrind 2.1.x
- Only pass command-line arguments to valgrind if the value is not
the default value (allows users to use older valgrinds which don't
have some of the new features as long as they leave the default value
for that setting alone).
Updated Translations:
- en_GB (Gareth Owen)
- ga (Alastair McKinstry)
- hr (Robert Sedak)
- no (Kjartan Maraas)
- zh_CN (Wang Jian)
Alleyoop 0.8.1, 2004-02-09
--------------------------
Bugs Fixed:
- "Suppress error" now handles Addr[1,2,4,8] and Free errors.
- Fixed warning spewage about appending NULL to a GString.
- Use fctnl with the FD_CLOEXEC flag instead of closing all fds in
the child process before exec.
- Don't pass --suppressions=<filename> if <filename> doesn't exist.
Updated Translations:
- az (Metin Amiroff)
- cs (Miloslav Trmac)
- hr (Robert Sedak)
- mn (Sanlig Badral)
- sk (Marcel Telka)
- sq (Laurent Dhima)
Alleyoop 0.8.0, 2003-10-21
--------------------------
Bugs Fixed:
- Fixed a small memory leak when freeing suppression rules.
New Features:
- After adding a new suppression rule, immediately remove all
matching errors from the view. Suppress further errors matching
the new rule as well.
- Default the AddrCheck/MemCheck checkboxes to 'on' in the new-rule
editor.
Updated Translations:
- az (Metin Amiroff)
- ca (Jordi Mallach)
- cs (Miloslav Trmac)
- de (Christian Neumair)
- el (Kostas Papadimas)
- es (Pablo Gonzalo del Campo)
- fr (Christophe Merlet)
- it (Alessio Frusciante)
- ja (Takeshi AIHANA)
- ms (Hasbullah Bin Pit)
- nl (Vincent van Adrighem)
- pl (Artur Flinta)
- pt (Duarte Loreto)
- ru (Valek Filippov)
- sr (Danilo Šegan)
- sv (Christian Rose)
Alleyoop 0.7.3, 2003-06-01
--------------------------
Bugs Fixed:
- Handle Valgrind error spewage from multiple pid's concurrently.
- Fixed some warning spewage.
- Plugged a memory leak by unreffing the GnomeProgram object after
exiting the main loop.
Alleyoop 0.7.2, 2003-05-21
--------------------------
Bugs Fixed:
- Don't leak the symtab on exit.
- Don't leak references to the gconf client.
- Fixed a bug in the suppression list dialog reguarding the deletion
of rules.
- Suppress "IGNORED call to:" errors reported from Valgrind.
- Don't allow a user to save a suppresion rule without a name.
- Handle Valgrind 1.9.6's thread-id output.
New Features:
- Ability to specify which skins to suppress an error in.
- Redirect the child process's stdin, stdout, and stderr to
alleyoop's stdin, stdout, and stderr respectively. This
allows one to debug console applications more easily.
- Added a new right-click context menu item to launch the user's
custom editor.
Updated Translations:
- ca (Jordi Mallach)
- cs (Miloslav Trmac)
- ja (Takeshi AIHANA)
- no (Kjartan Maraas)
- pt (Duarte Loreto)
- pt_BR (Evandro Fernandes Giovanini)
- sr (Danilo Šegan)
- sr@Latn (Danilo Šegan)
- sv (Christian Rose)
Alleyoop 0.7.1, 2003-04-26
--------------------------
Bugs Fixed:
- Fixed an ABW when creating the prefs notebook widget.
New Features:
- Added support for launching the user's custom editor command-line
when double-clicking on a stack-frame report. Editor command-line
variables include ${lineno} and ${filename}.
- Added a new prefs page for Helgrind options (although as of yet
neither Helgrind nor Cachegrind skins are supported).
- Wrote some basic documentation contained in the README file.
Updated Translations:
- cs (Miloslav Trmac)
- ja (Takeshi AIHANA)
- pt (Duarte Loreto)
- sv (Christian Rose)
Alleyoop 0.7.0, 2003-04-22
--------------------------
Bugs Fixed:
- Build on Linux distributions which do not have a libpopt that
define POPT_TABLEEND.
- When the user opens the suppressions list, load the file contents
instead of doing nothing. :-)
New Features:
- Added the ability to choose which Valgrind 'skin' to use
(currently only memcheck and addrcheck are fully supported). This
preference can be chosen either as a command-line argument
(--skin=[memcheck,addrcheck]) or by using the "Skins" menu.
- Added support for the newer Valgrind (1.9.5) suppressions file
format (the parser remains backwards compatable with the older 1.0.x
format as well).
Alleyoop 0.6.5, 2003-04-20
--------------------------
Bugs Fixed:
- Added NULL-protection for resolved symbol filenames. Fixes a
segfault when objects don't contain the source filenames in their
debugging symbols.
New Features:
- Implemented Cut/Copy/Paste support, although Paste is a no-op.
Alleyoop 0.6.4, 2003-04-19
--------------------------
New Features:
- Users may now configure the number of lines above and below the
target source-file line that contained the error.
- New Search Bar that actually works. Users can now filter out
error messages that don't match a regex that they provide using
the search bar. Clicking the "Clear" button will show all errors.
Updated Translations:
- ja (Takeshi AIHANA)
Alleyoop 0.6.3, 2003-04-16
--------------------------
New Features:
- New command-line arguments (-R, --recursive) which add the source
path value and all subdirectories.
- Added a Edit/Clear menu item to clear the tree-view.
This README is meant to address basic usage of Alleyoop until I get
around to writing some real documentation.
Basic Usage:
------------
To run Alleyoop, execute the following command at a shell prompt:
alleyoop
This will start the main user interface. At this point you will likely
wish to click on the "Run" toolbar button (or use the shortcut keys:
Control+R) which will prompt you to enter the name of a program to
debug and any command-line arguments you wish to pass. Beware that
environment variables in the command-line entered in the prompt will
NOT be expanded.
An easier way to do this (in my opinion, anyway) is to specify the
program on the command-line:
alleyoop ./a.out -v --arg1=foo aout.in
The example above will initialise Alleyoop to run the command:
./a.out -v --arg1=foo aout.in
when you click on the Run toolbar button.
Command-line Arguments and Environment Variables:
-------------------------------------------------
Because the debugging symbols in the program (and/or shared libraries
that the program depends on) may not contain the full path of the
source code for said object, you might need to use one of the
following command-line arguments:
-I, --include
These arguments allow you to specify a single source path for Alleyoop
to scan when 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.
ALLEYOOP_INCLUDE_PATH
Also for your convenience, there exists an environment variable,
ALLEYOOP_INCLUDE_PATH, that Alleyoop will also use for this
purpose. Like the PATH and LD_LIBRARY_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.
Other command-line arguments for Alleyoop include:
--tool
This command-line argument allows you to specify which Valgrind tool
you want to use by default for this particular "Alleyoop Debug
Session". An example usage might be:
alleyoop --tool=addrcheck
-h, --help
Gee, I wonder ;-)
-v, --version
Prints the version and then exits.
Using Alleyoop:
---------------
Okay, now that you've been introduced to starting Alleyoop and its
various command-line arguments, lets take a look at how to actually
use Alleyoop.
The first thing you are likely to notice is a big white rectangular
area right below the toolbar/searchbar. This is the most important
user interface element because this is where the errors will be
reported.
Once you hit that Run button in the toolbar, messages will start to
appear. You should immediately notice that each line of text will have
a side-ways triangle next to it. When you click on one of these
triangles, the error message will expand to present you with more
information. Generally, this information will consist of at least 1
call-chain[1]. When multiple call-chains appear, they will be
separated by a singleton line giving further information about the
error. Usually, call chains after the first will be used to provide
you with clues as to where memory involved in the error was allocated
or freed.
Each line of a call-chain will normally have a side-ways triangle next
to it as well. Expanding a call-chain tree node will, presuming
Alleyoop can find the source file, load a preview of the source code
involved in the error (you can configure the numbr of lines of context
you wish to see in the preview, by default the number of context lines
are 2 lines above and below the line with the error).
There are several operations that you can do with a call-chain node:
1) Double-clicking a call-chain node with the left mouse button will
launch your preferred editor on the source file containing the error
(using the command-line you configured in the Preferences dialog).
2) Right-clicking a call-chain node will popup a context menu allowing
you to:
a) Cut/Copy: Selecting either of these items will copy the current
error condition into your clipboard buffer in the format used by
Valgrind.
b) Suppress[2]: This item will open a suppression editor dialog
pre-filled with the currently selected call-chain
information. The suppression editor will also default the
Suppression-Type and System-call values if it can.
c) Edit in ...: These items all launch the editor specified in the
menu name on the source file containing the error (similar to
double-clicking a call-chain node as explained above).
Note: The GNU/Emacs item is special - it first tries to use
`emacsclient -n +${lineno} "${filename}"`. Failing that, it
falls back to launching a new emacs editor.
Using the Search Bar:
---------------------
Like suppressions, the Search Bar (located just below the toolbar) can
be a valuable tool in limiting the errors you see to those that you
care about seeing.
Unlike suppressions, however, they:
1) do not act like as a blacklist (instead, they act more as a
whitelist).
2) are not permanantly applied - clearing the search will restore the
full error log.
You are currently able to search using the following criteria:
Error contains: This option can be used to search for substrings in
the error summary (toplevel node for each error).
Function contains: Search for errors with a particular function in the
call-chain.
Object contains: Search for errors with a particular shared library
(or other object) in a call-chain.
Source filename contains: Search for errors where a function in the
call-chain is in a particular source file.
Note: Regular Expressions can be used when searching.
Appendix:
---------
1. A call-chain is the first few parent stack frames leading up to the
error.
2. A suppression is a way of ignoring specific errors produced by your
program. For further information, see Valgrind's documentation.
TODO List
=========
* When searching, highlight the part of the error that matches the search
* Add tooltips for config options and other places
* Might want to consider using the XML format from valgrind
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef GETTEXT_PACKAGE
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
#undef HAVE_LIBSM
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
<glade-project>
<name></name>
<program_name></program_name>
</glade-project>
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="Alleyoop"
REQUIRED_AUTOMAKE_VERSION=1.6
(test -f $srcdir/configure.in \
&& test -f $srcdir/ChangeLog \
&& test -d $srcdir/src) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common from the GNOME CVS"
exit 1
}
USE_GNOME2_MACROS=1 . gnome-autogen.sh
This diff is collapsed.
/* config.h.in. Generated from configure.in by autoheader. */
#undef ENABLE_NLS
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef GETTEXT_PACKAGE
#undef HAVE_LC_MESSAGES
#undef HAVE_STPCPY
#undef HAVE_LIBSM
/* Path to the GNU/Emacs editor client. */
#undef EMACSCLIENT_PATH
/* Path to the GNU/Emacs editor. */
#undef EMACS_PATH
/* always defined to indicate that i18n is enabled */
#undef ENABLE_NLS
/* Enable the use of vgstrpool.c (an attempt at keeping memory usage down). */
#undef ENABLE_STRPOOL
/* Package name for gettext */
#undef GETTEXT_PACKAGE
/* Path to the GNOME vim editor. */
#undef GVIM_PATH
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define if your <locale.h> file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Path to a ldd program */
#undef LDD_PATH
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Path to a valgrind program */
#undef VALGRIND_PATH
/* Version number of package */
#undef VERSION
/* Path to the XEmacs editor. */
#undef XEMACS_PATH
This diff is collapsed.
This diff is collapsed.
dnl Process this file with autoconf to produce a configure script.
AC_INIT(configure.in)
AM_INIT_AUTOMAKE(alleyoop, 0.9.8)
AM_MAINTAINER_MODE
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
AC_HEADER_STDC
AC_ARG_PROGRAM
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET