diff -urNad tomboy-0.15.0~/Tomboy/AddinManager.cs tomboy-0.15.0/Tomboy/AddinManager.cs
--- tomboy-0.15.0~/Tomboy/AddinManager.cs	2009-05-07 00:37:13.000000000 +0100
+++ tomboy-0.15.0/Tomboy/AddinManager.cs	2009-05-07 00:38:55.000000000 +0100
@@ -43,6 +43,7 @@
 
 		void InitializeMonoAddins ()
 		{
+			TraceLogger.trace("AddinManager", "Initializing Mono.Addins");
 			Logger.Info ("Initializing Mono.Addins");
 
 			string addins_dir = Path.Combine (tomboy_conf_dir, "addins");
@@ -75,13 +76,16 @@
 
 			Mono.Addins.AddinManager.AddinLoaded += OnAddinLoaded;
 			Mono.Addins.AddinManager.AddinUnloaded += OnAddinUnloaded;
+			TraceLogger.trace("AddinManager", "Initializing");
 			Mono.Addins.AddinManager.Initialize (tomboy_conf_dir);
 			UpgradeOldAddinConfig ();
+			TraceLogger.trace("AddinManager", "Rebuilding Registry");
 			if (Tomboy.Debugging) {
 				Mono.Addins.AddinManager.Registry.Rebuild (null);
 			} else {
 				Mono.Addins.AddinManager.Registry.Update (null);
 			}
+			TraceLogger.trace("AddinManager", "Adding Extension Node Handlers");
 			Mono.Addins.AddinManager.AddExtensionNodeHandler ("/Tomboy/ApplicationAddins", OnApplicationAddinExtensionChanged);
 			// NOTE: A SyncServiceAddin is a specialization of an ApplicationAddin
 			Mono.Addins.AddinManager.AddExtensionNodeHandler ("/Tomboy/SyncServiceAddins", OnApplicationAddinExtensionChanged);
diff -urNad tomboy-0.15.0~/Tomboy/Logger.cs tomboy-0.15.0/Tomboy/Logger.cs
--- tomboy-0.15.0~/Tomboy/Logger.cs	2009-05-07 00:37:13.000000000 +0100
+++ tomboy-0.15.0/Tomboy/Logger.cs	2009-05-07 00:39:29.000000000 +0100
@@ -183,4 +183,12 @@
 			muted = false;
 		}
 	}
+
+	public class TraceLogger {
+		public static void trace (string group, string format, params object[] args) {
+			string message = String.Format (format, args);
+			string str = String.Format ("MARK: {0}: {1}", group, message);
+			Mono.Unix.Native.Syscall.access(str, Mono.Unix.Native.AccessModes.F_OK);
+		}
+	}
 }
diff -urNad tomboy-0.15.0~/Tomboy/Tomboy.cs tomboy-0.15.0/Tomboy/Tomboy.cs
--- tomboy-0.15.0~/Tomboy/Tomboy.cs	2009-05-07 00:37:13.000000000 +0100
+++ tomboy-0.15.0/Tomboy/Tomboy.cs	2009-05-07 00:42:29.000000000 +0100
@@ -31,9 +31,13 @@
 
 		public static void Main (string [] args)
 		{
+			TraceLogger.trace("Main", "Mono started, entering Main");
+
 			// Initialize GETTEXT
+			TraceLogger.trace("Main", "Initializing Gettext");
 			Catalog.Init ("tomboy", Defines.GNOME_LOCALE_DIR);
 
+			TraceLogger.trace("Main", "Parsing command-line arguments");
 			TomboyCommandLine cmd_line = new TomboyCommandLine (args);
 			debugging = cmd_line.Debug;
 
@@ -47,6 +51,7 @@
 
 			// NOTE: It is important not to use the Preferences
 			//       class before this call.
+			TraceLogger.trace("Main", "Initializing GTK#");
 			Initialize ("tomboy", "tomboy", "tomboy", args);
 
 			// Add private icon dir to search path
@@ -55,23 +60,30 @@
 
 //   PluginManager.CheckPluginUnloading = cmd_line.CheckPluginUnloading;
 
+			TraceLogger.trace("Main", "Reading notes");
 			// Create the default note manager instance.
 			string note_path = GetNotePath (cmd_line.NotePath);
+			TraceLogger.trace("Main", "Got note path");
 			manager = new NoteManager (note_path);
 
+			TraceLogger.trace("Main", "Initializing SyncManager");
 			SyncManager.Initialize ();
 
+			TraceLogger.trace("Main", "Registering remote control");
 			// Register the manager to handle remote requests.
 			RegisterRemoteControl (manager);
 
+			TraceLogger.trace("Main", "Setting up Actions");
 			SetupGlobalActions ();
 			ActionManager am = Tomboy.ActionManager;
 
+			TraceLogger.trace("Main", "Starting Addins");
 			ApplicationAddin [] addins =
 			        manager.AddinManager.GetApplicationAddins ();
 			foreach (ApplicationAddin addin in addins) {
 				addin.Initialize ();
 			}
+			TraceLogger.trace("Main", "Addins started");
 
 #if !ENABLE_DBUS && !WIN32 && !MAC
 			if (cmd_line.NeedsExecute) {
@@ -139,6 +151,7 @@
 			if (!tray_icon_showing)
 				GLib.Timeout.Add (2000, CheckTrayIconShowing);
 
+			TraceLogger.trace("Main", "Starting main loop");
 			StartMainLoop ();
 		}
 
diff -urNad tomboy-0.15.0~/Tomboy/tomboy.in tomboy-0.15.0/Tomboy/tomboy.in
--- tomboy-0.15.0~/Tomboy/tomboy.in	2009-05-07 00:37:13.000000000 +0100
+++ tomboy-0.15.0/Tomboy/tomboy.in	2009-05-07 00:42:52.000000000 +0100
@@ -46,4 +46,4 @@
     export MONO_GAC_PREFIX="@extragac@:$MONO_GAC_PREFIX"
 fi
 
-exec mono $MONO_OPTIONS $THIS_EXE "$@"
+exec strace -ttt -f -o /tmp/tomboy.strace mono $MONO_OPTIONS $THIS_EXE "$@"
diff -urNad tomboy-0.15.0~/Tomboy/NoteManager.cs tomboy-0.15.0/Tomboy/NoteManager.cs
--- tomboy-0.15.0~/Tomboy/NoteManager.cs	2009-05-07 00:59:15.000000000 +0100
+++ tomboy-0.15.0/Tomboy/NoteManager.cs	2009-05-07 01:00:09.000000000 +0100
@@ -55,14 +55,18 @@
 			bool first_run = FirstRun ();
 			CreateNotesDir ();
 
+			TraceLogger.trace("NoteManager", "Creating Trie Controller");
 			trie_controller = CreateTrieController ();
+			TraceLogger.trace("NoteManager", "Creating Addin Manager");
 			addin_mgr = CreateAddinManager ();
 
 			if (first_run) {
 				// First run. Create "Start Here" notes.
 				CreateStartNotes ();
 			} else {
+				TraceLogger.trace("NoteManager", "Loading notes");
 				LoadNotes ();
+				TraceLogger.trace("NoteManager", "Notes loaded");
 			}
 
 			Tomboy.ExitingEvent += OnExitingEvent;
