예제 #1
0
        private void Trace(SymAddress aOriginalAddress, TArmInstructionSet aOriginalISet, SymAddress aNewAddress, TArmInstructionSet aNewISet)
        {
            System.Diagnostics.Debug.Assert(base.StateData.LastBranch.IsKnown);
            //
            StringBuilder lines = new StringBuilder();

            lines.AppendLine("   I-SYNC");
            lines.AppendLine(string.Format("       from: {0} 0x{1:x8} {2}", ETMDecodeState.MakeInstructionSetPrefix(aOriginalISet), aOriginalAddress, StateData.Engine.LookUpSymbol(aOriginalAddress)));
            lines.AppendLine(string.Format("         to: {0} 0x{1:x8} {2}", ETMDecodeState.MakeInstructionSetPrefix(aNewISet), aNewAddress, StateData.Engine.LookUpSymbol(aNewAddress)));
            //
            base.Trace(lines.ToString());
        }
예제 #2
0
        private void TraceDirectBranch(SymAddress aOriginalAddress, TArmInstructionSet aOriginalISet, SymAddress aNewAddress, TArmInstructionSet aNewISet)
        {
            StringBuilder lines = new StringBuilder();

            lines.AppendLine("   BRANCH-D");
            //
            if (base.StateData.LastBranch.IsKnown)
            {
                lines.AppendLine(string.Format("       from: {0} 0x{1:x8} {2}", ETMDecodeState.MakeInstructionSetPrefix(aOriginalISet), aOriginalAddress, StateData.Engine.LookUpSymbol(aOriginalAddress)));
                lines.AppendLine(string.Format("         to: {0} 0x{1:x8} {2}", ETMDecodeState.MakeInstructionSetPrefix(aNewISet), aNewAddress, StateData.Engine.LookUpSymbol(aNewAddress)));
            }
            else
            {
            }
            //
            base.Trace(lines.ToString());
        }