gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r26247 - in monkey/trunk: . doc doc/man doc/man/man1 doc/ma


From: gnunet
Subject: [GNUnet-SVN] r26247 - in monkey/trunk: . doc doc/man doc/man/man1 doc/man/man7
Date: Fri, 1 Mar 2013 13:58:59 +0100

Author: teichm
Date: 2013-03-01 13:58:59 +0100 (Fri, 01 Mar 2013)
New Revision: 26247

Added:
   monkey/trunk/doc/
   monkey/trunk/doc/man/
   monkey/trunk/doc/man/man1/
   monkey/trunk/doc/man/man1/pathologist.1
   monkey/trunk/doc/man/man1/seaspider.1
   monkey/trunk/doc/man/man7/
   monkey/trunk/doc/man/man7/monkey.7
Log:
add manpages

Added: monkey/trunk/doc/man/man1/pathologist.1
===================================================================
--- monkey/trunk/doc/man/man1/pathologist.1                             (rev 0)
+++ monkey/trunk/doc/man/man1/pathologist.1     2013-03-01 12:58:59 UTC (rev 
26247)
@@ -0,0 +1,21 @@
+.TH pathologist 1 2013-03-01 "Monkey Debugging System" "Version 0.1"
+
+.SH NAME
+pathologist \- Automatically generates bug reports.
+
+.SH SYNOPSIS
+.B pathologist -d FILE [ options ] [ -- ] BINARY
+.br
+.B pathologist -h | -v
+
+.SH DESCRIPTION
+With pathologist you can run an application and automatically generate a
+bug report, if the programm crashes. Before you can use pathologist, first
+you have to generate an expression database with seaspider. For more
+information about how to use pathologist as part of the Monkey Debugging
+System see
+.B monkey(7)
+.\.
+
+
+.SH OPTIONS

Added: monkey/trunk/doc/man/man1/seaspider.1
===================================================================
--- monkey/trunk/doc/man/man1/seaspider.1                               (rev 0)
+++ monkey/trunk/doc/man/man1/seaspider.1       2013-03-01 12:58:59 UTC (rev 
26247)
@@ -0,0 +1,15 @@
+.TH seaspider 1 2013-03-01 "Monkey Debugging System" "Version 0.1"
+
+.SH NAME
+seaspider \- builds an expression database via static code analysis.
+
+.SH SYNOPSIS
+
+.SH DESCRIPTION
+For more information about how to use the generated database with pathologist
+as part of the Monkey Debugging System see
+.B monkey(7)
+.\.
+
+
+.SH OPTIONS

Added: monkey/trunk/doc/man/man7/monkey.7
===================================================================
--- monkey/trunk/doc/man/man7/monkey.7                          (rev 0)
+++ monkey/trunk/doc/man/man7/monkey.7  2013-03-01 12:58:59 UTC (rev 26247)
@@ -0,0 +1,72 @@
+.TH monkey 7 2013-03-01 "Monkey Debugging System" "Version 0.1"
+
+.SH NAME
+monkey \- An automated debugging tool.
+
+.SH DESCRIPTION
+.P
+The Monkey Debugging System is a three part toolset for automtically generating
+bug reports.
+.P
+To allow automated stack analysis with pathologist, you first have to generate
+an expression database with
+.B seaspider(1)
+. Seaspider will do some static code analysis and generate a sqlite database
+file containing all the expressions in your source code. Seaspider will also
+analyze preprocessor macros and add them to the database. If you have some
+variables in your source code, which contain private information of the user,
+you can specify an ignore file which contains regular expressions to exclude
+those variables from the database and therefore prevent later appearance of
+the private data in the bug report.
+
+.P
+After the expression database has been generated, you can ship this database
+along with the
+.B pathologist(1)
+binary, which will run your application and catch any crashes, which might
+occur. Post mortem the stack will be analyzed via gdb and all relevant
+expressions in the stacktrace will be evaluated and written to the bug report
+in xml format. When the report has been succesfully written, pathologist can
+send it back to the developer via mail.
+
+.P
+The third part,
+.B Entomologist(1)
+, is not yet functional, but will provide comparison and clustering algorithms
+for the generated reports.
+
+.SH REQUIREMENTS
+.P
+To use the Monkey Debugging System, you have to fulfill the following
+requirements.
+
+.P
+Your project has to be written in C (no C++ support).
+
+.P
+To use seaspider, your project has to be built with GNU Autotools. Other Build
+Systems are not supported, but it should still be possible to use them as well,
+if you can set the compiler and compileroptions yourself.
+
+.SH LIMITATIONS
+.P
+Pathologist can only handle the following signals yet: SIGSEGV (Segfault),
+SIGABRT (Assertion), SIGBUS (Bad Memory Access), SIGFPE (Arithmetic Exception).
+
+.P
+Your C source file names have to be unique, because gdb does not ensure to
+output the full path correctly.
+
+.P
+Due to gdb changing the respective values on the stack while evaluating,
+increments and decrements are problematic if contained in the line of code,
+which causes the crash. seaspider will just remove every single increment and
+decrement operator before writing expressions to the database, so if your
+program crashes on a line
+.B a = b[++c];
+, the report will only contain the
+value of
+.B b[c]
+.
+
+




reply via email to

[Prev in Thread] Current Thread [Next in Thread]