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);
        }
Example #2
0
        private void StartDebugging(StartDebuggingMessage msg)
        {
            if (!Directory.Exists(root))
            {
                Directory.CreateDirectory(root);
            }

            targetExe = msg.FileName;

            logger.Trace("Receiving content from {0}", remoteEndpoint);
            File.Move(msg.DebugZip, ZipFileName);
            //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, msg.WebParameters);
        }
Example #3
0
        private bool StartDebugging(StartDebuggingMessage msg)
        {
            if (!Directory.Exists(tempContentDirectory))
            {
                Directory.CreateDirectory(tempContentDirectory);
            }

            targetExe = msg.FileName;
            Arguments = msg.Arguments;

            directoryName = Path.Combine(tempContentDirectory, msg.AppHash);

            if (msg.DebugContent == null || msg.DebugContent.Length == 0)
            {
                logger.Trace($"Check if content is already available from {remoteEndpoint}: {directoryName}");

                if (!Directory.Exists(directoryName))
                {
                    logger.Trace("Content not found. Request new content from {0} ...", remoteEndpoint);
                    return(false);
                }
            }
            else
            {
                logger.Trace("Receiving content from {0}", remoteEndpoint);

                var zipFileName = directoryName + ".zip";

                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");

                logger.Trace($"AppType: {msg.AppType} => choosing binaryDirectory={binaryDirectory}");

                generator.GeneratePdb2Mdb(binaryDirectory);
            }

            StartMono(msg.AppType);

            return(true);
        }