crashanalysercmd/PerfToolsSharedLibraries/Engine/SymbianSymbolLib/Plugins/SLPluginMap/Reader/RVCT/RVCTSymbolCreator.cs
changeset 2 0c91f0baec58
parent 0 818e61de6cd1
equal deleted inserted replaced
1:7a31f7298d8f 2:0c91f0baec58
    68                 string typeString = groups[ "Type" ].Value;
    68                 string typeString = groups[ "Type" ].Value;
    69                 //
    69                 //
    70                 string objectName = groups[ "Binary" ].Value;
    70                 string objectName = groups[ "Binary" ].Value;
    71                 uint size = uint.Parse( groups[ "Size" ].Value );
    71                 uint size = uint.Parse( groups[ "Size" ].Value );
    72                 string symbol = groups[ "Function" ].Value;
    72                 string symbol = groups[ "Function" ].Value;
       
    73                 if (symbol.Contains(KExported))
       
    74                 {
       
    75                     symbol = symbol.Substring(0, symbol.LastIndexOf(KExported));
       
    76                 }
    73                 uint offsetAddress = uint.Parse( groups[ "Address" ].Value, System.Globalization.NumberStyles.HexNumber ) - globalBaseAddress;
    77                 uint offsetAddress = uint.Parse( groups[ "Address" ].Value, System.Globalization.NumberStyles.HexNumber ) - globalBaseAddress;
    74                 TSymbolType type = TypeByString( typeString );
    78                 TSymbolType type = TypeByString( typeString );
    75                 //
    79                 //
    76                 ret = Symbol.New( iCollection );
    80                 ret = Symbol.New( iCollection );
    77                 ret.OffsetAddress = offsetAddress;
    81                 ret.OffsetAddress = offsetAddress;
   146               "(?:\\s+)(?<Size>\\d+)(?:\\s+)(?<Binary>.+)",
   150               "(?:\\s+)(?<Size>\\d+)(?:\\s+)(?<Binary>.+)",
   147             RegexOptions.IgnoreCase
   151             RegexOptions.IgnoreCase
   148             | RegexOptions.Singleline
   152             | RegexOptions.Singleline
   149             | RegexOptions.Compiled
   153             | RegexOptions.Compiled
   150             );
   154             );
       
   155 
       
   156         private static readonly string KExported = " (EXPORTED)";
       
   157 
   151         #endregion
   158         #endregion
   152 
   159 
   153 		#region Internal methods
   160 		#region Internal methods
   154         private static TSymbolType TypeByString( string aTypeAsString )
   161         private static TSymbolType TypeByString( string aTypeAsString )
   155         {
   162         {