aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-05-05 16:53:20 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-05-05 16:53:20 +0200
commitf89a45f4083ad1b1d7129fde4616ca35e29d3e58 (patch)
treee876bb4a6f18355b7191a1111f52fc4ec8fb74b0
parent4c6ab111878cd182218c10d62ec47eb180cc4197 (diff)
Removed crow submodule
-rw-r--r--.gitmodules3
-rw-r--r--VK/Structs.cs4
-rw-r--r--VK/vulkan.csproj2
m---------crow0
-rw-r--r--samples/common/CrowWin.cs254
-rw-r--r--samples/deferred/EnvironmentPipeline.cs15
-rw-r--r--samples/deferred/deferred.csproj39
-rw-r--r--samples/deferred/deferredPbrRenderer.cs45
-rw-r--r--samples/deferred/main-crow.cs355
-rw-r--r--samples/deferred/main.cs351
-rw-r--r--samples/deferred/packages.config10
-rw-r--r--samples/deferred/shaders/GBuffPbr.frag2
-rw-r--r--samples/deferred/shaders/compose_with_shadows.frag2
-rw-r--r--samples/deferred/shaders/tone_mapping.frag13
-rw-r--r--samples/deferred/ui/mono_crash.12991d684.0.json7534
-rw-r--r--samples/deferred/ui/mono_crash.12991d684.1.json245
-rw-r--r--samples/pbrSashaWillem/SachaWillemPbr.csproj1
-rw-r--r--samples/vkvg_tests/main.cs58
-rw-r--r--samples/vkvg_tests/vkvg_tests.csproj2
-rw-r--r--vk.net.sln37
-rw-r--r--vke/CVKL.csproj9
l---------vke/netfx.props1
-rw-r--r--vke/src/Camera.cs4
-rw-r--r--vke/src/RenderPass.cs2
-rw-r--r--vke/src/VkWindow.cs4
25 files changed, 767 insertions, 8225 deletions
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 1fa9eab..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "crow"]
- path = crow
- url = https://github.com/jpbruyere/crow.git
diff --git a/VK/Structs.cs b/VK/Structs.cs
index 4065055..ae35873 100644
--- a/VK/Structs.cs
+++ b/VK/Structs.cs
@@ -177,7 +177,7 @@ namespace VK {
}
}
public partial struct VkCommandBufferBeginInfo {
- public VkCommandBufferBeginInfo (VkCommandBufferUsageFlags usage = 0) {
+ public VkCommandBufferBeginInfo (VkCommandBufferUsageFlags usage = (VkCommandBufferUsageFlags)0) {
sType = VkStructureType.CommandBufferBeginInfo;
pNext = pInheritanceInfo = IntPtr.Zero;
flags = usage;
@@ -185,7 +185,7 @@ namespace VK {
}
public partial struct VkQueryPoolCreateInfo {
public static VkQueryPoolCreateInfo New (VkQueryType queryType,
- VkQueryPipelineStatisticFlags statisticFlags = 0, uint count = 1) {
+ VkQueryPipelineStatisticFlags statisticFlags = (VkQueryPipelineStatisticFlags)0, uint count = 1) {
VkQueryPoolCreateInfo ret = new VkQueryPoolCreateInfo ();
ret.sType = VkStructureType.QueryPoolCreateInfo;
ret.pipelineStatistics = statisticFlags;
diff --git a/VK/vulkan.csproj b/VK/vulkan.csproj
index 02618d4..afaa2a9 100644
--- a/VK/vulkan.csproj
+++ b/VK/vulkan.csproj
@@ -42,7 +42,7 @@
</PropertyGroup>
<ItemGroup>
- <Compile Include="$(SolutionDir)vk.generator\bin\**\*.cs">
+ <Compile Include="$(SolutionDir)vk.generator\bin\$(Configuration)\**\*.cs">
<Link>generated\%(Filename)%(Extension)</Link>
</Compile>
</ItemGroup>
diff --git a/crow b/crow
deleted file mode 160000
-Subproject 39285d843f891208a62e389d364f2b31a4ee0f7
diff --git a/samples/common/CrowWin.cs b/samples/common/CrowWin.cs
new file mode 100644
index 0000000..5f59e83
--- /dev/null
+++ b/samples/common/CrowWin.cs
@@ -0,0 +1,254 @@
+using System;
+using Glfw;
+using VK;
+using System.Threading;
+
+namespace Crow {
+ public class CrowWin : CVKL.VkWindow, IValueChange {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged (string MemberName, object _value) {
+ if (ValueChanged != null)
+ ValueChanged.Invoke (this, new ValueChangeEventArgs (MemberName, _value));
+ }
+ #endregion
+
+ CVKL.DescriptorPool descriptorPool;
+ CVKL.DescriptorSetLayout descLayout;
+ CVKL.DescriptorSet dsCrow;
+
+ CVKL.GraphicPipeline uiPipeline;
+ CVKL.Framebuffer[] uiFrameBuffers;
+
+ protected Interface crow;
+ protected vkvg.Device vkvgDev;
+ protected CVKL.Image uiImage;
+ protected bool isRunning;
+
+ protected CrowWin (bool debugMarkers = false, string name = "CrowWin", uint _width = 1024, uint _height = 768, bool vSync = false) :
+ base (debugMarkers, name, _width, _height, vSync) {
+
+ Thread crowThread = new Thread (crow_thread_func);
+ crowThread.IsBackground = true;
+ crowThread.Start ();
+
+ while (crow == null)
+ Thread.Sleep (5);
+
+ initUISurface ();
+
+ initUIPipeline ();
+ }
+
+ protected override void render () {
+ int idx = swapChain.GetNextImage ();
+
+ if (idx < 0) {
+ OnResize ();
+ return;
+ }
+
+ lock (crow.RenderMutex) {
+ presentQueue.Submit (cmds[idx], swapChain.presentComplete, drawComplete[idx]);
+ presentQueue.Present (swapChain, drawComplete[idx]);
+ presentQueue.WaitIdle ();
+ }
+ Thread.Sleep (1);
+ }
+
+ void initUIPipeline (VkSampleCountFlags samples = VkSampleCountFlags.SampleCount1) {
+ descriptorPool = new CVKL.DescriptorPool (dev, 1, new VkDescriptorPoolSize (VkDescriptorType.CombinedImageSampler));
+ descLayout = new CVKL.DescriptorSetLayout (dev,
+ new VkDescriptorSetLayoutBinding (0, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler)
+ );
+
+ CVKL.GraphicPipelineConfig cfg = CVKL.GraphicPipelineConfig.CreateDefault (VkPrimitiveTopology.TriangleList, samples, false);
+ cfg.Layout = new CVKL.PipelineLayout (dev, descLayout);
+ cfg.RenderPass = new CVKL.RenderPass (dev, swapChain.ColorFormat, samples);
+ cfg.AddShader (VkShaderStageFlags.Vertex, "shaders/FullScreenQuad.vert.spv");
+ cfg.AddShader (VkShaderStageFlags.Fragment, "shaders/simpletexture.frag.spv");
+
+ cfg.blendAttachments[0] = new VkPipelineColorBlendAttachmentState (true);
+
+ uiPipeline = new CVKL.GraphicPipeline (cfg);
+
+ dsCrow = descriptorPool.Allocate (descLayout);
+ }
+ void initUISurface () {
+ lock (crow.UpdateMutex) {
+ uiImage?.Dispose ();
+ uiImage = new CVKL.Image (dev, new VkImage ((ulong)crow.surf.VkImage.ToInt64 ()), VkFormat.B8g8r8a8Unorm,
+ VkImageUsageFlags.Sampled, swapChain.Width, swapChain.Height);
+ uiImage.SetName ("uiImage");
+ uiImage.CreateView (VkImageViewType.ImageView2D, VkImageAspectFlags.Color);
+ uiImage.CreateSampler (VkFilter.Nearest, VkFilter.Nearest, VkSamplerMipmapMode.Nearest, VkSamplerAddressMode.ClampToBorder);
+ uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
+ }
+ }
+
+ void crow_thread_func () {
+ vkvgDev = new vkvg.Device (instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex,
+ vkvg.SampleCount.Sample_4, presentQueue.index);
+
+ crow = new Interface (vkvgDev, (int)swapChain.Width, (int)swapChain.Height);
+
+ isRunning = true;
+ while (isRunning) {
+ crow.Update ();
+ Thread.Sleep (2);
+ }
+
+ dev.WaitIdle ();
+ crow.Dispose ();
+ vkvgDev.Dispose ();
+ crow = null;
+ }
+
+ protected void loadWindow (string path, object dataSource = null) {
+ try {
+ Widget w = crow.FindByName (path);
+ if (w != null) {
+ crow.PutOnTop (w);
+ return;
+ }
+ w = crow.Load (path);
+ w.Name = path;
+ w.DataSource = dataSource;
+
+ } catch (Exception ex) {
+ System.Diagnostics.Debug.WriteLine (ex.ToString ());
+ }
+ }
+ protected virtual void recordDraw (CVKL.CommandBuffer cmd, int imageIndex) { }
+
+ void buildCommandBuffers () {
+ for (int i = 0; i < swapChain.ImageCount; ++i) {
+ cmds[i]?.Free ();
+ cmds[i] = cmdPool.AllocateAndStart ();
+
+ CVKL.CommandBuffer cmd = cmds[i];
+
+ recordDraw (cmd, i);
+
+ uiPipeline.RenderPass.Begin (cmd, uiFrameBuffers[i]);
+
+ uiPipeline.Bind (cmd);
+ cmd.BindDescriptorSet (uiPipeline.Layout, dsCrow);
+
+ uiImage.SetLayout (cmd, VkImageAspectFlags.Color, VkImageLayout.ColorAttachmentOptimal, VkImageLayout.ShaderReadOnlyOptimal,
+ VkPipelineStageFlags.ColorAttachmentOutput, VkPipelineStageFlags.FragmentShader);
+
+ cmd.Draw (3, 1, 0, 0);
+
+ uiImage.SetLayout (cmd, VkImageAspectFlags.Color, VkImageLayout.ShaderReadOnlyOptimal, VkImageLayout.ColorAttachmentOptimal,
+ VkPipelineStageFlags.FragmentShader, VkPipelineStageFlags.BottomOfPipe);
+
+ uiPipeline.RenderPass.End (cmd);
+
+ cmds[i].End ();
+ }
+ }
+
+ /// <summary>
+ /// rebuild command buffers if needed
+ /// </summary>
+ public override void Update () {
+ if (rebuildBuffers) {
+ buildCommandBuffers ();
+ rebuildBuffers = false;
+ }
+ }
+
+ protected override void OnResize () {
+ dev.WaitIdle ();
+
+ crow.ProcessResize (new Rectangle (0, 0, (int)swapChain.Width, (int)swapChain.Height));
+
+ initUISurface ();
+
+ CVKL.DescriptorSetWrites uboUpdate = new CVKL.DescriptorSetWrites (dsCrow, descLayout);
+ uboUpdate.Write (dev, uiImage.Descriptor);
+
+ if (uiFrameBuffers != null)
+ for (int i = 0; i < swapChain.ImageCount; ++i)
+ uiFrameBuffers[i]?.Dispose ();
+
+ uiFrameBuffers = new CVKL.Framebuffer[swapChain.ImageCount];
+
+ for (int i = 0; i < swapChain.ImageCount; ++i) {
+ uiFrameBuffers[i] = new CVKL.Framebuffer (uiPipeline.RenderPass, swapChain.Width, swapChain.Height,
+ (uiPipeline.Samples == VkSampleCountFlags.SampleCount1) ? new CVKL.Image[] {
+ swapChain.images[i],
+ } : new CVKL.Image[] {
+ null,
+ swapChain.images[i]
+ });
+ uiFrameBuffers[i].SetName ("ui FB " + i);
+ }
+
+ buildCommandBuffers ();
+ dev.WaitIdle ();
+ }
+
+ #region Mouse and keyboard
+ protected override void onScroll (double xOffset, double yOffset) {
+ if (KeyModifiers.HasFlag (Modifier.Shift))
+ crow.ProcessMouseWheelChanged ((float)xOffset);
+ else
+ crow.ProcessMouseWheelChanged ((float)yOffset);
+ }
+ protected override void onMouseMove (double xPos, double yPos) {
+ if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
+ return;
+ base.onMouseMove (xPos, yPos);
+ }
+ protected override void onMouseButtonDown (Glfw.MouseButton button) {
+ if (crow.ProcessMouseButtonDown ((MouseButton)button))
+ return;
+ base.onMouseButtonDown (button);
+ }
+ protected override void onMouseButtonUp (Glfw.MouseButton button) {
+ if (crow.ProcessMouseButtonUp ((MouseButton)button))
+ return;
+ base.onMouseButtonUp (button);
+ }
+ protected override void onKeyDown (Glfw.Key key, int scanCode, Modifier modifiers) {
+ if (crow.ProcessKeyDown ((Key)key))
+ return;
+ base.onKeyDown (key, scanCode, modifiers);
+ }
+ protected override void onKeyUp (Glfw.Key key, int scanCode, Modifier modifiers) {
+ if (crow.ProcessKeyUp ((Key)key))
+ return;
+ }
+ protected override void onChar (CodePoint cp) {
+ if (crow.ProcessKeyPress (cp.ToChar ()))
+ return;
+ }
+ #endregion
+
+ #region dispose
+ protected override void Dispose (bool disposing) {
+ if (disposing) {
+ if (!isDisposed) {
+ dev.WaitIdle ();
+ isRunning = false;
+
+ for (int i = 0; i < swapChain.ImageCount; ++i)
+ uiFrameBuffers[i]?.Dispose ();
+
+ uiPipeline.Dispose ();
+ descLayout.Dispose ();
+ descriptorPool.Dispose ();
+
+ uiImage?.Dispose ();
+ while (crow != null)
+ Thread.Sleep (1);
+ }
+ }
+
+ base.Dispose (disposing);
+ }
+ #endregion
+ }
+}
diff --git a/samples/deferred/EnvironmentPipeline.cs b/samples/deferred/EnvironmentPipeline.cs
index cdb1230..7217f75 100644
--- a/samples/deferred/EnvironmentPipeline.cs
+++ b/samples/deferred/EnvironmentPipeline.cs
@@ -14,17 +14,14 @@ namespace CVKL {
public Image irradianceCube { get; private set; }
public Image prefilterCube { get; set; }
- public int debugMip = 0;
- public int debugFace = 0;
-
- public EnvironmentCube (DescriptorSet dsSkybox, PipelineLayout plLayout, Queue staggingQ, RenderPass renderPass, PipelineCache cache = null)
+ public EnvironmentCube (string cubemapPath, DescriptorSet dsSkybox, PipelineLayout plLayout, Queue staggingQ, RenderPass renderPass, PipelineCache cache = null)
: base (renderPass, cache, "EnvCube pipeline") {
using (CommandPool cmdPool = new CommandPool (staggingQ.Dev, staggingQ.index)) {
vboSkybox = new GPUBuffer<float> (staggingQ, cmdPool, VkBufferUsageFlags.VertexBuffer, box_vertices);
- cubemap = KTX.KTX.Load (staggingQ, cmdPool, cubemapPathes[2],
+ cubemap = KTX.KTX.Load (staggingQ, cmdPool, cubemapPath,
VkImageUsageFlags.Sampled, VkMemoryPropertyFlags.DeviceLocal, true);
cubemap.CreateView (VkImageViewType.Cube, VkImageAspectFlags.Color, 6, 0, cubemap.CreateInfo.mipLevels);
cubemap.CreateSampler (VkSamplerAddressMode.ClampToEdge);
@@ -57,13 +54,7 @@ namespace CVKL {
}
#region skybox
- public List<string> cubemapPathes = new List<string> () {
- "../../../samples/data/textures/papermill.ktx",
- "../../../samples/data/textures/cubemap_yokohama_bc3_unorm.ktx",
- "../../../samples/data/textures/gcanyon_cube.ktx",
- "../../../samples/data/textures/pisa_cube.ktx",
- "../../../samples/data/textures/uffizi_cube.ktx",
- };
+
static float[] box_vertices = {
1.0f, 1.0f,-1.0f, // +X side
1.0f, 1.0f, 1.0f,
diff --git a/samples/deferred/deferred.csproj b/samples/deferred/deferred.csproj
index 4632cc1..4d0a27c 100644
--- a/samples/deferred/deferred.csproj
+++ b/samples/deferred/deferred.csproj
@@ -14,33 +14,44 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DefineConstants>WITH_SHADOWS;_WITH_VKVG;TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
</PropertyGroup>
+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineConstants>WITH_SHADOWS;_WITH_VKVG</DefineConstants>
</PropertyGroup>
- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
- <Reference Include="System" />
- </ItemGroup>
-
- <ItemGroup>
- <PackageReference Include="Vulkan" Version="0.1.2.8-beta" />
- </ItemGroup>
+ <PropertyGroup Condition="$(Configuration) == 'DebugCrow' ">
+ <DefineConstants>WITH_SHADOWS;_WITH_VKVG;TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
+ </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\..\vke\CVKL.csproj" />
- <ProjectReference Include="..\..\crow\Crow\Crow.csproj" />
- </ItemGroup>
-
<ItemGroup>
<GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />
<Datas Include="..\data\**\*.*">
<Link>data\%(RecursiveDir)%(Filename)%(Extension)</Link>
</Datas>
- <Compile Include="main.cs;EnvironmentPipeline.cs;deferredPbrRenderer.cs;shadowMapRenderer.cs" />
+ <Compile Include="EnvironmentPipeline.cs;deferredPbrRenderer.cs;shadowMapRenderer.cs" />
+ </ItemGroup>
+
+ <ItemGroup Condition="$(Configuration) == 'DebugCrow' ">
+ <PackageReference Include="Crow.VK" Version="0.9.0-beta" />
+ <Compile Include="../common/CrowWin.cs" />
+ <Compile Include="main-crow.cs" />
<EmbeddedResource Include="ui\**\*.*">
<LogicalName>deferred.%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
- </ItemGroup>
+ </ItemGroup>
+
+ <ItemGroup Condition="$(Configuration) != 'DebugCrow' ">
+ <Compile Include="main.cs" />
+ </ItemGroup>
+
+ <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
+ <Reference Include="System" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Vulkan" Version="0.1.2.8-beta" />
+ <ProjectReference Include="..\..\vke\CVKL.csproj" />
+ </ItemGroup>
<Import Project="$(SolutionDir)spirv.targets" />
</Project> \ No newline at end of file
diff --git a/samples/deferred/deferredPbrRenderer.cs b/samples/deferred/deferredPbrRenderer.cs
index 5dc9885..74dc4ca 100644
--- a/samples/deferred/deferredPbrRenderer.cs
+++ b/samples/deferred/deferredPbrRenderer.cs
@@ -1,9 +1,8 @@
using System;
using System.Numerics;
using System.Runtime.InteropServices;
-using Glfw;
-using VK;
using CVKL;
+using VK;
namespace deferred {
public class DeferredPbrRenderer : IDisposable {
@@ -32,6 +31,8 @@ namespace deferred {
public DebugView currentDebugView = DebugView.none;
public int lightNumDebug = 0;
+ public int debugMip = 0;
+ public int debugFace = 0;
public struct Matrices {
public Matrix4x4 projection;
@@ -43,7 +44,6 @@ namespace deferred {
public float prefilteredCubeMipLevels;
public float scaleIBLAmbient;
}
-
public struct Light {
public Vector4 position;
public Vector4 color;
@@ -55,7 +55,6 @@ namespace deferred {
exposure = 2.0f,
scaleIBLAmbient = 0.5f,
};
-
public Light[] lights = {
new Light {
position = new Vector4(2.5f,3.5f,2,0f),
@@ -95,11 +94,13 @@ namespace deferred {
const int SP_COMPOSE = 2;
const int SP_TONE_MAPPING = 3;
- public DeferredPbrRenderer (Device dev, SwapChain swapChain, PresentQueue presentQueue, float nearPlane, float farPlane) {
+ string cubemapPath;
+
+ public DeferredPbrRenderer (Device dev, SwapChain swapChain, PresentQueue presentQueue, string cubemapPath, float nearPlane, float farPlane) {
this.dev = dev;
this.swapChain = swapChain;
this.presentQueue = presentQueue;
-
+ this.cubemapPath = cubemapPath;
pipelineCache = new PipelineCache (dev);
descriptorPool = new DescriptorPool (dev, 3,
@@ -186,10 +187,9 @@ namespace deferred {
new VkDescriptorSetLayoutBinding (2, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler),
new VkDescriptorSetLayoutBinding (3, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler),
new VkDescriptorSetLayoutBinding (4, VkShaderStageFlags.Fragment, VkDescriptorType.UniformBuffer),//lights
- new VkDescriptorSetLayoutBinding (5, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler),//ui overlay
- new VkDescriptorSetLayoutBinding (6, VkShaderStageFlags.Fragment, VkDescriptorType.UniformBuffer));//materials
+ new VkDescriptorSetLayoutBinding (5, VkShaderStageFlags.Fragment, VkDescriptorType.UniformBuffer));//materials
#if WITH_SHADOWS
- descLayoutMain.Bindings.Add (new VkDescriptorSetLayoutBinding (7, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler));
+ descLayoutMain.Bindings.Add (new VkDescriptorSetLayoutBinding (6, VkShaderStageFlags.Fragment, VkDescriptorType.CombinedImageSampler));
#endif
descLayoutTextures = new DescriptorSetLayout (dev,
@@ -270,7 +270,7 @@ namespace deferred {
dsMain = descriptorPool.Allocate (descLayoutMain);
dsGBuff = descriptorPool.Allocate (descLayoutGBuff);
- envCube = new EnvironmentCube (dsMain, gBuffPipeline.Layout, presentQueue, renderPass);
+ envCube = new EnvironmentCube (cubemapPath, dsMain, gBuffPipeline.Layout, presentQueue, renderPass);
matrices.prefilteredCubeMipLevels = envCube.prefilterCube.CreateInfo.mipLevels;
@@ -283,7 +283,7 @@ namespace deferred {
uboLights.Descriptor);
#if WITH_SHADOWS
- dsMainWrite = new DescriptorSetWrites (dsMain, descLayoutMain.Bindings[7]);
+ dsMainWrite = new DescriptorSetWrites (dsMain, descLayoutMain.Bindings[6]);
dsMainWrite.Write (dev, shadowMapRenderer.shadowMap.Descriptor);
#endif
}
@@ -299,26 +299,14 @@ namespace deferred {
AttachmentType.AmbientOcclusion,
AttachmentType.Emissive);
- DescriptorSetWrites uboUpdate = new DescriptorSetWrites (dsMain, descLayoutMain.Bindings[6]);
+ DescriptorSetWrites uboUpdate = new DescriptorSetWrites (dsMain, descLayoutMain.Bindings[5]);
uboUpdate.Write (dev, model.materialUBO.Descriptor);
modelAABB = model.DefaultScene.AABB;
}
- Image uiImage;
- public void WriteUiImgDesciptor (Image uiImage) {
- this.uiImage = uiImage;
- DescriptorSetWrites uboUpdate = new DescriptorSetWrites (dsMain, descLayoutMain.Bindings[5]);
- uboUpdate.Write (dev, uiImage.Descriptor);
- }
- public void buildCommandBuffers (CommandBuffer[] cmds) {
- for (int i = 0; i < swapChain.ImageCount; ++i) {
- cmds[i].Start ();
- uiImage.SetLayout (cmds[i], VkImageAspectFlags.Color, VkImageLayout.Undefined, VkImageLayout.ShaderReadOnlyOptimal,
- VkPipelineStageFlags.TopOfPipe, VkPipelineStageFlags.FragmentShader);
- recordDraw (cmds[i], frameBuffers[i]);
- cmds[i].End ();
- }
+ public void buildCommandBuffers (CommandBuffer cmd, int imageIndex) {
+ recordDraw (cmd, frameBuffers[imageIndex]);
}
void recordDraw (CommandBuffer cmd, Framebuffer fb) {
@@ -349,7 +337,7 @@ namespace deferred {
if (currentDebugView == DebugView.shadowMap)
debugValue += (uint)((lightNumDebug << 8));
else
- debugValue += (uint)((envCube.debugFace << 8) + (envCube.debugMip << 16));
+ debugValue += (uint)((debugFace << 8) + (debugMip << 16));
cmd.PushConstant (debugPipeline.Layout, VkShaderStageFlags.Fragment, debugValue, (uint)Marshal.SizeOf<Matrix4x4> ());
}
@@ -369,7 +357,7 @@ namespace deferred {
#endif
}
-#region update
+ #region update
public void UpdateView (Camera camera) {
camera.AspectRatio = (float)swapChain.Width / swapChain.Height;
@@ -377,7 +365,6 @@ namespace deferred {
matrices.view = camera.View;
matrices.model = camera.Model;
-
matrices.camPos = new Vector4 (
-camera.Position.Z * (float)Math.Sin (camera.Rotation.Y) * (float)Math.Cos (camera.Rotation.X),
camera.Position.Z * (float)Math.Sin (camera.Rotation.X),
diff --git a/samples/deferred/main-crow.cs b/samples/deferred/main-crow.cs
new file mode 100644
index 0000000..2a64e32
--- /dev/null
+++ b/samples/deferred/main-crow.cs
@@ -0,0 +1,355 @@
+using System;
+using System.Numerics;
+using System.Runtime.InteropServices;
+using Glfw;
+using VK;
+using CVKL;
+using System.Threading;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace deferred {
+ class Program : Crow.CrowWin {
+ static void Main (string[] args) {
+ using (Program vke = new Program ()) {
+ vke.Run ();
+ }
+ }
+
+ public Crow.Command CMDViewScenes, CMDViewEditor, CMDViewDebug, CMDViewMaterials;
+ void init_crow_commands () {
+ CMDViewScenes = new Crow.Command (new Action (() => loadWindow ("#deferred.main.crow", this))) { Caption = "Lighting", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
+ CMDViewEditor = new Crow.Command (new Action (() => loadWindow ("#deferred.scenes.crow", this))) { Caption = "Scenes", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
+ CMDViewDebug = new Crow.Command (new Action (() => loadWindow ("#deferred.debug.crow", this))) { Caption = "Debug", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
+ CMDViewMaterials = new Crow.Command (new Action (() => loadWindow ("#deferred.materials.crow", this))) { Caption = "Materials", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
+ }
+
+ void onApplyMaterialChanges (object sender, Crow.MouseButtonEventArgs e) {
+ Crow.ListBox lb = ((sender as Crow.Widget).Parent as Crow.Group).Children[0] as Crow.ListBox;
+ renderer.model.materialUBO.Update (renderer.model.materials);
+ }
+
+ public DeferredPbrRenderer.DebugView CurrentDebugView {
+ get { return renderer.currentDebugView; }
+ set {
+ if (value == renderer.currentDebugView)
+ return;
+ lock(crow.UpdateMutex)
+ renderer.currentDebugView = value;
+ rebuildBuffers = true;
+ NotifyValueChanged ("CurrentDebugView", renderer.currentDebugView);
+ }
+ }
+
+ public float Gamma {
+ get { return renderer.matrices.gamma; }
+ set {
+ if (value == renderer.matrices.gamma)
+ return;
+ renderer.matrices.gamma = value;
+ NotifyValueChanged ("Gamma", value);
+ updateViewRequested = true;
+ }
+ }
+ public float Exposure {
+ get { return renderer.matrices.exposure; }
+ set {
+ if (value == renderer.matrices.exposure)
+ return;
+ renderer.matrices.exposure = value;
+ NotifyValueChanged ("Exposure", value);
+ updateViewRequested = true;
+ }
+ }
+ public float LightStrength {
+ get { return renderer.lights[renderer.lightNumDebug].color.X; }
+ set {
+ if (value == renderer.lights[renderer.lightNumDebug].color.X)
+ return;
+ renderer.lights[renderer.lightNumDebug].color = new Vector4(value);
+ NotifyValueChanged ("LightStrength", value);
+ renderer.uboLights.Update (renderer.lights);
+ }
+ }
+ public List<DeferredPbrRenderer.Light> Lights => renderer.lights.ToList ();
+ public List<Model.Scene> Scenes => renderer.model.Scenes;
+ public PbrModel.PbrMaterial[] Materials => renderer.model.materials;
+
+
+ protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) {
+ base.configureEnabledFeatures (available_features, ref features);
+
+ features.samplerAnisotropy = available_features.samplerAnisotropy;
+ features.sampleRateShading = available_features.sampleRateShading;
+ features.geometryShader = available_features.geometryShader;
+
+ if (available_features.textureCompressionBC) {
+ }
+ }
+
+ protected override void createQueues () {
+ base.createQueues ();
+ transferQ = new Queue (dev, VkQueueFlags.Transfer);
+ }
+
+ string[] cubemapPathes = {
+ "../../../samples/data/textures/papermill.ktx",
+ "../../../samples/data/textures/cubemap_yokohama_bc3_unorm.ktx",
+ "../../../samples/data/textures/gcanyon_cube.ktx",
+ "../../../samples/data/textures/pisa_cube.ktx",
+ "../../../samples/data/textures/uffizi_cube.ktx",
+ };
+ string[] modelPathes = {
+ "../../../samples/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf",
+ "../../../samples/data/models/shadow.glb",
+ "../../../samples/data/models/Hubble.glb",
+ "../../../samples/data/models/MER_static.glb",
+ "../../../samples/data/models/ISS_stationary.glb",
+ };
+
+ int curModelIndex = 0;
+ bool reloadModel;
+
+ Queue transferQ;
+ DeferredPbrRenderer renderer;
+
+ Program () : base(true) {
+ camera = new Camera (Utils.DegreesToRadians (45f), 1f, 0.1f, 16f);
+ camera.SetPosition (0, 0, 2);
+
+ renderer = new DeferredPbrRenderer (dev, swapChain, presentQueue, cubemapPathes[2], camera.NearPlane, camera.FarPlane);
+ renderer.LoadModel (transferQ, modelPathes[curModelIndex]);
+ camera.Model = Matrix4x4.CreateScale (1f / Math.Max (Math.Max (renderer.modelAABB.Width, renderer.modelAABB.Height), renderer.modelAABB.Depth));
+
+ init_crow_commands ();
+
+ crow.Load ("#deferred.menu.crow").DataSource = this;
+ //crow.Load ("#deferred.testImage.crow").DataSource = this;
+
+ //crow.LoadIMLFragment (@"<Image Width='32' Height='32' Margin='2' HorizontalAlignment='Left' VerticalAlignment='Top' Path='/mnt/devel/gts/vkvg/build/data/tiger.svg' Background='Grey' MouseEnter='{Background=Blue}' MouseLeave='{Background=White}'/>");
+ }
+
+ protected override void recordDraw (CommandBuffer cmd, int imageIndex) {
+ renderer.buildCommandBuffers (cmd, imageIndex);
+ }
+
+ public override void UpdateView () {
+ renderer.UpdateView (camera);
+ updateViewRequested = false;
+#if WITH_SHADOWS
+ if (renderer.shadowMapRenderer.updateShadowMap)
+ renderer.shadowMapRenderer.update_shadow_map (cmdPool);
+#endif
+ }
+
+ int frameCount = 0;
+ public override void Update () {
+ if (reloadModel) {
+ renderer.LoadModel (transferQ, modelPathes[curModelIndex]);
+ reloadModel = false;
+ camera.Model = Matrix4x4.CreateScale (1f / Math.Max (Math.Max (renderer.modelAABB.Width, renderer.modelAABB.Height), renderer.modelAABB.Depth));
+ updateViewRequested = true;
+ rebuildBuffers = true;
+#if WITH_SHADOWS
+ renderer.shadowMapRenderer.updateShadowMap = true;
+#endif
+ }
+
+ base.Update ();
+
+ if (++frameCount > 20) {
+ NotifyValueChanged ("fps", fps);
+ frameCount = 0;
+ }
+ }
+ protected override void OnResize () {
+ renderer.Resize ();
+ base.OnResize ();
+ }
+
+ #region Mouse and keyboard
+
+ protected override void onMouseMove (double xPos, double yPos) {
+ if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
+ return;
+
+ double diffX = lastMouseX - xPos;
+ double diffY = lastMouseY - yPos;
+ if (MouseButton[0]) {
+ camera.Rotate ((float)-diffX, (float)-diffY);
+ } else if (MouseButton[1]) {
+ camera.SetZoom ((float)diffY);
+ } else
+ return;
+
+ updateViewRequested = true;
+ }
+ protected override void onMouseButtonDown (Glfw.MouseButton button) {
+ if (crow.ProcessMouseButtonDown ((Crow.MouseButton)button))
+ return;
+ base.onMouseButtonDown (button);
+ }
+ protected override void onMouseButtonUp (Glfw.MouseButton button) {
+ if (crow.ProcessMouseButtonUp ((Crow.MouseButton)button))
+ return;
+ base.onMouseButtonUp (button);
+ }
+ protected override void onKeyDown (Key key, int scanCode, Modifier modifiers) {
+ if (crow.ProcessKeyDown ((Crow.Key)key))
+ return;
+ switch (key) {
+ case Key.F:
+ if (modifiers.HasFlag (Modifier.Shift)) {
+ renderer.debugFace--;
+ if (renderer.debugFace < 0)
+ renderer.debugFace = 5;
+ } else {
+ renderer.debugFace++;
+ if (renderer.debugFace >= 5)
+ renderer.debugFace = 0;
+ }
+ rebuildBuffers = true;
+ break;
+ case Key.M:
+ if (modifiers.HasFlag (Modifier.Shift)) {
+ renderer.debugMip--;
+ if (renderer.debugMip < 0)
+ renderer.debugMip = (int)renderer.envCube.prefilterCube.CreateInfo.mipLevels - 1;
+ } else {
+ renderer.debugMip++;
+ if (renderer.debugMip >= renderer.envCube.prefilterCube.CreateInfo.mipLevels)
+ renderer.debugMip = 0;
+ }
+ rebuildBuffers = true;
+ break;
+ case Key.L:
+ if (modifiers.HasFlag (Modifier.Shift)) {
+ renderer.lightNumDebug--;
+ if (renderer.lightNumDebug < 0)
+ renderer.lightNumDebug = (int)renderer.lights.Length - 1;
+ } else {
+ renderer.lightNumDebug++;
+ if (renderer.lightNumDebug >= renderer.lights.Length)
+ renderer.lightNumDebug = 0;
+ }
+ rebuildBuffers = true;
+ break;
+ case Key.Keypad0:
+ case Key.Keypad1:
+ case Key.Keypad2:
+ case Key.Keypad3:
+ case Key.Keypad4:
+ case Key.Keypad5:
+ case Key.Keypad6:
+ case Key.Keypad7:
+ case Key.Keypad8:
+ case Key.Keypad9:
+ renderer.currentDebugView = (DeferredPbrRenderer.DebugView)(int)key-320;
+ rebuildBuffers = true;
+ break;
+ case Key.KeypadDivide:
+ renderer.currentDebugView = DeferredPbrRenderer.DebugView.irradiance;
+ rebuildBuffers = true;
+ break;
+ case Key.S:
+ if (modifiers.HasFlag (Modifier.Control)) {
+ renderer.pipelineCache.Save ();
+ Console.WriteLine ($"Pipeline Cache saved.");
+ } else {
+ renderer.currentDebugView = DeferredPbrRenderer.DebugView.shadowMap;
+ rebuildBuffers = true;
+ }
+ break;
+ case Key.Up:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight(-Vector4.UnitZ);
+ else
+ camera.Move (0, 0, 1);
+ break;
+ case Key.Down:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight (Vector4.UnitZ);
+ else
+ camera.Move (0, 0, -1);
+ break;
+ case Key.Left:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight (-Vector4.UnitX);
+ else
+ camera.Move (1, 0, 0);
+ break;
+ case Key.Right:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight (Vector4.UnitX);
+ else
+ camera.Move (-1, 0, 0);
+ break;
+ case Key.PageUp:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight (Vector4.UnitY);
+ else
+ camera.Move (0, 1, 0);
+ break;
+ case Key.PageDown:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.MoveLight (-Vector4.UnitY);
+ else
+ camera.Move (0, -1, 0);
+ break;
+ case Key.F2:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.matrices.exposure -= 0.3f;
+ else
+ renderer.matrices.exposure += 0.3f;
+ break;
+ case Key.F3:
+ if (modifiers.HasFlag (Modifier.Shift))
+ renderer.matrices.gamma -= 0.1f;
+ else
+ renderer.matrices.gamma += 0.1f;
+ break;
+ case Key.F4:
+ if (camera.Type == Camera.CamType.FirstPerson)
+ camera.Type = Camera.CamType.LookAt;
+ else
+ camera.Type = Camera.CamType.FirstPerson;
+ Console.WriteLine ($"camera type = {camera.Type}");
+ break;
+ case Key.KeypadAdd:
+ curModelIndex++;
+ if (curModelIndex >= modelPathes.Length)
+ curModelIndex = 0;
+ reloadModel = true;
+ break;
+ case Key.KeypadSubtract:
+ curModelIndex--;
+ if (curModelIndex < 0)
+ curModelIndex = modelPathes.Length -1;
+ reloadModel = true;
+ break;
+ default:
+ base.onKeyDown (key, scanCode, modifiers);
+ return;
+ }
+ updateViewRequested = true;
+ }
+ protected override void onKeyUp (Key key, int scanCode, Modifier modifiers) {
+ if (crow.ProcessKeyUp ((Crow.Key)key))
+ return;
+ }
+ protected override void onChar (CodePoint cp) {
+ if (crow.ProcessKeyPress (cp.ToChar ()))
+ return;
+ }
+ #endregion
+
+ protected override void Dispose (bool disposing) {
+ if (disposing) {
+ if (!isDisposed)
+ renderer.Dispose ();
+ }
+
+ base.Dispose (disposing);
+ }
+ }
+}
diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs
index 5e67801..975f5d0 100644
--- a/samples/deferred/main.cs
+++ b/samples/deferred/main.cs
@@ -1,181 +1,44 @@
using System;
using System.Numerics;
-using System.Runtime.InteropServices;
+using CVKL;
using Glfw;
using VK;
-using CVKL;
-using System.Threading;
-using System.Collections.Generic;
-using System.Linq;
namespace deferred {
- class Program : VkWindow, Crow.IValueChange {
+ class Program : VkWindow {
static void Main (string[] args) {
using (Program vke = new Program ()) {
vke.Run ();
}
}
- bool isRunning;
-
- protected override void render () {
- int idx = swapChain.GetNextImage ();
-
- lock (crow.RenderMutex) {
- if (idx < 0) {
- OnResize ();
- return;
- }
-
- presentQueue.Submit (cmds[idx], swapChain.presentComplete, drawComplete[idx]);
- presentQueue.Present (swapChain, drawComplete[idx]);
- presentQueue.WaitIdle ();
- }
- }
-
- #region crow
- vkvg.Device vkvgDev;
- Image uiImage;
-
- public Crow.Command CMDViewScenes, CMDViewEditor, CMDViewDebug, CMDViewMaterials;
- void init_crow_commands () {
- CMDViewScenes = new Crow.Command (new Action (() => loadWindow ("#deferred.main.crow", this))) { Caption = "Lighting", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
- CMDViewEditor = new Crow.Command (new Action (() => loadWindow ("#deferred.scenes.crow", this))) { Caption = "Scenes", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
- CMDViewDebug = new Crow.Command (new Action (() => loadWindow ("#deferred.debug.crow", this))) { Caption = "Debug", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
- CMDViewMaterials = new Crow.Command (new Action (() => loadWindow ("#deferred.materials.crow", this))) { Caption = "Materials", Icon = new Crow.SvgPicture ("#deferred.crow.svg"), CanExecute = true };
- }
-
- void onApplyMaterialChanges (object sender, Crow.MouseButtonEventArgs e) {
- Crow.ListBox lb = ((sender as Crow.Widget).Parent as Crow.Group).Children[0] as Crow.ListBox;
- renderer.model.materialUBO.Update (renderer.model.materials);
- }
-
-
- void initUISurface () {
- lock (crow.UpdateMutex) {
- uiImage?.Dispose ();
- uiImage = new CVKL.Image (dev, new VkImage ((ulong)crow.surf.VkImage.ToInt64 ()), VkFormat.B8g8r8a8Unorm,
- VkImageUsageFlags.Sampled, swapChain.Width, swapChain.Height);
- uiImage.SetName ("uiImage");
- uiImage.CreateView (VkImageViewType.ImageView2D, VkImageAspectFlags.Color);
- uiImage.CreateSampler (VkFilter.Nearest, VkFilter.Nearest, VkSamplerMipmapMode.Nearest, VkSamplerAddressMode.ClampToBorder);
- uiImage.Descriptor.imageLayout = VkImageLayout.ShaderReadOnlyOptimal;
- }
- }
-
-
- void crow_thread_func () {
- vkvgDev = new vkvg.Device (instance.Handle, phy.Handle, dev.VkDev.Handle, presentQueue.qFamIndex,
- vkvg.SampleCount.Sample_4, presentQueue.index);
-
- crow = new Crow.Interface (vkvgDev, 800, 600);
-
- isRunning = true;
-
- while (isRunning) {
- crow.Update ();
- Thread.Sleep (2);
- }
-
- dev.WaitIdle ();
- crow.Dispose ();
- vkvgDev.Dispose ();
- }
-
- #region IValueChange implementation
- public event EventHandler<Crow.ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged (string MemberName, object _value) {
- if (ValueChanged != null)
- ValueChanged.Invoke (this, new Crow.ValueChangeEventArgs (MemberName, _value));
- }
- #endregion
-
- public DeferredPbrRenderer.DebugView CurrentDebugView {
- get { return renderer.currentDebugView; }
- set {
- if (value == renderer.currentDebugView)
- return;
- lock(crow.UpdateMutex)
- renderer.currentDebugView = value;
- rebuildBuffers = true;
- NotifyValueChanged ("CurrentDebugView", renderer.currentDebugView);
- }
- }
-
- public float Gamma {
- get { return renderer.matrices.gamma; }
- set {
- if (value == renderer.matrices.gamma)
- return;
- renderer.matrices.gamma = value;
- NotifyValueChanged ("Gamma", value);
- updateViewRequested = true;
- }
- }
- public float Exposure {
- get { return renderer.matrices.exposure; }
- set {
- if (value == renderer.matrices.exposure)
- return;
- renderer.matrices.exposure = value;
- NotifyValueChanged ("Exposure", value);
- updateViewRequested = true;
- }
- }
- public float LightStrength {
- get { return renderer.lights[renderer.lightNumDebug].color.X; }
- set {
- if (value == renderer.lights[renderer.lightNumDebug].color.X)
- return;
- renderer.lights[renderer.lightNumDebug].color = new Vector4(value);
- NotifyValueChanged ("LightStrength", value);
- renderer.uboLights.Update (renderer.lights);
- }
- }
- public List<DeferredPbrRenderer.Light> Lights => renderer.lights.ToList ();
- public List<Model.Scene> Scenes => renderer.model.Scenes;
- public PbrModel.PbrMaterial[] Materials => renderer.model.materials;
- Crow.Interface crow;
- #endregion
- protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) {
- base.configureEnabledFeatures (available_features, ref features);
+ protected override void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures enabled_features) {
+ base.configureEnabledFeatures (available_features, ref enabled_features);
- features.samplerAnisotropy = available_features.samplerAnisotropy;
- features.sampleRateShading = available_features.sampleRateShading;
- features.geometryShader = available_features.geometryShader;
+ enabled_features.samplerAnisotropy = available_features.samplerAnisotropy;
+ enabled_features.sampleRateShading = available_features.sampleRateShading;
+ enabled_features.geometryShader = available_features.geometryShader;
- if (available_features.textureCompressionBC) {
- }
+ enabled_features.textureCompressionBC = available_features.textureCompressionBC;
}
protected override void createQueues () {
base.createQueues ();
transferQ = new Queue (dev, VkQueueFlags.Transfer);
}
-
+ string[] cubemapPathes = {
+ "../../../samples/data/textures/papermill.ktx",
+ "../../../samples/data/textures/cubemap_yokohama_bc3_unorm.ktx",
+ "../../../samples/data/textures/gcanyon_cube.ktx",
+ "../../../samples/data/textures/pisa_cube.ktx",
+ "../../../samples/data/textures/uffizi_cube.ktx",
+ };
string[] modelPathes = {
"../../../samples/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf",
"../../../samples/data/models/shadow.glb",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Avocado/glTF/Avocado.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/BarramundiFish/glTF/BarramundiFish.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/BoomBoxWithAxes/glTF/BoomBoxWithAxes.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Box/glTF/Box.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/EnvironmentTest/glTF/EnvironmentTest.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/MetalRoughSpheres/glTF/MetalRoughSpheres.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/OrientationTest/glTF/OrientationTest.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Buggy/glTF/Buggy.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/2CylinderEngine/glTF-Embedded/2CylinderEngine.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/FlightHelmet/glTF/FlightHelmet.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/GearboxAssy/glTF/GearboxAssy.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Lantern/glTF/Lantern.gltf",
- //"/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/SciFiHelmet/glTF/SciFiHelmet.gltf",
- "/mnt/devel/vulkan/glTF-Sample-Models-master/2.0/Sponza/glTF/Sponza.gltf",
- //"/mnt/devel/vkChess/data/chess.gltf",
- //"/home/jp/gltf/camaro/scene.gltf",
- //"/home/jp/gltf/chessold/scene.gltf",
- //"../data/models/Hubble.glb",
- //"../data/models/MER_static.glb",
- //"../data/models/ISS_stationary.glb",
+ "../../../samples/data/models/Hubble.glb",
+ "../../../samples/data/models/MER_static.glb",
+ "../../../samples/data/models/ISS_stationary.glb",
};
int curModelIndex = 0;
@@ -184,117 +47,23 @@ namespace deferred {
Queue transferQ;
DeferredPbrRenderer renderer;
-#if WITH_VKVG
-
-
- void drawResources (vkvg.Context ctx) {
- ResourceManager rm = dev.resourceManager;
-
- int margin = 5, memPoolHeight=15;
- int drawingWidth = (int)swapChain.Width - 4 * margin;
- int drawingHeight = (memPoolHeight + margin) * (rm.memoryPools.Length) + margin;
- int y = (int)swapChain.Height - drawingHeight - margin;
- int x = 2 * margin;
- ctx.LineWidth = 1;
- ctx.SetSource (0.1, 0.1, 0.1, 0.8);
- ctx.Rectangle (0.5+margin, 0.5+y, swapChain.Width - 2*margin, drawingHeight);
- ctx.FillPreserve ();
- ctx.Flush ();
- ctx.SetSource (0.8, 0.8, 0.8);
- ctx.Stroke ();
-
-
-
- foreach (MemoryPool mp in rm.memoryPools) {
- float byteWidth = (float)drawingWidth / mp.Size;
-
- y += margin;
- ctx.Rectangle (x, y, drawingWidth, memPoolHeight);
- ctx.SetSource (0.3, 0.3, 0.3, 0.4);
- ctx.Fill ();
-
- Resource r = mp.First;
- while (r != null) {
- float width = Math.Max (1f, byteWidth * r.AllocatedDeviceMemorySize);
-
- Vector3 c = new Vector3 (0);
- Image img = r as Image;
- if (img != null) {
- c.Z = 1f;
- if (img.CreateInfo.usage.HasFlag (VkImageUsageFlags.InputAttachment))
- c.Y += 0.3f;
- if (img.CreateInfo.usage.HasFlag (VkImageUsageFlags.ColorAttachment))
- c.Y += 0.1f;
- if (img.CreateInfo.usage.HasFlag (VkImageUsageFlags.Sampled))
- c.X += 0.3f;
- } else {
- CVKL.Buffer buff = r as CVKL.Buffer;
- c.X = 1f;
- if (buff.Infos.usage.HasFlag (VkBufferUsageFlags.IndexBuffer))
- c.Y += 0.2f;
- if (buff.Infos.usage.HasFlag (VkBufferUsageFlags.VertexBuffer))
- c.Y += 0.4f;
- if (buff.Infos.usage.HasFlag (VkBufferUsageFlags.UniformBuffer))
- c.Z += 0.3f;
- }
- ctx.SetSource (c.X, c.Y, c.Z, 0.5);
- ctx.Rectangle (0.5f+ x + byteWidth * r.poolOffset, 0.5f+ y, width, memPoolHeight);
- ctx.FillPreserve ();
- ctx.SetSource (0.01f, 0.01f, 0.01f);
- ctx.Stroke ();
- r = r.next;
- }
- y += memPoolHeight;
- }
- }
-#endif
-
-
Program () : base(true) {
camera = new Camera (Utils.DegreesToRadians (45f), 1f, 0.1f, 16f);
camera.SetPosition (0, 0, 2);
- Thread crowThread = new Thread (crow_thread_func);
- crowThread.IsBackground = true;
- crowThread.Start ();
-
- while (crow == null)
- Thread.Sleep (5);
-
- initUISurface ();
-
- renderer = new DeferredPbrRenderer (dev, swapChain, presentQueue, camera.NearPlane, camera.FarPlane);
+ renderer = new DeferredPbrRenderer (dev, swapChain, presentQueue, cubemapPathes[0], camera.NearPlane, camera.FarPlane);
renderer.LoadModel (transferQ, modelPathes[curModelIndex]);
camera.Model = Matrix4x4.CreateScale (1f / Math.Max (Math.Max (renderer.modelAABB.Width, renderer.modelAABB.Height), renderer.modelAABB.Depth));
- init_crow_commands ();
-
- crow.Load ("#deferred.menu.crow").DataSource = this;
- //crow.Load ("#deferred.testImage.crow").DataSource = this;
-
- //crow.LoadIMLFragment (@"<Image Width='32' Height='32' Margin='2' HorizontalAlignment='Left' VerticalAlignment='Top' Path='/mnt/devel/gts/vkvg/build/data/tiger.svg' Background='Grey' MouseEnter='{Background=Blue}' MouseLeave='{Background=White}'/>");
- }
-
- void loadWindow (string path, object dataSource = null) {
- try {
- Crow.Widget w = crow.FindByName (path);
- if (w != null) {
- crow.PutOnTop (w);
- return;
- }
- w = crow.Load (path);
- w.Name = path;
- w.DataSource = dataSource;
-
- } catch (Exception ex) {
- System.Diagnostics.Debug.WriteLine (ex.ToString ());
- }
}
void buildCommandBuffers () {
- cmdPool.FreeCommandBuffers (cmds);
- cmds = cmdPool.AllocateCommandBuffer (swapChain.ImageCount);
- renderer.buildCommandBuffers (cmds);
+ for (int i = 0; i < swapChain.ImageCount; ++i) {
+ cmds[i]?.Free ();
+ cmds[i] = cmdPool.AllocateAndStart ();
+ renderer.buildCommandBuffers (cmds[i], i);
+ cmds[i].End ();
+ }
}
public override void UpdateView () {
@@ -306,7 +75,6 @@ namespace deferred {
#endif
}
- int frameCount = 0;
public override void Update () {
if (reloadModel) {
renderer.LoadModel (transferQ, modelPathes[curModelIndex]);
@@ -324,17 +92,8 @@ namespace deferred {
rebuildBuffers = false;
}
- if (++frameCount > 20) {
- NotifyValueChanged ("fps", fps);
- frameCount = 0;
- }
}
protected override void OnResize () {
- crow.ProcessResize (new Crow.Rectangle (0, 0, (int)swapChain.Width, (int)swapChain.Height));
-
- initUISurface ();
- renderer.WriteUiImgDesciptor (uiImage);
-
UpdateView ();
renderer.Resize ();
buildCommandBuffers ();
@@ -342,15 +101,8 @@ namespace deferred {
#region Mouse and keyboard
protected override void onScroll (double xOffset, double yOffset) {
- if (KeyModifiers.HasFlag (Modifier.Shift))
- crow.ProcessMouseWheelChanged ((float)xOffset);
- else
- crow.ProcessMouseWheelChanged ((float)yOffset);
}
protected override void onMouseMove (double xPos, double yPos) {
- if (crow.ProcessMouseMove ((int)xPos, (int)yPos))
- return;
-
double diffX = lastMouseX - xPos;
double diffY = lastMouseY - yPos;
if (MouseButton[0]) {
@@ -362,41 +114,29 @@ namespace deferred {
updateViewRequested = true;
}
- protected override void onMouseButtonDown (Glfw.MouseButton button) {
- if (crow.ProcessMouseButtonDown ((Crow.MouseButton)button))
- return;
- base.onMouseButtonDown (button);
- }
- protected override void onMouseButtonUp (Glfw.MouseButton button) {
- if (crow.ProcessMouseButtonUp ((Crow.MouseButton)button))
- return;
- base.onMouseButtonUp (button);
- }
protected override void onKeyDown (Key key, int scanCode, Modifier modifiers) {
- if (crow.ProcessKeyDown ((Crow.Key)key))
- return;
switch (key) {
case Key.F:
if (modifiers.HasFlag (Modifier.Shift)) {
- renderer.envCube.debugFace--;
- if (renderer.envCube.debugFace < 0)
- renderer.envCube.debugFace = 5;
+ renderer.debugFace--;
+ if (renderer.debugFace < 0)
+ renderer.debugFace = 5;
} else {
- renderer.envCube.debugFace++;
- if (renderer.envCube.debugFace >= 5)
- renderer.envCube.debugFace = 0;
+ renderer.debugFace++;
+ if (renderer.debugFace >= 5)
+ renderer.debugFace = 0;
}
rebuildBuffers = true;
break;
case Key.M:
if (modifiers.HasFlag (Modifier.Shift)) {
- renderer.envCube.debugMip--;
- if (renderer.envCube.debugMip < 0)
- renderer.envCube.debugMip = (int)renderer.envCube.prefilterCube.CreateInfo.mipLevels - 1;
+ renderer.debugMip--;
+ if (renderer.debugMip < 0)
+ renderer.debugMip = (int)renderer.envCube.prefilterCube.CreateInfo.mipLevels - 1;
} else {
- renderer.envCube.debugMip++;
- if (renderer.envCube.debugMip >= renderer.envCube.prefilterCube.CreateInfo.mipLevels)
- renderer.envCube.debugMip = 0;
+ renderer.debugMip++;
+ if (renderer.debugMip >= renderer.envCube.prefilterCube.CreateInfo.mipLevels)
+ renderer.debugMip = 0;
}
rebuildBuffers = true;
break;
@@ -511,28 +251,13 @@ namespace deferred {
}
updateViewRequested = true;
}
- protected override void onKeyUp (Key key, int scanCode, Modifier modifiers) {
- if (crow.ProcessKeyUp ((Crow.Key)key))
- return;
- }
- protected override void onChar (CodePoint cp) {
- if (crow.ProcessKeyPress (cp.ToChar ()))
- return;
- }
#endregion
protected override void Dispose (bool disposing) {
if (disposing) {
- if (!isDisposed) {
- isRunning = false;
- Thread.Sleep (2);
-
+ if (!isDisposed)
renderer.Dispose ();
-
- uiImage?.Dispose ();
- }
}
-
base.Dispose (disposing);
}
}
diff --git a/samples/deferred/packages.config b/samples/deferred/packages.config
deleted file mode 100644
index 0e162ba..0000000
--- a/samples/deferred/packages.config
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="glTF2Loader" version="1.1.3-alpha" targetFramework="net471" />
- <package id="Newtonsoft.Json" version="12.0.2" targetFramework="net471" />
- <package id="System.Buffers" version="4.5.0" targetFramework="net471" />
- <package id="System.Memory" version="4.5.2" targetFramework="net471" />
- <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net471" />
- <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net471" />
- <package id="Vulkan" version="0.1.2.6" targetFramework="net471" />
-</packages> \ No newline at end of file
diff --git a/samples/deferred/shaders/GBuffPbr.frag b/samples/deferred/shaders/GBuffPbr.frag
index 27182d6..20dcf13 100644
--- a/samples/deferred/shaders/GBuffPbr.frag
+++ b/samples/deferred/shaders/GBuffPbr.frag
@@ -48,7 +48,7 @@ layout (set = 0, binding = 0) uniform UBO {
vec4 camPos;
} ubo;
-layout (set = 0, binding = 6) uniform UBOMaterials {
+layout (set = 0, binding = 5) uniform UBOMaterials {
Material materials[16];
};
diff --git a/samples/deferred/shaders/compose_with_shadows.frag b/samples/deferred/shaders/compose_with_shadows.frag
index e3294ae..e65aaaf 100644
--- a/samples/deferred/shaders/compose_with_shadows.frag
+++ b/samples/deferred/shaders/compose_with_shadows.frag
@@ -37,7 +37,7 @@ layout (input_attachment_index = 3, set = 2, binding = 3) uniform subpassInputMS
layout (set = 0, binding = 1) uniform samplerCube samplerIrradiance;
layout (set = 0, binding = 2) uniform samplerCube prefilteredMap;
layout (set = 0, binding = 3) uniform sampler2D samplerBRDFLUT;
-layout (set = 0, binding = 7) uniform sampler2DArray samplerShadowMap;
+layout (set = 0, binding = 6) uniform sampler2DArray samplerShadowMap;
layout (location = 0) in vec2 inUV;
diff --git a/samples/deferred/shaders/tone_mapping.frag b/samples/deferred/shaders/tone_mapping.frag
index b4d1756..9c4dd43 100644
--- a/samples/deferred/shaders/tone_mapping.frag
+++ b/samples/deferred/shaders/tone_mapping.frag
@@ -2,8 +2,6 @@
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable
-#define WITH_VKVG 1
-
layout (set = 0, binding = 0) uniform UBO {
mat4 projection;
mat4 model;
@@ -14,7 +12,6 @@ layout (set = 0, binding = 0) uniform UBO {
} ubo;
layout (input_attachment_index = 0, set = 2, binding = 4) uniform subpassInputMS samplerHDR;
-layout (binding = 5) uniform sampler2D samplerUI;
layout (location = 0) in vec2 inUV;
layout (location = 0) out vec4 outColor;
@@ -55,15 +52,7 @@ vec3 SRGBtoLINEAR(vec3 srgbIn)
void main()
{
vec4 hdrColor = subpassLoad(samplerHDR, gl_SampleID);
- hdrColor = vec4(SRGBtoLINEAR(tonemap(hdrColor.rgb)), hdrColor.a);
- #if WITH_VKVG
- vec4 ui = texture(samplerUI, inUV);
- outColor = vec4 (mix (hdrColor.rgb, ui.rgb, ui.a), hdrColor.a);
- #else
- outColor = hdrColor;
- #endif
-
-
+ outColor = vec4(SRGBtoLINEAR(tonemap(hdrColor.rgb)), hdrColor.a);
/*
vec3 mapped = vec3(1.0) - exp(-hdrColor.rgb * ubo.exposure);
mapped = pow(mapped, vec3(1.0 / ubo.gamma));
diff --git a/samples/deferred/ui/mono_crash.12991d684.0.json b/samples/deferred/ui/mono_crash.12991d684.0.json
deleted file mode 100644
index 69dbeb6..0000000
--- a/samples/deferred/ui/mono_crash.12991d684.0.json
+++ /dev/null
@@ -1,7534 +0,0 @@
-{
- "protocol_version" : "0.0.4",
- "configuration" : {
- "version" : "(5.20.1) (explicit/886c4901747)",
- "tlc" : "normal",
- "sigsgev" : "altstack",
- "notifications" : "epoll",
- "architecture" : "amd64",
- "disabled_features" : "none",
- "smallconfig" : "disabled",
- "bigarrays" : "disabled",
- "softdebug" : "enabled",
- "interpreter" : "enabled",
- "suspend" : "hybrid",
- "llvm_support" : "disabled"
- },
- "memory" : {
- "minor_gc_time" : "219650903",
- "major_gc_time" : "13765912",
- "minor_gc_count" : "5877",
- "major_gc_count" : "50",
- "major_gc_time_concurrent" : "135027906"
- },
- "threads" : [
- {
- "is_managed" : true,
- "offset_free_hash" : "0xcca4f7ced",
- "offset_rich_hash" : "0xcca4f822a",
- "crashed" : false,
- "native_thread_id" : "0x7fce060ff700",
- "thread_info_addr" : "0x7fcdf00008d0",
- "thread_name" : "Thread Pool Wor",
- "ctx" : {
- "IP" : "0x7fce795bdfac",
- "SP" : "0x7fce060fe050",
- "BP" : "(nil)"
- },
- "managed_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "System.dll",
- "sizeofimage" : "0x278000",
- "timestamp" : "0xc134f6ee",
- "il_offset" : "0x00026"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
- "token" : "0x6003dc8",
- "native_offset" : "0x0",
- "filename" : "System.dll",
- "sizeofimage" : "0x278000",
- "timestamp" : "0xc134f6ee",
- "il_offset" : "0x00012"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
- "token" : "0x6004114",
- "native_offset" : "0x0",
- "filename" : "System.dll",
- "sizeofimage" : "0x278000",
- "timestamp" : "0xc134f6ee",
- "il_offset" : "0x00027"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
- "token" : "0x6004113",
- "native_offset" : "0x0",
- "filename" : "System.dll",
- "sizeofimage" : "0x278000",
- "timestamp" : "0xc134f6ee",
- "il_offset" : "0x002dc"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
- "token" : "0x6004308",
- "native_offset" : "0x0",
- "filename" : "System.dll",
- "sizeofimage" : "0x278000",
- "timestamp" : "0xc134f6ee",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022bd",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00025"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022b9",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022bc",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dff",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00071"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfe",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6002325",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00034"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022bb",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0004a"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6002431",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001e55",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00025"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dff",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00071"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfe",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfd",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0002b"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001e56",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0000f"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0001e"
- }
-
- ],
- "unmanaged_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-
- ]
-},
-{
- "is_managed" : true,
- "offset_free_hash" : "0x7da3ab74a",
- "offset_rich_hash" : "0x7da3ab8b5",
- "crashed" : false,
- "native_thread_id" : "0x7fcdcd6fd700",
- "thread_info_addr" : "0x7fce3a033d00",
- "thread_name" : "SDB output read",
- "ctx" : {
- "IP" : "0x7fce795bdfac",
- "SP" : "0x7fcdcd6fc2b0",
- "BP" : "(nil)"
- },
- "managed_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0004f"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60055ec",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00010"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6005593",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00026"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "2334BB37-A1E0-4C4B-8D85-A6DE3E6356E7",
- "token" : "0x6000040",
- "native_offset" : "0x0",
- "filename" : "Mono.Debugging.Soft.dll",
- "sizeofimage" : "0x2e000",
- "timestamp" : "0x5c79f81f",
- "il_offset" : "0x00010"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "2334BB37-A1E0-4C4B-8D85-A6DE3E6356E7",
- "token" : "0x60001ee",
- "native_offset" : "0x0",
- "filename" : "Mono.Debugging.Soft.dll",
- "sizeofimage" : "0x2e000",
- "timestamp" : "0x5c79f81f",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001e55",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00014"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dff",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00071"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfe",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfd",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0002b"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001e57",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00008"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0001e"
- }
-
- ],
-"unmanaged_frames" : [
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-,
-{
- "native_address" : "unregistered"
- }
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xb26e48ee7",
-"offset_rich_hash" : "0xb26e49123",
-"crashed" : false,
-"native_thread_id" : "0x7fce45da1700",
-"thread_info_addr" : "0x7fce20000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
- "IP" : "0x7fce795bdfac",
- "SP" : "0x7fce45da01d0",
- "BP" : "(nil)"
-},
-"managed_frames" : [
-{
- "native_address" : "unregistered"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0004f"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60055ec",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00010"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6005593",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00026"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x600532a",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0000b"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60021bf",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0002b"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022b9",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022bc",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dff",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00071"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001dfe",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6002325",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00034"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022bb",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0004a"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x60022ba",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001f07",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00074"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x6001f1c",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x00000"
- }
-,
-{
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0001e"
- }
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x644001dba",
-"offset_rich_hash" : "0x644001efc",
-"crashed" : false,
-"native_thread_id" : "0x7fce5c2fb700",
-"thread_info_addr" : "0x7fce4c000b20",
-"thread_name" : "Timer-Scheduler",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce5c2fa570",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f68",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00019"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600201f",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00048"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e57",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xb26e48ee7",
-"offset_rich_hash" : "0xb26e49123",
-"crashed" : false,
-"native_thread_id" : "0x7fce47419700",
-"thread_info_addr" : "0x7fce30000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce474181d0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60055ec",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00010"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6005593",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600532a",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60021bf",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022ba",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f07",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00074"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f1c",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce6cf41700",
-"thread_info_addr" : "0x7fcdfc323f60",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce6cf401f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce06ad4700",
-"thread_info_addr" : "0x7fcdec000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce06ad31f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce46b76700",
-"thread_info_addr" : "0x7fce34000b20",
-"thread_name" : "GUI Thread",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce46b751f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x644001ff2",
-"offset_rich_hash" : "0x644002155",
-"crashed" : false,
-"native_thread_id" : "0x7fce6d142700",
-"thread_info_addr" : "0x7fce60000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce6d141210",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002005",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002d"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f21",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00007"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f1f",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00021"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f07",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00074"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f1c",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce052d1700",
-"thread_info_addr" : "0x7fce080008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce052d01f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce04ad0700",
-"thread_info_addr" : "0x7fcdfc0008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce04acf1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x8750e8aa9",
-"offset_rich_hash" : "0x8750e8c09",
-"crashed" : false,
-"native_thread_id" : "0x7fcdd38fe700",
-"thread_info_addr" : "0x7fce2c54ea60",
-"thread_name" : "SDB Event Handl",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fcdd38fd450",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e35",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e2c",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x600035e",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "2334BB37-A1E0-4C4B-8D85-A6DE3E6356E7",
-"token" : "0x6000071",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugging.Soft.dll",
-"sizeofimage" : "0x2e000",
-"timestamp" : "0x5c79f81f",
-"il_offset" : "0x00010"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e57",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce042cf700",
-"thread_info_addr" : "0x7fcde0003280",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce042ce1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xf85f24df5",
-"offset_rich_hash" : "0xf85f25184",
-"crashed" : false,
-"native_thread_id" : "0x7fce44dfe700",
-"thread_info_addr" : "0x7fce1c0008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce44dfcfe0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e35",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001d80",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x000d9"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003ae0",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00067"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003adf",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00006"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003ada",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00009"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "E5969C60-110B-4D73-A2DB-144BF8757E5A",
-"token" : "0x6000b76",
-"native_offset" : "0x0",
-"filename" : "Microsoft.CodeAnalysis.Features.dll",
-"sizeofimage" : "0x290000",
-"timestamp" : "0x8f26a99c",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "5DA55B00-63AB-4CC0-89C7-1DD7627C0EB2",
-"token" : "0x6001fa5",
-"native_offset" : "0x0",
-"filename" : "Microsoft.CodeAnalysis.Workspaces.dll",
-"sizeofimage" : "0x2aa000",
-"timestamp" : "0xfd8e2685",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x5ce7bb4e1",
-"offset_rich_hash" : "0x5ce7bb643",
-"crashed" : false,
-"native_thread_id" : "0x7fce5cdf7700",
-"thread_info_addr" : "0x7fce48000b20",
-"thread_name" : "NuGet backgroun",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce5cdf6530",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001f68",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00019"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "32B4715A-E1B2-4BCC-8A20-0D2E6E21A607",
-"token" : "0x60005b6",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.PackageManagement.dll",
-"sizeofimage" : "0x9e000",
-"timestamp" : "0xbf026b53",
-"il_offset" : "0x00068"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e57",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x119ccc4883",
-"offset_rich_hash" : "0x119ccc5f59",
-"crashed" : false,
-"native_thread_id" : "0x7fce793d0740",
-"thread_info_addr" : "0x55a50dc13670",
-"thread_name" : "GUI Thread",
-"ctx" : {
-"IP" : "0x7fce795c09c2",
-"SP" : "0x7ffec5b48cc0",
-"BP" : "0x55a515fdf430"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
-"token" : "0x6000033",
-"native_offset" : "0x0",
-"filename" : "glib-sharp.dll",
-"sizeofimage" : "0x1e000",
-"timestamp" : "0x0",
-"il_offset" : "0x00089"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x6003c77",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00029"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0xffffffff"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x0000c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x6000aa1",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00006"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x60004a4",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00016"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001703",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0007d"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001701",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00009"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001104",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x000bb"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x60010b6",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00022"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001103",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6004bd0",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00019"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0001e"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60034c8",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x000b5"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6003a78",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6003a70",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00016"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60035d3",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00007"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6003cc8",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6003cae",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0000a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6003cc6",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0011a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600351a",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00035"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6003a6b",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600361b",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600390e",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00039"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6003931",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6003597",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x000cc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x600358b",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00093"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0001d"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x600170d",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00044"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x600170b",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0000c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001709",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00001"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x60016ec",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0004f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6004bf4",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x000bf"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00036"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A0B4B72C-448E-4DB9-964E-28C48A04BDE2",
-"token" : "0x6001683",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Core.dll",
-"sizeofimage" : "0x1c2000",
-"timestamp" : "0x982e7372",
-"il_offset" : "0x00046"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A0B4B72C-448E-4DB9-964E-28C48A04BDE2",
-"token" : "0x60016a4",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Core.dll",
-"sizeofimage" : "0x1c2000",
-"timestamp" : "0x982e7372",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x600178f",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x0007c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6004be8",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
-"token" : "0x6000033",
-"native_offset" : "0x0",
-"filename" : "glib-sharp.dll",
-"sizeofimage" : "0x1e000",
-"timestamp" : "0x0",
-"il_offset" : "0x00051"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x6003c77",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00029"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0xffffffff"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x0000c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x60041c1",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x60015db",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00007"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x600177a",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x00b91"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "C0354B3A-60C5-4B63-A107-28D2CB660ACC",
-"token" : "0x6001791",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.Ide.dll",
-"sizeofimage" : "0x6d4000",
-"timestamp" : "0xbe849b9e",
-"il_offset" : "0x000f4"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F17F5715-FC8C-42BD-827F-0D9E633392DD",
-"token" : "0x6000001",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.exe",
-"sizeofimage" : "0x18000",
-"timestamp" : "0xd9e768c1",
-"il_offset" : "0x00001"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F17F5715-FC8C-42BD-827F-0D9E633392DD",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "MonoDevelop.exe",
-"sizeofimage" : "0x18000",
-"timestamp" : "0xd9e768c1",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : false,
-"offset_free_hash" : "0x0",
-"offset_rich_hash" : "0x0",
-"crashed" : false,
-"native_thread_id" : "0x7fcdda8ff700",
-"thread_info_addr" : "0x7fce681517c0",
-"thread_name" : "GUI Thread",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fcdda8fea90",
-"BP" : "(nil)"
-},
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce054f9700",
-"thread_info_addr" : "0x55a510f421c0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce054f81f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce056fa700",
-"thread_info_addr" : "0x7fcde0000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce056f91f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x887c8dbaf",
-"offset_rich_hash" : "0x887c8dd1a",
-"crashed" : false,
-"native_thread_id" : "0x7fcdd3d00700",
-"thread_info_addr" : "0x7fce1008f4a0",
-"thread_name" : "SDB error reade",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fcdd3cff450",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60055ec",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00010"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6005593",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "2334BB37-A1E0-4C4B-8D85-A6DE3E6356E7",
-"token" : "0x6000040",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugging.Soft.dll",
-"sizeofimage" : "0x2e000",
-"timestamp" : "0x5c79f81f",
-"il_offset" : "0x00010"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "2334BB37-A1E0-4C4B-8D85-A6DE3E6356E7",
-"token" : "0x60001ee",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugging.Soft.dll",
-"sizeofimage" : "0x2e000",
-"timestamp" : "0x5c79f81f",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e57",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce058fb700",
-"thread_info_addr" : "0x7fcdf80008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce058fa1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xadad97164",
-"offset_rich_hash" : "0xadad972d5",
-"crashed" : false,
-"native_thread_id" : "0x7fcdccef9700",
-"thread_info_addr" : "0x7fce2c0008d0",
-"thread_name" : "SDB Receiver",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fcdccef8130",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x0004b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x60020fa",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x0000c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x60020f1",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x0002e"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x600208c",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x600016f",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00001"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x60000fb",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00006"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x60000fd",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00009"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x6000103",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00001"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "A72E1810-8C73-47BE-A221-F7796A33CC72",
-"token" : "0x6000102",
-"native_offset" : "0x0",
-"filename" : "Mono.Debugger.Soft.dll",
-"sizeofimage" : "0x30000",
-"timestamp" : "0x5c79f81d",
-"il_offset" : "0x00005"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e57",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00008"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce17fff700",
-"thread_info_addr" : "0x7fce00000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce17ffe1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce05afc700",
-"thread_info_addr" : "0x7fce180008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce05afb1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x12991d684",
-"offset_rich_hash" : "0x12991d6fb",
-"crashed" : true,
-"native_thread_id" : "0x7fce7665b700",
-"thread_info_addr" : "0x7fce70000b20",
-"thread_name" : "Finalizer",
-"ctx" : {
-"IP" : "0x55a50c0fe830",
-"SP" : "0x7fce76658d9c",
-"BP" : "0x7fce76658d9c"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "glib-sharp.dll",
-"sizeofimage" : "0x1e000",
-"timestamp" : "0x0",
-"il_offset" : "0x0000c"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
-"token" : "0x6000142",
-"native_offset" : "0x0",
-"filename" : "glib-sharp.dll",
-"sizeofimage" : "0x1e000",
-"timestamp" : "0x0",
-"il_offset" : "0x00014"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x60041bd",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00030"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
-"token" : "0x60008e2",
-"native_offset" : "0x0",
-"filename" : "gtk-sharp.dll",
-"sizeofimage" : "0x164000",
-"timestamp" : "0x0",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "647377EB-95C2-47E4-9871-E1B13CB84399",
-"token" : "0x6000300",
-"native_offset" : "0x0",
-"filename" : "Xwt.Gtk.dll",
-"sizeofimage" : "0x54000",
-"timestamp" : "0x5c79f741",
-"il_offset" : "0x00007"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "647377EB-95C2-47E4-9871-E1B13CB84399",
-"token" : "0x6000088",
-"native_offset" : "0x0",
-"filename" : "Xwt.Gtk.dll",
-"sizeofimage" : "0x54000",
-"timestamp" : "0x5c79f741",
-"il_offset" : "0x00002"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce05cfd700",
-"thread_info_addr" : "0x7fcde8000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce05cfc1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0x103380725a",
-"offset_rich_hash" : "0x10338075e9",
-"crashed" : false,
-"native_thread_id" : "0x7fce14555700",
-"thread_info_addr" : "0x7fce0c000b20",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce14554180",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e35",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001d80",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x000d9"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003ae0",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00067"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003adf",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00006"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003ada",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00009"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "E5969C60-110B-4D73-A2DB-144BF8757E5A",
-"token" : "0x6000b76",
-"native_offset" : "0x0",
-"filename" : "Microsoft.CodeAnalysis.Features.dll",
-"sizeofimage" : "0x290000",
-"timestamp" : "0x8f26a99c",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "5DA55B00-63AB-4CC0-89C7-1DD7627C0EB2",
-"token" : "0x6001fa5",
-"native_offset" : "0x0",
-"filename" : "Microsoft.CodeAnalysis.Workspaces.dll",
-"sizeofimage" : "0x2aa000",
-"timestamp" : "0xfd8e2685",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-},
-{
-"is_managed" : true,
-"offset_free_hash" : "0xd77dda152",
-"offset_rich_hash" : "0xd77dda68f",
-"crashed" : false,
-"native_thread_id" : "0x7fce05efe700",
-"thread_info_addr" : "0x7fcdf40008d0",
-"thread_name" : "Thread Pool Wor",
-"ctx" : {
-"IP" : "0x7fce795bdfac",
-"SP" : "0x7fce05efd1f0",
-"BP" : "(nil)"
-},
-"managed_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00026"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6003dc8",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00012"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004114",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00027"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004113",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x002dc"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "4A8AD8C3-332D-4EE8-88C2-6A127B4F9D6A",
-"token" : "0x6004308",
-"native_offset" : "0x0",
-"filename" : "System.dll",
-"sizeofimage" : "0x278000",
-"timestamp" : "0xc134f6ee",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022b9",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bc",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002325",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00034"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x60022bb",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0004a"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6002431",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e55",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00025"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dff",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00071"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfe",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x00000"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001dfd",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0002b"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x6001e56",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0000f"
-}
-,
-{
-"is_managed" : "true",
-"guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
-"token" : "0x00000",
-"native_offset" : "0x0",
-"filename" : "mscorlib.dll",
-"sizeofimage" : "0x450000",
-"timestamp" : "0xc40271ca",
-"il_offset" : "0x0001e"
-}
-
-],
-"unmanaged_frames" : [
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-,
-{
-"native_address" : "unregistered"
-}
-
-]
-}
-]
-} \ No newline at end of file
diff --git a/samples/deferred/ui/mono_crash.12991d684.1.json b/samples/deferred/ui/mono_crash.12991d684.1.json
deleted file mode 100644
index 0def8aa..0000000
--- a/samples/deferred/ui/mono_crash.12991d684.1.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "protocol_version" : "0.0.4",
- "configuration" : {
- "version" : "(5.20.1) (explicit/886c4901747)",
- "tlc" : "normal",
- "sigsgev" : "altstack",
- "notifications" : "epoll",
- "architecture" : "amd64",
- "disabled_features" : "none",
- "smallconfig" : "disabled",
- "bigarrays" : "disabled",
- "softdebug" : "enabled",
- "interpreter" : "enabled",
- "suspend" : "hybrid",
- "llvm_support" : "disabled"
- },
- "memory" : {
- "minor_gc_time" : "2373884929",
- "major_gc_time" : "55572350",
- "minor_gc_count" : "58325",
- "major_gc_count" : "112",
- "major_gc_time_concurrent" : "524665760"
- },
- "threads" : [
- {
- "is_managed" : true,
- "offset_free_hash" : "0x12991d684",
- "offset_rich_hash" : "0x12991d6fb",
- "crashed" : true,
- "native_thread_id" : "0x7fc410b10700",
- "thread_info_addr" : "0x7fc40c000b20",
- "thread_name" : "Finalizer",
- "ctx" : {
- "IP" : "0x564a36175830",
- "SP" : "0x7fc410b0dd9c",
- "BP" : "0x7fc410b0dd9c"
- },
- "managed_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "glib-sharp.dll",
- "sizeofimage" : "0x1e000",
- "timestamp" : "0x0",
- "il_offset" : "0x0000c"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "ED39F21B-9E93-43DC-BD44-2A17AD356A9F",
- "token" : "0x6000142",
- "native_offset" : "0x0",
- "filename" : "glib-sharp.dll",
- "sizeofimage" : "0x1e000",
- "timestamp" : "0x0",
- "il_offset" : "0x00014"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
- "token" : "0x60041bd",
- "native_offset" : "0x0",
- "filename" : "gtk-sharp.dll",
- "sizeofimage" : "0x164000",
- "timestamp" : "0x0",
- "il_offset" : "0x00030"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "7AAB76E8-7BCE-48A4-B45C-F7FA613CB70C",
- "token" : "0x60008e2",
- "native_offset" : "0x0",
- "filename" : "gtk-sharp.dll",
- "sizeofimage" : "0x164000",
- "timestamp" : "0x0",
- "il_offset" : "0x00000"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "647377EB-95C2-47E4-9871-E1B13CB84399",
- "token" : "0x6000300",
- "native_offset" : "0x0",
- "filename" : "Xwt.Gtk.dll",
- "sizeofimage" : "0x54000",
- "timestamp" : "0x5c79f741",
- "il_offset" : "0x00007"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "647377EB-95C2-47E4-9871-E1B13CB84399",
- "token" : "0x6000088",
- "native_offset" : "0x0",
- "filename" : "Xwt.Gtk.dll",
- "sizeofimage" : "0x54000",
- "timestamp" : "0x5c79f741",
- "il_offset" : "0x00002"
- }
-,
- {
- "is_managed" : "true",
- "guid" : "F9CA7668-AA09-40C8-9A6C-9879C6574D1F",
- "token" : "0x00000",
- "native_offset" : "0x0",
- "filename" : "mscorlib.dll",
- "sizeofimage" : "0x450000",
- "timestamp" : "0xc40271ca",
- "il_offset" : "0x0001e"
- }
-
- ],
- "unmanaged_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-
- ]
-},
-{
- "is_managed" : false,
- "offset_free_hash" : "0x0",
- "offset_rich_hash" : "0x0",
- "crashed" : false,
- "native_thread_id" : "0x7fc4138cf740",
- "thread_info_addr" : "0x564a382e9670",
- "thread_name" : "GUI Thread",
- "ctx" : {
- "IP" : "0x7fc413abf9c2",
- "SP" : "0x7fffea79df50",
- "BP" : "0x564a3f64fa50"
- },
- "unmanaged_frames" : [
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-,
- {
- "native_address" : "unregistered"
- }
-
- ]
-}
-]
-} \ No newline at end of file
diff --git a/samples/pbrSashaWillem/SachaWillemPbr.csproj b/samples/pbrSashaWillem/SachaWillemPbr.csproj
index 9fe5ead..9deadf5 100644
--- a/samples/pbrSashaWillem/SachaWillemPbr.csproj
+++ b/samples/pbrSashaWillem/SachaWillemPbr.csproj
@@ -28,7 +28,6 @@
<ItemGroup>
<ProjectReference Include="..\..\vke\CVKL.csproj" />
- <ProjectReference Include="..\..\crow\Crow\Crow.csproj" />
</ItemGroup>
<ItemGroup>
diff --git a/samples/vkvg_tests/main.cs b/samples/vkvg_tests/main.cs
index 08ec9f0..9bae346 100644
--- a/samples/vkvg_tests/main.cs
+++ b/samples/vkvg_tests/main.cs
@@ -30,37 +30,49 @@ namespace vkvg_test {
ctx.Fill ();
ctx.Operator = vkvg.Operator.Over;
}
- void vkvgDraw () {
+ void vkvgDraw () {
+ using (vkvg.Context ctx = new vkvg.Context (vkvgSurf)) {
+ ctx.SetSource (1.0, 1.0, 1.0);
+ ctx.Paint ();
+ ctx.Translate (100, 100);
+ ctx.Scale (3, 3);
+ ctx.SetSource (0.1, 0.1, 0.1);
+ ctx.Arc (100, 100, 10.0, 0, Math.PI * 2.0);
+ ctx.LineWidth = 1.0;
+ ctx.Stroke ();
+ }
- using (vkvg.Surface svgSurf = new vkvg.Surface (vkvgDev, 300, 300)) {
- using (vkvg.Context ctx = new vkvg.Context (svgSurf)) {
- IntPtr nsvg = IntPtr.Zero;
+ }
+ //void vkvgDrawSVG () {
+ // using (vkvg.Surface svgSurf = new vkvg.Surface (vkvgDev, 300, 300)) {
+ // using (vkvg.Context ctx = new vkvg.Context (svgSurf)) {
+ // IntPtr nsvg = IntPtr.Zero;
- using (Stream nsvgStream = Crow.Interface.StaticGetStreamFromPath ("../../../samples/data/tiger.svg")) {
- using (StreamReader sr = new StreamReader (nsvgStream)) {
- nsvg = vkvgDev.LoadSvgFragment (sr.ReadToEnd ());
- }
- }
+ // using (Stream nsvgStream = Crow.Interface.StaticGetStreamFromPath ("../../../samples/data/tiger.svg")) {
+ // using (StreamReader sr = new StreamReader (nsvgStream)) {
+ // nsvg = vkvgDev.LoadSvgFragment (sr.ReadToEnd ());
+ // }
+ // }
- ctx.SetSource (0.8f, 0.8f, 0.8f);
- ctx.Paint ();
+ // ctx.SetSource (0.8f, 0.8f, 0.8f);
+ // ctx.Paint ();
- ctx.Scale (0.2f, 0.2f);
- ctx.RenderSvg (nsvg, null);
+ // ctx.Scale (0.2f, 0.2f);
+ // ctx.RenderSvg (nsvg, null);
- vkvgDev.DestroySvg (nsvg);
- }
+ // vkvgDev.DestroySvg (nsvg);
+ // }
- //svgSurf.WriteToPng ("/mnt/data/test.png");
+ // //svgSurf.WriteToPng ("/mnt/data/test.png");
- using (vkvg.Context ctx = new vkvg.Context (vkvgSurf)) {
- ctx.SetSourceSurface (svgSurf, 0, 0);
- ctx.Paint ();
- }
- }
- }
- #region fps print
+ // using (vkvg.Context ctx = new vkvg.Context (vkvgSurf)) {
+ // ctx.SetSourceSurface (svgSurf, 0, 0);
+ // ctx.Paint ();
+ // }
+ // }
+ //}
+ #region fps print
void vkvgDraw1 () {
using (vkvg.Context ctx = new vkvg.Context (vkvgSurf)) {
diff --git a/samples/vkvg_tests/vkvg_tests.csproj b/samples/vkvg_tests/vkvg_tests.csproj
index 9fe5ead..1e1cb59 100644
--- a/samples/vkvg_tests/vkvg_tests.csproj
+++ b/samples/vkvg_tests/vkvg_tests.csproj
@@ -24,11 +24,11 @@
<ItemGroup>
<PackageReference Include="Vulkan" Version="0.1.2.8-beta" />
+ <PackageReference Include="vkvg.net" Version="0.2.2-beta" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\vke\CVKL.csproj" />
- <ProjectReference Include="..\..\crow\Crow\Crow.csproj" />
</ItemGroup>
<ItemGroup>
diff --git a/vk.net.sln b/vk.net.sln
index 02d4862..fe63750 100644
--- a/vk.net.sln
+++ b/vk.net.sln
@@ -25,73 +25,83 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferre
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{05515E15-D3C3-4A8C-A940-9467D9D77823}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Crow", "crow\Crow\Crow.csproj", "{7BD4136D-AC65-40AF-A5B5-335079219588}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
temp|Any CPU = temp|Any CPU
+ DebugCrow|Any CPU = DebugCrow|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96A2E0B8-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {96A2E0B8-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {96A2E0B8-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96A2A7896-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {96A2A7896-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {96A2A7896-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Release|Any CPU.Build.0 = Release|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.temp|Any CPU.ActiveCfg = Debug|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Release|Any CPU.Build.0 = Release|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.temp|Any CPU.ActiveCfg = Debug|Any CPU
{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.Release|Any CPU.Build.0 = Release|Any CPU
- {1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F18E74F-BCC9-481C-8FDF-89D81CBB30BE}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{1F05E74F-AEE8-481C-8FDF-456654CC30BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F05E74F-AEE8-481C-8FDF-456654CC30BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F05E74F-AEE8-481C-8FDF-456654CC30BE}.Release|Any CPU.Build.0 = Release|Any CPU
- {1F05E74F-AEE8-481C-8FDF-456654CC30BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F05E74F-AEE8-481C-8FDF-456654CC30BE}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F05E74F-AEE8-481C-8FDF-456654CC30BE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F05E74F-AEE8-481C-8FDF-456654CC30BE}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{1603D809-D9C4-4EE5-B921-B053CE22E068}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1603D809-D9C4-4EE5-B921-B053CE22E068}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1603D809-D9C4-4EE5-B921-B053CE22E068}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1603D809-D9C4-4EE5-B921-B053CE22E068}.Release|Any CPU.Build.0 = Release|Any CPU
{1603D809-D9C4-4EE5-B921-B053CE22E068}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {1603D809-D9C4-4EE5-B921-B053CE22E068}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {1603D809-D9C4-4EE5-B921-B053CE22E068}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Release|Any CPU.Build.0 = Release|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.Build.0 = Release|Any CPU
{001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{001F5D64-871B-47A4-A823-78C7CE3785AA}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {7BD4136D-AC65-40AF-A5B5-335079219588}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7BD4136D-AC65-40AF-A5B5-335079219588}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7BD4136D-AC65-40AF-A5B5-335079219588}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7BD4136D-AC65-40AF-A5B5-335079219588}.Release|Any CPU.Build.0 = Release|Any CPU
- {7BD4136D-AC65-40AF-A5B5-335079219588}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {001F5D64-871B-47A4-A823-78C7CE3785AA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {001F5D64-871B-47A4-A823-78C7CE3785AA}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
+ {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
{05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.Build.0 = Debug|Any CPU
{05515E15-D3C3-4A8C-A940-9467D9D77823}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {05515E15-D3C3-4A8C-A940-9467D9D77823}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {05515E15-D3C3-4A8C-A940-9467D9D77823}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{96A2E0B8-91AE-4EB9-A435-185D01E24067} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
@@ -101,7 +111,6 @@ Global
{001F5D64-871B-47A4-A823-78C7CE3785AA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
{05515E15-D3C3-4A8C-A940-9467D9D77823} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {7BD4136D-AC65-40AF-A5B5-335079219588} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
diff --git a/vke/CVKL.csproj b/vke/CVKL.csproj
index 8f91af2..af5170d 100644
--- a/vke/CVKL.csproj
+++ b/vke/CVKL.csproj
@@ -4,7 +4,7 @@
<TargetFrameworks>net471;netstandard2.0</TargetFrameworks>
<Copyright></Copyright>
- <AssemblyVersion>0.1.3</AssemblyVersion>
+ <AssemblyVersion>0.1.3.1</AssemblyVersion>
<Description>C# vulkan library with IDispose model and references counting</Description>
<Company></Company>
<Product>CVKL</Product>
@@ -28,15 +28,16 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
<Optimize>false</Optimize>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
- <DefineConstants>DEBUG;_RENDERDOC;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
+ <DefineConstants>_RENDERDOC;NETSTANDARD;NETSTANDARD2_0;DEBUG;NETFRAMEWORK;NET471</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
</PropertyGroup>
-
+
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<Reference Include="System" />
<Reference Include="System.Runtime" />
@@ -52,4 +53,4 @@
<ItemGroup>
<Compile Remove="Properties\AssemblyInfo.cs;src\Renderer.cs;src\QueueFamily.cs" />
</ItemGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/vke/netfx.props b/vke/netfx.props
new file mode 120000
index 0000000..728e74b
--- /dev/null
+++ b/vke/netfx.props
@@ -0,0 +1 @@
+../netfx.props \ No newline at end of file
diff --git a/vke/src/Camera.cs b/vke/src/Camera.cs
index 5021c84..c2d2586 100644
--- a/vke/src/Camera.cs
+++ b/vke/src/Camera.cs
@@ -112,9 +112,9 @@ namespace CVKL {
public void Update () {
Projection = Matrix4x4.CreatePerspectiveFieldOfView (fov, aspectRatio, zNear, zFar) * VKProjectionCorrection;
- Matrix4x4 translation = Matrix4x4.CreateTranslation (position * new Vector3(1,1,-1)) ;
+ Matrix4x4 translation = Matrix4x4.CreateTranslation (position * zoom * new Vector3(1,1,-1)) ;
if (Type == CamType.LookAt) {
- View =
+ View =
Matrix4x4.CreateFromAxisAngle (Vector3.UnitZ, rotation.Z) *
Matrix4x4.CreateFromAxisAngle (Vector3.UnitY, rotation.Y) *
Matrix4x4.CreateFromAxisAngle (Vector3.UnitX, rotation.X) *
diff --git a/vke/src/RenderPass.cs b/vke/src/RenderPass.cs
index aa02af3..69203aa 100644
--- a/vke/src/RenderPass.cs
+++ b/vke/src/RenderPass.cs
@@ -212,7 +212,7 @@ namespace CVKL {
info.pClearValues = ClearValues.Pin ();
info.framebuffer = frameBuffer.handle;
- vkCmdBeginRenderPass (cmd.Handle, ref info, VkSubpassContents.Inline);
+ vkCmdBeginRenderPass (cmd.Handle, ref info, VkSubpassContents.Inline);
ClearValues.Unpin ();
}
diff --git a/vke/src/VkWindow.cs b/vke/src/VkWindow.cs
index 446004e..6928e73 100644
--- a/vke/src/VkWindow.cs
+++ b/vke/src/VkWindow.cs
@@ -159,8 +159,8 @@ namespace CVKL {
/// <summary>
/// override this method to modify enabled features before device creation
/// </summary>
- /// <param name="features">Features.</param>
- protected virtual void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures features) {
+ /// <param name="enabled_features">Features.</param>
+ protected virtual void configureEnabledFeatures (VkPhysicalDeviceFeatures available_features, ref VkPhysicalDeviceFeatures enabled_features) {
}
/// <summary>
/// override this method to create additional queue. Dedicated queue of the requested type will be selected first, created queues may excess