コード例 #1
0
        } // end _BuildRemoteParams()

        protected override void ProcessRecord()
        {
            if (String.IsNullOrEmpty(TargetName))
            {
                TargetName = _GenerateTargetName();
            }

            string remoteParams = _BuildRemoteParams();

            // TODO:
            if (null == Password)
            {
                LogManager.Trace("Connecting to remote with parameters: {0}", remoteParams);
            }
            else
            {
                LogManager.Trace("Connecting to remote with parameters: <TODO need to take password out>");
            }

            using (var psPipe = GetPipelineCallback())
            {
                Debugger = DbgEngDebugger.ConnectToServer(remoteParams, psPipe);

                // TODO: This is a temp workaround to pre-fetch filter info. The
                // problem is that when connected to a remote debugger, we're going
                // over RPC, and when the event callbacks are being dispatched, RPC
                // doesn't like us to try to call back in to the dbgeng API--and one
                // place where we normally do that is to decide if we need to output
                // an event or not. So we'll pre-fetch here.
                Debugger.GetSpecificEventFilters();

                // This will call Debugger.WaitForEvent(), if necessary
                base.ProcessRecord();
            } // end using( psPipe )
        }     // end ProcessRecord()