コード例 #1
0
        private void PrepareEntryParser()
        {
            // Junk the old paragraphs
            ParserEngine.Reset();

            // Get a handle to our destination container
            DObjectCon container = CrashDebugger.ContainerByType(DObject.TObjectType.EProcess);

            // Save last thread if it looks valid
            if (iCurrentObject != null && iCurrentObject.KernelAddress != 0)
            {
                bool alreadyExists = container.Contains(iCurrentObject);
                if (!alreadyExists)
                {
                    container.Add(iCurrentObject);
                }
                //
                iCurrentObject = null;
            }

            // Create a new object which will contain the next set of parser data
            iCurrentObject = new DProcess(CrashDebugger);

            // Use the helper to prepare next paragraphs
            iHelper.CreateMonitorProcess(ParserEngine, "ENTRY [" + container.TypeDescription + "]", iCurrentObject, new SymbianParserLib.BaseStructures.ParserElementBase.ElementCompleteHandler(ProcessChunksComplete_ElementHandler));
        }
コード例 #2
0
        public override void Finalise()
        {
            DObjectCon container = CrashDebugger[DObject.TObjectType.EProcess];

            if (container.Contains(CrashDebugger.TheCurrentProcess) == false)
            {
                container.Add(CrashDebugger.TheCurrentProcess);
            }
        }
コード例 #3
0
        public override void Prepare()
        {
            DObjectCon container = CrashDebugger.ContainerByType(DObject.TObjectType.EProcess);
            //
            ParserLine l1 = ParserLine.NewSymFormat("Container %d at %08x contains %d %S:\r\n");

            l1[0].SetTargetProperty(container, "Index");
            l1[1].SetTargetProperty(container, "KernelAddress");
            l1[2].SetTargetProperty(container, "ExpectedCount");
            l1.ElementComplete += new SymbianParserLib.BaseStructures.ParserElementBase.ElementCompleteHandler(HeaderLine_ElementComplete);
            //
            ParserParagraph para = new ParserParagraph("CONTAINER [" + container.TypeDescription + "]");

            para.Add(l1);
            ParserEngine.Add(para);
        }