Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikdasm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2018-09-08 00:27:47 +0300
committerMarek Safar <marek.safar@gmail.com>2018-09-10 17:17:07 +0300
commitb49272a4dc948be19df28afb2d4e3b9b9d708f30 (patch)
tree1278f12bd63e48b44eabfe1c42e569872cc87d66
parent471d5827c96584373290dac25e3e6ce0676262d6 (diff)
[ikdasm] Decode sourcelink entries when using ----customdebuginfo.
-rw-r--r--TableDumper.cs9
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 ++;
}