Exemplo n.º 1
0
        private void OnProcDebugCreate(CPProcEvArgs args)
        {
            IProjectChartPoints pPnts = Globals.processor.GetProjectChartPoints(Path.GetFileNameWithoutExtension(args.Name));

            if (pPnts != null && pPnts.Count > 0)
            {
                TraceTransport.Open();
                traceHandlers.Add(new CPTraceHandler(args.procId, args.Name));
                cpTraceFlag = true;
            }
        }
Exemplo n.º 2
0
        private void OnProcDebugDestroy(CPProcEvArgs args)
        {
            CPTraceHandler tracer = traceHandlers.FirstOrDefault((h) => (h.id == args.procId));

            if (tracer != null)
            {
                tracer.Dispose();
                traceHandlers.Remove(tracer);
                tracer = null;
                if (traceHandlers.Count == 0)
                {
                    TraceTransport.Close();
                    ICPTracerService traceServ;
                    cpServProv.GetService <ICPTracerService>(out traceServ);
                    traceServ.Show();
                }
            }
        }
Exemplo n.º 3
0
        private bool CreateProcEvArgs(IDebugProcess2 pProcess, out CPProcEvArgs args)
        {
            args = null;
            string name = string.Empty;

            if (pProcess.GetName((uint)enum_GETNAME_TYPE.GN_NAME /*GN_BASENAME*/, out name) != VSConstants.S_OK)
            {
                return(false);
            }
            AD_PROCESS_ID[] adProcId = new AD_PROCESS_ID[1];
            if (pProcess.GetPhysicalProcessId(adProcId) != VSConstants.S_OK)
            {
                return(false);
            }
            args = new CPProcEvArgs(adProcId[0].dwProcessId, name);

            return(true);
        }