diff options
author | Zoltan Varga <vargaz@gmail.com> | 2018-09-08 00:27:47 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2018-09-10 17:17:07 +0300 |
commit | b49272a4dc948be19df28afb2d4e3b9b9d708f30 (patch) | |
tree | 1278f12bd63e48b44eabfe1c42e569872cc87d66 | |
parent | 471d5827c96584373290dac25e3e6ce0676262d6 (diff) |
[ikdasm] Decode sourcelink entries when using ----customdebuginfo.
-rw-r--r-- | TableDumper.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/TableDumper.cs b/TableDumper.cs index a0cc030..ba1ecc4 100644 --- a/TableDumper.cs +++ b/TableDumper.cs @@ -469,6 +469,7 @@ namespace Ildasm } static Guid StateMachineHoistedLocalScopesGuid = new Guid ("6da9a61e-f8c7-4874-be62-68bc5630df71"); + static Guid SourceLinkGuid = new Guid ("cc110556-a091-4d38-9fec-25ab9a351a6a"); public void DumpCustomDebugInfoTable (TextWriter w) { var t = module.CustomDebugInformation; @@ -479,6 +480,8 @@ namespace Ildasm string kind = ""; if (g == StateMachineHoistedLocalScopesGuid) kind = "<state-machine hoisted local scopes>"; + else if (g == SourceLinkGuid) + kind = "<source link>"; else kind = g.ToString (); int parent_kind = r.Parent & 0x1f; @@ -491,6 +494,12 @@ namespace Ildasm int len = blob.ReadInt32 (); w.WriteLine (String.Format ("\t0x{0:x}-0x{1:x}", start_offset, start_offset + len)); } + } else if (g == SourceLinkGuid) { + var blob = module.GetBlob (r.Value); + var bytes = blob.ReadBytes (blob.Length); + Console.WriteLine ("======================================"); + Console.Write (Encoding.UTF8.GetString (bytes)); + Console.WriteLine ("======================================"); } rowIndex ++; } |