コード例 #1
0
        public static bool GetDebuggerInfo(ProcessInfo processInfo, out DubrovnikDebuggerModes debuggerMode, out int port)
        {
            debuggerMode = DubrovnikDebuggerModes.Listen;
            port         = 0;

            if (processInfo == null)
            {
                return(false);
            }

            try {
                port = (int)processInfo.Id;
            } catch {
                return(false);
            }

            try {
                string name = processInfo.Name;

                if (name.StartsWith(LISTEN_PROCESS_PREFIX, StringComparison.InvariantCulture))
                {
                    debuggerMode = DubrovnikDebuggerModes.Listen;
                }
                else if (name.StartsWith(ATTACH_PROCESS_PREFIX, StringComparison.InvariantCulture))
                {
                    debuggerMode = DubrovnikDebuggerModes.Attach;
                }
            } catch {
                return(false);
            }

            return(true);
        }
コード例 #2
0
        private static ProcessInfo GetFakeProcess(DubrovnikDebuggerModes debuggerMode, int port)
        {
            string procName = (debuggerMode == DubrovnikDebuggerModes.Listen ? DubrovnikDebuggerUtils.LISTEN_PROCESS_PREFIX : DubrovnikDebuggerUtils.ATTACH_PROCESS_PREFIX) + port;

            ProcessInfo processInfo = new ProcessInfo(port, procName);

            return(processInfo);
        }