# Debugging options for the org.eclipse.ecf plug-in

# Turn on general debugging for the org.eclipse.ecf plug-in
org.eclipse.ecf.tests.osgi.services.distribution/debug=true
org.eclipse.ecf.tests.osgi.services.distribution/debug/filter = *
org.eclipse.ecf.tests.osgi.services.distribution/debug/flag = true

# Trace when exceptions are caught
org.eclipse.ecf.tests.osgi.services.distribution/debug/exceptions/catching=false
# Trace when exceptions are thrown
org.eclipse.ecf.tests.osgi.services.distribution/debug/exceptions/throwing=false

# Trace when methods are entered
org.eclipse.ecf.tests.osgi.services.distribution/debug/methods/entering=false
# Trace when methods are exited
org.eclipse.ecf.tests.osgi.services.distribution/debug/methods/exiting=false
