Source code
Access
The source code of TOD is available through our Subversion repository: http://pleiad.dcc.uchile.cl/svn/tod/ (username/password: guest
/guest
). It is also possible to browse the source code online.
Getting started with development
Tooling
We currently only support Eclipse as a development environment, although others should also work fine. You need a recent Eclipse version (at least 3.3) and the following plugins:
Checking our the source code
If you check out the source code with Subclipse you don’t need to create and configure the projects, as the project metadata is stored in SVN. Just go to the Subclipse SVN repositories view and check out the following modules from our subversion repository.
TOD core
- agent/trunk
- core/trunk
- dbgrid/trunk
- evdbng/trunk (current version of event database) and/or evdb1/trunk (old version)
Eclipse plugin
- tod.plugin/trunk
- tod.plugin.ajdt
Additional libraries
These libraries are in a separate repository: http://pleiad.dcc.uchile.cl/svn/zz/devel/.
- zz.utils
- zz.eclipse.utils
Native agent
TOD uses a JVMTI native agent to instrument the debugged program at load time. This agent must be compiled for each supported platform. The source code for the agent is in TOD-agent/src/native, the makefile contains instructions on how to build it. But you can also download precompiled versions, which you must place in the TOD-agent directory:
- Linux x86 (32 bits): libtod-agent.so
- Linux x64 (64 bits): libtod-agent_x64.so
- MacOS intel: libtod-agent.dylib
- Windows: tod-agent.dll
Launching
Now that you have the code, there are basically three different things you might want to launch: the Eclipse plugin, the database, and the standalone GUI.
Eclipse plugin
This launches a second Eclipse instance with the TOD plugin.
Launch configuration (Eclipse Application):
VM arguments: -ea -Ddev.path=${workspace_loc} -Xmx256m -XX:MaxPermSize=128m
Database
There are two version of the database: evdb1 (which is the database that is currently used by default in TOD) and evdbng (a better, faster version that is still in development).
Launch configuration (AspectJ/Java Application):
Project: TOD-evdb1
(or TOD-evdbng
if you want the new database)
Main class: tod.impl.dbgrid.GridMaster
Program arguments: 0
VM arguments: -Dmaster-timeout=0 -Xmx384m -server -ea
(and -Ddbimpl=evdbng
for the new database)
Standalone GUI
This is the same GUI as that used in the Eclipse plugin, but its runs without Eclipse.
Launch configuration (AspectJ/Java Application):
Project: TOD-evdb1
(or TOD-evdbng
if you want the new database)
Main class: tod.gui.StandaloneUI
Program arguments: tod-dbgrid-remote:localhost
(or replace localhost by the host that runs the database)
VM arguments: -ea
(and -Ddbimpl=evdbng
for the new database)
License
TOD and the TOD Eclipse plugin are distributed under the GPL v2. Additional libraries zz.utils and zz.eclipse.utils are in the public domain. External libraries have their own licenses.
TOD uses an implementation of the MD5 algorithm “derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm”.
© 2007 Guillaume Pothier | Generated by webgen | Design by Andreas Viklund.