MonoDevelop по умолчанию устанавливает определение DEBUG при создании решения, поэтому вы можете использовать две вещи: вы можете использовать атрибуты [Conditional ("DEBUG")] для методов, которые вы используете для инструментов вашего кода, и вы можете использовать стандартные, если#DEBUGs в вашем источнике.
Вот так:
[Conditional ("DEBUG")]
void Log (string msg)
{
Console.WriteLine (msg);
}
void Foo ()
{
Log ("Start");
..
Log ("End");
}
Что приятно в атрибуте Conditional, так это то, что компилятор удаляет вызовы во время компиляции, если переключатель не установлен, иэто красивее, чем засорять ваш исходный код:
#if DEBUG
Console.WriteLine ("start");
#endif