private void StartDebugging(StartDebuggingMessage msg)
        {
            if (!Directory.Exists(root))
                Directory.CreateDirectory(root);

            targetExe = msg.FileName;

            logger.Trace("Receiving content from {0}", remoteEndpoint);
            File.WriteAllBytes(ZipFileName, msg.DebugContent);
            ZipFile.ExtractToDirectory(ZipFileName, directoryName);

            foreach (string file in Directory.GetFiles(directoryName, "*vshost*"))
                File.Delete(file);

            File.Delete(ZipFileName);
            logger.Trace("Extracted content from {0} to {1}", remoteEndpoint, directoryName);

            var generator = new Pdb2MdbGenerator();
            string binaryDirectory = msg.AppType == ApplicationType.Desktopapplication
                ? directoryName
                : Path.Combine(directoryName, "bin");
            generator.GeneratePdb2Mdb(binaryDirectory);

            StartMono(msg.AppType);
        }