Introduction
Nobug is a simple debugging library that is similar to the ideas of gnu-nana and Design-by-Contract. It emphasizes heavy testing of Alpha and Beta software builds and light testing of Release builds.
Read the /Documentation.
News
Soon
- Report generation
0.3rc1
- Finished the env var parser, passing options for creating logfiles or ringbuffers are now implemented. Added a hook for application defined logging. Simeon written a small tool to dump ringbuffer content as log. Logging format changed slightly and contains now an event counter. Changed the License to GPLv2 or any later.
-- ct 2008-04-03 04:55:29
0.3pre
- New deadlock detector is in the works, I wasn't sure when and how it should report locking policy violations. For now it will abort fatally when a deadlock is detected in ALPHA builds.
-- ct 2007-06-16 22:39:16
old news are moved to NoBug/OlderNews
State of Development
I am using a pragmatic/hacking aproach in developing NoBug. This means that it works for me and I will add new/proprosed features as I need them. Most features are working (ALPHA builds), but some are not very well tested yet (BETA and RELEASE builds).
The best way to get features implemented and bugs fixed is to send me a patch or use the anonymous pushable git repository, see below. The second best way is to add the issue to /Bugs.
NoBug is meant to be an open project, any contributions are welcome. If you want to add your own features just fork it (preferably with git), maybe register your fork at http://repo.or.cz and send me a notification. I will merge back anything interesting into my tree.
anonymous git
I created a 'mob' repository on my server where anyone can push patches anonymously.
Little HowTo:
# first clone the repository # (use the --reference option when you already have any other # git clone of a cinelerra repo) git clone git://git.pipapo.org/mob/nobug my_nobug cd my_nobug # then create a branch for your work git checkout -b yourbranchname # work and commit ..hack..hack..hack git commit ... # send it to my server, maybe with some branch description, # see the git-push manpage git push --all
IMPORTANT:
Do not trust the code in this repository, anyone could add potentially dangerous code, review every foreign commit before run anything!
I'd suggest to use gpg signed tags when you reviewd some state and trust it (man gpg-tag). Such tags then sign the state and all its history.
I will regulary or automatically rebase the master branch on my development repository, the state of the mob master branch will be tagged before doing so, but any conflicts occuring during this rebase will be thrown out of the master branch (they are still reachable from the tag) but contributors would need to resolve conflicts and reapply them on the master branch again if they didn't worked in topic branches.
About mob software: http://www.dreamsongs.com/MobSoftware.html
Future Plans
The 0.x versions are still a development playground and the interface may change in certain aspects. At some point when all important issues are resolved, I'll prepare a 1.x series which will use a stable interface. New features and improvements will be added in new minor versions.
Releases tagged as preN are developement snapshots meant for review, they are not very well tested. I make them whenever I think some substantial progress has been archived. When all outstanding issues are resolved some rcN releases will follow, release candidates are code-frozen and only bugfixes will be applied, after 1-2 weeks without bugs a final release will be made.
The Bug tracker (/Bugs) is also extensively used for collecting ideas and brainstorming. Please feel free to contribute to it.
Contact
IRC #mala on irc.freenode.net
/Discussion within this wiki.
Bug Tracker
NoBug is currently in a useable, but far from finished/polished, state. There are few known issues and missing features.
View and report issues at: /Bugs
Authors
Design, first implementation:
Christian Thaeter <ct@pipapo.org>
Autoconf and tests improvements:
Peter Simons <simons@cryp.to>
Ringbuffer dump tool:
Simeon Voelkel <simeon_voelkel@arcor.de>
License
NoBug is distributed under the "Gnu Public License Version 2 or any later". Under certain conditions I may re-license it under other licenses for specific uses or change the license in future releases (GPL3, LGPL).
Resources
Freshmeat Project page:
Release Tarballs:
Git url:
- git://git.pipapo.org/nobug
The gitweb interface lets you download development tarball:
Changlog and Code browser: