diff --git a/Datadog.Trace.Debugger.slnf b/Datadog.Trace.Debugger.slnf
index 90a5ec585d6e..8fbb37a35803 100644
--- a/Datadog.Trace.Debugger.slnf
+++ b/Datadog.Trace.Debugger.slnf
@@ -20,6 +20,7 @@
"tracer\\test\\Datadog.Trace.TestHelpers\\Datadog.Trace.TestHelpers.csproj",
"tracer\\test\\Datadog.Trace.Tests\\Datadog.Trace.Tests.csproj",
"tracer\\test\\Datadog.Tracer.Native.Tests\\Datadog.Tracer.Native.Tests.vcxproj",
+ "tracer\\test\\test-applications\\debugger\\Samples.Debugger.AspNetCore5\\Samples.Debugger.AspNetCore5.csproj",
"tracer\\test\\test-applications\\debugger\\Samples.Probes\\Samples.Probes.csproj",
"tracer\\test\\test-applications\\debugger\\dependency-libs\\Samples.Probes.External\\Samples.Probes.External.csproj",
"tracer\\test\\test-applications\\debugger\\dependency-libs\\Samples.Probes.TestRuns\\Samples.Probes.TestRuns.csproj",
diff --git a/Datadog.Trace.sln b/Datadog.Trace.sln
index 68cf6c17a62a..ceb8ae4cdbdb 100644
--- a/Datadog.Trace.sln
+++ b/Datadog.Trace.sln
@@ -572,6 +572,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.CIVisibilityVersion
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RuntimeMetricsShutdown", "tracer\test\test-applications\regression\RuntimeMetricsShutdown\RuntimeMetricsShutdown.csproj", "{C4ABF344-3263-45D5-A074-03FB206FF309}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.Debugger.AspNetCore5", "tracer\test\test-applications\debugger\Samples.Debugger.AspNetCore5\Samples.Debugger.AspNetCore5.csproj", "{3978A7D5-7B6E-4152-9C3A-5852F1F6E223}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -1372,6 +1374,10 @@ Global
{C4ABF344-3263-45D5-A074-03FB206FF309}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4ABF344-3263-45D5-A074-03FB206FF309}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4ABF344-3263-45D5-A074-03FB206FF309}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3978A7D5-7B6E-4152-9C3A-5852F1F6E223}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3978A7D5-7B6E-4152-9C3A-5852F1F6E223}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3978A7D5-7B6E-4152-9C3A-5852F1F6E223}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3978A7D5-7B6E-4152-9C3A-5852F1F6E223}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1595,30 +1601,123 @@ Global
{BA9613FB-8458-4C78-98DE-AA45BBE62F64} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{0D996EEE-7C04-4888-AF48-9C1E2F261A00} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{C4ABF344-3263-45D5-A074-03FB206FF309} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
+ {3978A7D5-7B6E-4152-9C3A-5852F1F6E223} = {16427BFB-B4C6-46A9-A290-8EA51FF73FEA}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {160A1D00-1F5B-40F8-A155-621B4459D78F}
EndGlobalSection
GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{021efba6-c4ba-4de5-bf3f-c263ee9e20db}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{061ab58b-8235-4dae-8d56-5f081dd78f5e}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{086ff8a0-9cee-470a-9751-78b0f1340649}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0980bcdd-a231-42d1-b689-41a41bba161a}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0d996eee-7c04-4888-af48-9c1e2f261a00}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0df4363a-0df4-4882-a39f-3c9f404b8de5}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0e036453-2c80-4fc9-a517-771f0071734b}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0f0f7d45-0e13-42b0-a158-8f303bbe8358}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{0f1d9fb5-4415-40f1-b7b0-6dd5a3bab0c4}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{10619ba2-aed1-482a-8570-bb7c7b83dddc}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{18a6904a-5afd-4816-ac3f-9f5e433720b5}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{1a5e9f40-f3a5-4b59-9898-3dcd65c459c3}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{1b3e6bee-f7ab-433e-a1d9-e8be3782419b}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{1b9e6bf4-9d48-4988-9945-248096119e46}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{230a9b80-e1aa-469f-86f2-b7e257f14e66}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{238f67db-1e48-447c-b1b8-bdc692103791}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{23ea38e3-0bf1-40df-a52d-c34ea2fb3f26}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{24834112-8c25-4a3d-bdd3-0acec825ff2c}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{25b7d571-c385-4ca6-9b6a-573d3e3ff3c9}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{268b6d05-b6d5-4d20-b2b1-0b9422a92d73}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{2a6d3042-c675-4ea3-a8e7-5bdd3c5758ea}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{2cc63aeb-0098-4d3b-9606-f07692c03e90}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{2d1ff937-3237-4a1b-9c6c-82fa5e22cad7}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{2f3b6271-b9a3-48a3-9db6-847f3ef41f0a}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{303f8e41-691f-4453-ab7d-88a0036c0465}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{31d192af-5454-4d91-97e1-889723aad309}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{32193a01-04dd-463b-a84a-9a93167958a4}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3493346b-44f6-4f50-8fb4-51d0090df544}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{34b67004-7249-4ef1-8e12-6e6da37ea6be}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3538ef5e-377e-430a-afb8-f2db5faede95}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3978a7d5-7b6e-4152-9c3a-5852f1f6e223}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3bc38be0-b6ff-4b05-bc63-3614a5cf9393}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3c6dd42e-9214-4747-92ba-78de29aace59}*SharedItemsImports = 4
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3c78c521-6507-4d3a-b92e-bc41cee9d9f3}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3cb0b2c2-7664-4d71-8f43-3d207ee80db7}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{3cdce3aa-7caf-4a27-b1d3-9d558b74d084}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{42fa33dd-aea3-4ff3-8319-f30244a666a4}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{43782238-e7bb-49d0-9541-1121daca6eb5}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{43c696fa-3812-4312-9529-98ceccd32a81}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{463a6fb2-1abe-4b92-a470-97134d0bbc7e}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{472b69a0-956f-42c0-9cb8-30107821c43b}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{472dba92-4fea-4b9a-ba70-0e97b942e12d}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{5a806f4b-39e7-4f38-b36f-f5cfc4f8760a}*SharedItemsImports = 13
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{65492dd4-ccd9-437a-b383-e7eb7ab872d2}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{65a66859-2735-4dd6-a927-b416b7a62d0f}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{662b587f-97b5-4cef-abf9-6c76a6dbd29e}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{69b678f6-51cf-4a5b-8dec-1f9cedc5c9e2}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{6c599d79-87d0-476b-9cba-f731e5627622}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{6d86109f-b7c9-477d-86d7-45735a3a0818}*SharedItemsImports = 4
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{6f38b456-1d16-4842-aee5-e74564fb506a}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{6f8b63ea-98d6-4909-be9e-f39029c29c4f}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7203dd2b-739f-4223-ae50-d26a7feee1a4}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{73252693-2563-4b20-a2f5-f8db37b91dbe}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7415b0fb-a446-41d6-a0cd-d64b703f15ad}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7471a7a8-b89c-4c94-8eb1-24180e71ca1f}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{754f73e1-f7a4-47c7-a3f7-dc59ada5105a}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{79a63f25-a5f9-441c-8c52-f8033a9f8aba}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7b0822f6-80de-4b49-8125-93975678d0d5}*SharedItemsImports = 4
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7dfdd339-30c5-4c1d-ab07-f9106256af77}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{7e563bf6-47f2-4531-a1ce-fb9445df3253}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8276e670-fc3f-4ede-9d51-6dad90336c32}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{83290961-40bf-48cb-b925-fbbe48e629f3}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{87d57940-9a6e-473c-a4d6-777e3bafd5f9}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{887ac8ba-35a6-4646-bf9a-59357155805e}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8b457e8f-8716-4f29-bbe2-dd6c7bc4ac37}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8bdf1de0-e6de-48ad-aaa3-ce09cb544e2c}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8dfe1168-b1cc-43d1-b256-b5708badd47b}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8e1555d1-13d5-4dbf-9631-117d840c3158}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{8eaabfb9-8a47-4b11-ad7f-ac8b373cde49}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{901ac4f9-7de5-4d13-85fd-384382e29f11}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{94b50277-fb50-4b42-ba79-770adb24cb80}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{95613224-c1d7-4d4a-8926-f70da26371ca}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{959e9599-8d99-43bc-8038-b91f76179c1c}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{99a62ccf-8e7f-4d57-8383-d38c371c8087}*SharedItemsImports = 4
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{b417e258-a21f-4546-b78f-8a7a4879472a}*SharedItemsImports = 4
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{b6a98887-4a47-4c19-9c6f-d833e24f4b1c}*SharedItemsImports = 4
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{b93ad901-b761-486d-80ae-443742db65e0}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{ba9613fb-8458-4c78-98de-aa45bbe62f64}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bb3f7d85-7e20-4aeb-a32a-8af150cc37b2}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bbad4449-d414-4a20-bca2-de9c40e4a866}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bbb60b0f-bf01-4499-936a-4a299a9acfd4}*SharedItemsImports = 4
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bc44a41f-1bed-4438-9f66-0ea5607906d5}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bc998acd-353b-4a56-8a56-df6200e141b6}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bd46efcc-177c-466e-81df-39314b780ada}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bdee131f-ccf5-49bd-9764-9c4a8864ce4e}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bed94a61-6fd9-4103-bd35-70b4798c301c}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{bf1e5ba6-c0e5-4472-9d5d-2622231dd275}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{c1210e08-58e5-44d4-be6f-634c3fc5e410}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{c41023c9-65c3-4fb3-9053-4de963a81500}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{c4abf344-3263-45d5-a074-03fb206ff309}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{cb56ac5a-d2c1-40de-99d5-dcf9f44c9482}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{d00ddbda-66f5-490d-8c1c-16cc5e142170}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{d141bd06-dd95-4caf-85cd-657116e0dad4}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{d59c5649-be0e-4a33-b868-b652d8614534}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{d79491f0-ca92-439b-98ce-7af9f57ebeb0}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{da0a44fb-d562-4776-aafb-8266e78aa1a6}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{da81ef3e-fdb3-417f-aa20-60fc495e3596}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{dc7d131a-af99-46ab-9aa6-463443e3b992}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{dd3e8ed8-a0e4-482e-a5ed-115e21d543c0}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{deacde01-95fe-4777-b70a-f20a96aabea7}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{e10243ae-34fc-47b5-b898-b5203c36920c}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{e961d189-3ef9-4d79-95a1-78d825b73b01}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{eea89acd-cfbb-4f60-a150-74f0a84df028}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{ef718502-7760-45b5-a563-5f1b22a6b840}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{f19b5109-36ac-4a64-afe6-faf9e831c528}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{f24eb026-65fb-4247-abf8-942b11adab64}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{f47f206e-4cca-4ad0-aeba-fd9f491e05ec}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{f5582f54-e911-4258-b419-5e894d338c5b}*SharedItemsImports = 4
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{f6a03b6c-ebf9-4581-9904-edc7270cf3bd}*SharedItemsImports = 5
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{fa487690-e88c-4a57-9187-b71cb70c1aae}*SharedItemsImports = 5
tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{fab2b108-e5be-4647-869b-1dc5d362252e}*SharedItemsImports = 4
+ tracer\test\test-applications\Samples.Shared\Samples.Shared.projitems*{ff2e8dd2-ca25-4d53-a77c-9f88e41f8c98}*SharedItemsImports = 5
EndGlobalSection
EndGlobal
diff --git a/tracer/build/_build/Build.Steps.Debugger.cs b/tracer/build/_build/Build.Steps.Debugger.cs
index 29be0eecbd2b..fcc8e76b6532 100644
--- a/tracer/build/_build/Build.Steps.Debugger.cs
+++ b/tracer/build/_build/Build.Steps.Debugger.cs
@@ -1,3 +1,4 @@
+using System.Linq;
using Nuke.Common;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tooling;
@@ -27,6 +28,8 @@ partial class Build
Project DebuggerSamples => Solution.GetProject(Projects.DebuggerSamples);
+ Project ExceptionReplaySamples => Solution.GetProject(Projects.ExceptionReplaySamples);
+
Project DebuggerSamplesTestRuns => Solution.GetProject(Projects.DebuggerSamplesTestRuns);
Project DebuggerUnreferencedExternal => Solution.GetProject(Projects.DebuggerUnreferencedExternal);
@@ -68,6 +71,7 @@ partial class Build
Target CompileDebuggerIntegrationTestsSamples => _ => _
.Unlisted()
+ .DependsOn(HackForMissingMsBuildLocation)
.DependsOn(CompileDebuggerIntegrationTestsDependencies)
.Requires(() => Framework)
.Requires(() => MonitoringHomeDirectory != null)
@@ -77,6 +81,11 @@ partial class Build
{
DotnetBuild(DebuggerSamples, framework: Framework);
+ if (ExceptionReplaySamples.TryGetTargetFrameworks().Contains(Framework))
+ {
+ DotnetBuild(ExceptionReplaySamples, framework: Framework);
+ }
+
if (!IsWin)
{
// The sample helper in the test library assumes that the sample has
@@ -86,6 +95,15 @@ partial class Build
.SetConfiguration(BuildConfiguration)
.SetNoWarnDotNetCore3()
.SetProject(DebuggerSamples));
+
+ if (ExceptionReplaySamples.TryGetTargetFrameworks().Contains(Framework))
+ {
+ DotNetPublish(x => x
+ .SetFramework(Framework)
+ .SetConfiguration(BuildConfiguration)
+ .SetNoWarnDotNetCore3()
+ .SetProject(ExceptionReplaySamples));
+ }
}
});
diff --git a/tracer/build/_build/Projects.cs b/tracer/build/_build/Projects.cs
index 60834d8db9c0..9e39b94d35a2 100644
--- a/tracer/build/_build/Projects.cs
+++ b/tracer/build/_build/Projects.cs
@@ -33,6 +33,7 @@ public static class Projects
public const string DebuggerIntegrationTests = "Datadog.Trace.Debugger.IntegrationTests";
public const string DebuggerSamples = "Samples.Probes";
+ public const string ExceptionReplaySamples = "Samples.Debugger.AspNetCore5";
public const string DebuggerSamplesTestRuns = "Samples.Probes.TestRuns";
public const string DebuggerUnreferencedExternal = "Samples.Probes.Unreferenced.External";
diff --git a/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs b/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs
index 6b387f5a4ffc..8feb3024e712 100644
--- a/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs
+++ b/tracer/src/Datadog.Trace/ClrProfiler/Instrumentation.cs
@@ -449,7 +449,7 @@ private static void InitializeTracer(Stopwatch sw)
}
else
{
- Log.Information("Exception Debugging is disabled. To enable it, please set DD_EXCEPTION_DEBUGGING_ENABLED environment variable to 'true'.");
+ Log.Information("Exception Replay is disabled. To enable it, please set DD_EXCEPTION_REPLAY_ENABLED environment variable to '1'/'true'.");
}
}
catch (Exception ex)
diff --git a/tracer/src/Datadog.Trace/Configuration/ConfigurationKeys.Debugger.cs b/tracer/src/Datadog.Trace/Configuration/ConfigurationKeys.Debugger.cs
index 6d749695f7bb..7e89af21fcb6 100644
--- a/tracer/src/Datadog.Trace/Configuration/ConfigurationKeys.Debugger.cs
+++ b/tracer/src/Datadog.Trace/Configuration/ConfigurationKeys.Debugger.cs
@@ -3,6 +3,7 @@
// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc.
//
+using System;
using Datadog.Trace.Debugger;
using Datadog.Trace.Debugger.ExceptionAutoInstrumentation;
@@ -93,38 +94,46 @@ internal static class Debugger
public const string RedactedTypes = "DD_DYNAMIC_INSTRUMENTATION_REDACTED_TYPES";
///
- /// Configuration key for enabling or disabling Exception Debugging.
+ /// The old configuration key for enabling or disabling Exception Replay.
/// Default value is false (disabled).
///
- ///
+ ///
+ [Obsolete]
public const string ExceptionDebuggingEnabled = "DD_EXCEPTION_DEBUGGING_ENABLED";
+ ///
+ /// Configuration key for enabling or disabling Exception Replay.
+ /// Default value is false (disabled).
+ ///
+ ///
+ public const string ExceptionReplayEnabled = "DD_EXCEPTION_REPLAY_ENABLED";
+
///
/// Configuration key for the maximum number of frames in a call stack we would like to capture values for.
///
- ///
- public const string ExceptionDebuggingMaxFramesToCapture = "DD_EXCEPTION_DEBUGGING_MAX_FRAMES_TO_CAPTURE";
+ ///
+ public const string ExceptionReplayMaxFramesToCapture = "DD_EXCEPTION_REPLAY_MAX_FRAMES_TO_CAPTURE";
///
/// Configuration key to enable capturing the variables of all the frames in exception call stack.
/// Default value is false.
///
- ///
- public const string ExceptionDebuggingCaptureFullCallStackEnabled = "DD_EXCEPTION_DEBUGGING_CAPTURE_FULL_CALLSTACK_ENABLED";
+ ///
+ public const string ExceptionReplayCaptureFullCallStackEnabled = "DD_EXCEPTION_REPLAY_CAPTURE_FULL_CALLSTACK_ENABLED";
///
/// Configuration key for the interval used to track exceptions
/// Default value is 1h.
///
- ///
- public const string RateLimitSeconds = "DD_EXCEPTION_DEBUGGING_RATE_LIMIT_SECONDS";
+ ///
+ public const string RateLimitSeconds = "DD_EXCEPTION_REPLAY_RATE_LIMIT_SECONDS";
///
- /// Configuration key for setting the maximum number of exceptions to be analyzed by Exception Debugging within a 1-second time interval.
+ /// Configuration key for setting the maximum number of exceptions to be analyzed by Exception Replay within a 1-second time interval.
/// Default value is 100.
///
- ///
- public const string MaxExceptionAnalysisLimit = "DD_EXCEPTION_DEBUGGING_MAX_EXCEPTION_ANALYSIS_LIMIT";
+ ///
+ public const string MaxExceptionAnalysisLimit = "DD_EXCEPTION_REPLAY_MAX_EXCEPTION_ANALYSIS_LIMIT";
}
}
}
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionCaseInstrumentationManager.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionCaseInstrumentationManager.cs
index cc2133524548..f6258a2f1ad7 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionCaseInstrumentationManager.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionCaseInstrumentationManager.cs
@@ -115,7 +115,20 @@ private static List GetMethodsToRejit(ParticipatingFrame
internal static void Revert(ExceptionCase @case)
{
- Log.Information("Reverting {ExceptionCase}", @case);
+ if (@case.Probes == null || @case.Processors == null)
+ {
+ Log.Information("Received empty @case, nothing to revert.");
+ return;
+ }
+
+ try
+ {
+ Log.Information("Reverting {ExceptionCase}", @case);
+ }
+ catch (Exception ex)
+ {
+ Log.Error(ex, "Failed to log an exception case while reverting...");
+ }
foreach (var probe in @case.Probes)
{
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebugging.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebugging.cs
index 2fa46773fa8c..fc1a04ffd9ca 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebugging.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebugging.cs
@@ -21,16 +21,16 @@ internal class ExceptionDebugging
{
internal static readonly IDatadogLogger Log = DatadogLogging.GetLoggerFor(typeof(ExceptionDebugging));
- private static ExceptionDebuggingSettings? _settings;
+ private static ExceptionReplaySettings? _settings;
private static int _firstInitialization = 1;
private static bool _isDisabled;
private static SnapshotUploader? _uploader;
private static SnapshotSink? _snapshotSink;
- public static ExceptionDebuggingSettings Settings
+ public static ExceptionReplaySettings Settings
{
- get => LazyInitializer.EnsureInitialized(ref _settings, ExceptionDebuggingSettings.FromDefaultSource)!;
+ get => LazyInitializer.EnsureInitialized(ref _settings, ExceptionReplaySettings.FromDefaultSource)!;
private set => _settings = value;
}
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingProbe.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingProbe.cs
index 7a655896cacd..74474d86e1e5 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingProbe.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingProbe.cs
@@ -65,9 +65,14 @@ private bool ShouldInstrument()
return false;
}
+ ///
+ /// In .NET 6+ there's a bug that prevents Rejit-related APIs to work properly when Edit and Continue feature is turned on.
+ /// See https://github.com/dotnet/runtime/issues/91963 for addiitonal details.
+ ///
private bool CheckIfMethodMayBeOmittedFromCallStack()
{
- return FrameworkDescription.Instance.IsCoreClr() && RuntimeHelper.IsNetOnward(6) && Method.Method.DeclaringType?.Assembly != null && RuntimeHelper.IsModuleDebugCompiled(Method.Method.DeclaringType.Assembly);
+ return ExceptionTrackManager.IsEditAndContinueFeatureEnabled &&
+ FrameworkDescription.Instance.IsCoreClr() && RuntimeHelper.IsNetOnward(6) && Method.Method.DeclaringType?.Assembly != null && RuntimeHelper.IsModuleDebugCompiled(Method.Method.DeclaringType.Assembly);
}
private void ProcessCase(ExceptionCase @case)
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionRelatedFrames.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionRelatedFrames.cs
index e2cfce1537a3..dab333f07a3e 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionRelatedFrames.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionRelatedFrames.cs
@@ -46,7 +46,7 @@ public virtual IEnumerable GetAllFlattenedFrames()
// For reference, see the following test: ExceptionCaughtAndRethrownAsInnerTest.
var firstFrame = Frames?.FirstOrDefault();
- var lastFrameOfInner = InnerFrame.Frames?.FirstOrDefault();
+ var lastFrameOfInner = InnerFrame.Frames?.Reverse().FirstOrDefault();
var skipDuplicatedMethod = 0;
if (lastFrameOfInner?.Method == firstFrame?.Method)
@@ -54,7 +54,7 @@ public virtual IEnumerable GetAllFlattenedFrames()
skipDuplicatedMethod = 1;
}
- foreach (var frame in InnerFrame.GetAllFlattenedFrames().Skip(skipDuplicatedMethod))
+ foreach (var frame in InnerFrame.GetAllFlattenedFrames().Reverse().Skip(skipDuplicatedMethod).Reverse())
{
yield return frame;
}
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingSettings.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionReplaySettings.cs
similarity index 74%
rename from tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingSettings.cs
rename to tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionReplaySettings.cs
index 332e81205c51..efb6cd7a2634 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionDebuggingSettings.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionReplaySettings.cs
@@ -1,4 +1,4 @@
-//
+//
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License.
// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc.
//
@@ -15,23 +15,25 @@
namespace Datadog.Trace.Debugger.ExceptionAutoInstrumentation
{
- internal class ExceptionDebuggingSettings
+ internal class ExceptionReplaySettings
{
public const int DefaultMaxFramesToCapture = 4;
public const int DefaultRateLimitSeconds = 60 * 60; // 1 hour
public const int DefaultMaxExceptionAnalysisLimit = 100;
- public ExceptionDebuggingSettings(IConfigurationSource? source, IConfigurationTelemetry telemetry)
+ public ExceptionReplaySettings(IConfigurationSource? source, IConfigurationTelemetry telemetry)
{
source ??= NullConfigurationSource.Instance;
var config = new ConfigurationBuilder(source, telemetry);
- Enabled = config.WithKeys(ConfigurationKeys.Debugger.ExceptionDebuggingEnabled).AsBool(false);
+#pragma warning disable CS0612 // Type or member is obsolete
+ Enabled = config.WithKeys(ConfigurationKeys.Debugger.ExceptionDebuggingEnabled, ConfigurationKeys.Debugger.ExceptionReplayEnabled).AsBool(false);
+#pragma warning restore CS0612 // Type or member is obsolete
- CaptureFullCallStack = config.WithKeys(ConfigurationKeys.Debugger.ExceptionDebuggingCaptureFullCallStackEnabled).AsBool(false);
+ CaptureFullCallStack = config.WithKeys(ConfigurationKeys.Debugger.ExceptionReplayCaptureFullCallStackEnabled).AsBool(false);
var maximumFramesToCapture = config
- .WithKeys(ConfigurationKeys.Debugger.ExceptionDebuggingMaxFramesToCapture)
+ .WithKeys(ConfigurationKeys.Debugger.ExceptionReplayMaxFramesToCapture)
.AsInt32(DefaultMaxFramesToCapture, maxDepth => maxDepth > 0)
.Value;
@@ -60,12 +62,12 @@ public ExceptionDebuggingSettings(IConfigurationSource? source, IConfigurationTe
public int MaxExceptionAnalysisLimit { get; }
- public static ExceptionDebuggingSettings FromSource(IConfigurationSource source, IConfigurationTelemetry telemetry)
+ public static ExceptionReplaySettings FromSource(IConfigurationSource source, IConfigurationTelemetry telemetry)
{
- return new ExceptionDebuggingSettings(source, telemetry);
+ return new ExceptionReplaySettings(source, telemetry);
}
- public static ExceptionDebuggingSettings FromDefaultSource()
+ public static ExceptionReplaySettings FromDefaultSource()
{
return FromSource(GlobalConfigurationSource.Instance, TelemetryFactory.Config);
}
diff --git a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionTrackManager.cs b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionTrackManager.cs
index 413a95dcdfd6..159ca5a83b13 100644
--- a/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionTrackManager.cs
+++ b/tracer/src/Datadog.Trace/Debugger/ExceptionAutoInstrumentation/ExceptionTrackManager.cs
@@ -20,6 +20,7 @@
using Datadog.Trace.Debugger.Snapshots;
using Datadog.Trace.Debugger.Symbols;
using Datadog.Trace.Logging;
+using Datadog.Trace.Util;
using Datadog.Trace.VendoredMicrosoftCode.System.Buffers;
using Datadog.Trace.Vendors.Serilog.Events;
using ProbeInfo = Datadog.Trace.Debugger.Expressions.ProbeInfo;
@@ -45,6 +46,8 @@ internal class ExceptionTrackManager
private static Task? _exceptionProcessorTask;
private static bool _isInitialized;
+ internal static bool IsEditAndContinueFeatureEnabled { get; private set; }
+
private static async Task StartExceptionProcessingAsync(CancellationToken cancellationToken)
{
while (!cancellationToken.IsCancellationRequested)
@@ -189,7 +192,7 @@ private static void ProcessException(Exception exception, int normalizedExHash,
var exceptionTypes = new HashSet();
var currentFrame = allParticipatingFrames;
- var iterationLimit = 5;
+ var iterationLimit = 10;
while (iterationLimit-- >= 0 && currentFrame != null)
{
@@ -443,8 +446,8 @@ private static string GetNoCaptureReason(ParticipatingFrame frame, ExceptionDebu
{
if (probe.MayBeOmittedFromCallStack)
{
- // Frame is non-optimized in .NET 6+.
- noCaptureReason = $"The method {frame.Method.GetFullyQualifiedName()} could not be captured because it resides in a module that is not optimized. In .NET 6 and later versions, the code must be compiled with optimizations enabled.";
+ // The process is spawned with `COMPLUS_ForceEnc` & the module of the method is non-optimized.
+ noCaptureReason = $"The method {frame.Method.GetFullyQualifiedName()} could not be captured because the process is spawned with Edit and Continue feature turned on and the module is compiled as Debug. Set the environment variable `COMPLUS_ForceEnc` to `0`. For further info, visit: https://github.com/dotnet/runtime/issues/91963.";
}
else if (probe.ProbeStatus == Status.ERROR)
{
@@ -522,10 +525,20 @@ public static void Initialize()
_exceptionProcessorTask = Task.Factory.StartNew(
async () => await StartExceptionProcessingAsync(Cts.Token).ConfigureAwait(false), TaskCreationOptions.LongRunning)
.Unwrap();
-
+ IsEditAndContinueFeatureEnabled = IsEnCFeatureEnabled();
_isInitialized = true;
}
+ ///
+ /// In .NET 6+ there's a bug that prevents Rejit-related APIs to work properly when Edit and Continue feature is turned on.
+ /// See https://github.com/dotnet/runtime/issues/91963 for additional details.
+ ///
+ private static bool IsEnCFeatureEnabled()
+ {
+ var encEnabled = EnvironmentHelpers.GetEnvironmentVariable("COMPLUS_ForceEnc");
+ return !string.IsNullOrEmpty(encEnabled) && (encEnabled == "1" || encEnabled == "true");
+ }
+
public static bool IsSupportedExceptionType(Type ex) =>
ex != typeof(BadImageFormatException) &&
ex != typeof(InvalidProgramException) &&
diff --git a/tracer/src/Datadog.Trace/Debugger/Expressions/MethodScopeMembers.cs b/tracer/src/Datadog.Trace/Debugger/Expressions/MethodScopeMembers.cs
index 637a86e3ccde..9f9fdb4bbbff 100644
--- a/tracer/src/Datadog.Trace/Debugger/Expressions/MethodScopeMembers.cs
+++ b/tracer/src/Datadog.Trace/Debugger/Expressions/MethodScopeMembers.cs
@@ -23,6 +23,7 @@ internal MethodScopeMembers(int numberOfLocals, int numberOfArguments)
}
Members = ArrayPool.Shared.Rent(_initialSize);
+ Array.Clear(Members, 0, Members.Length);
Exception = null;
Return = default;
InvocationTarget = default;
@@ -55,7 +56,7 @@ internal void Dispose()
{
if (Members != null)
{
- ArrayPool.Shared.Return(Members, false);
+ ArrayPool.Shared.Return(Members);
}
}
}
diff --git a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables.h b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables.h
index bca4c01c02ec..6ce73c39e589 100644
--- a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables.h
+++ b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables.h
@@ -17,8 +17,9 @@ namespace environment
// Determines if the Dynamic Instrumentation (aka live debugger) is enabled.
const WSTRING debugger_enabled = WStr("DD_DYNAMIC_INSTRUMENTATION_ENABLED");
- // Determines if the Exception Debugging product is enabled.
- const WSTRING exception_debugging_enabled = WStr("DD_EXCEPTION_DEBUGGING_ENABLED");
+ // Determines if the Exception Replay product is enabled.
+ const WSTRING exception_debugging_enabled = WStr("DD_EXCEPTION_DEBUGGING_ENABLED"); // Old name
+ const WSTRING exception_replay_enabled = WStr("DD_EXCEPTION_REPLAY_ENABLED");
} // namespace environment
} // namespace debugger
diff --git a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.cpp b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.cpp
index e6689a54f7d3..252c73de7b2e 100644
--- a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.cpp
+++ b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.cpp
@@ -9,9 +9,16 @@ bool IsDebuggerEnabled()
CheckIfTrue(GetEnvironmentValue(environment::debugger_enabled));
}
-bool IsExceptionDebuggingEnabled()
+bool IsExceptionReplayEnabled()
{
- CheckIfTrue(GetEnvironmentValue(environment::exception_debugging_enabled));
+ static int sValue = -1;
+ if (sValue == -1)
+ {
+ const auto old_exception_replay_flag = GetEnvironmentValue(environment::exception_debugging_enabled);
+ const auto new_exception_replay_flag = GetEnvironmentValue(environment::exception_replay_enabled);
+ sValue = (IsTrue(old_exception_replay_flag) || IsTrue(new_exception_replay_flag)) ? 1 : 0;
+ }
+ return sValue == 1;
}
bool IsDebuggerInstrumentAllEnabled()
diff --git a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.h b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.h
index 66eb270c66bf..56381a106154 100644
--- a/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.h
+++ b/tracer/src/Datadog.Tracer.Native/debugger_environment_variables_util.h
@@ -9,7 +9,7 @@ namespace debugger
{
bool IsDebuggerEnabled();
-bool IsExceptionDebuggingEnabled();
+bool IsExceptionReplayEnabled();
bool IsDebuggerInstrumentAllEnabled();
} // namespace debugger
diff --git a/tracer/src/Datadog.Tracer.Native/debugger_probes_instrumentation_requester.cpp b/tracer/src/Datadog.Tracer.Native/debugger_probes_instrumentation_requester.cpp
index c3dcf4ee5bad..654d45992714 100644
--- a/tracer/src/Datadog.Tracer.Native/debugger_probes_instrumentation_requester.cpp
+++ b/tracer/src/Datadog.Tracer.Native/debugger_probes_instrumentation_requester.cpp
@@ -197,7 +197,7 @@ DebuggerProbesInstrumentationRequester::DebuggerProbesInstrumentationRequester(
m_work_offloader(work_offloader),
m_fault_tolerant_method_duplicator(fault_tolerant_method_duplicator)
{
- is_debugger_or_exception_debugging_enabled = IsDebuggerEnabled() || IsExceptionDebuggingEnabled();
+ is_debugger_or_exception_debugging_enabled = IsDebuggerEnabled() || IsExceptionReplayEnabled();
}
void DebuggerProbesInstrumentationRequester::RemoveProbes(debugger::DebuggerRemoveProbesDefinition* removeProbes,
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..ab91ba9ff811
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,38 @@
+Iteration 0:
+ _dd.di._eh : -1268833861
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.0.frame_data.function : SupportedFrame
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.1.frame_data.function : NotSupportedFrame
+ _dd.debug.error.1.no_capture_reason : The method NotSupportedFrame_Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.NotSupportedFrame(String str) has failed in instrumentation. Failure reason: Dynamic Instrumentation of methods that return a `ref struct` is not yet supported.
+ _dd.debug.error.10.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.10.frame_data.function : InvokeInnerFilterAsync
+ _dd.debug.error.10.no_capture_reason : The method InvokeInnerFilterAsync_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() is blacklisted.
+ _dd.debug.error.2.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.2.frame_data.function : Run
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__6
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.4.frame_data.class_name : d__5
+ _dd.debug.error.4.frame_data.function : MoveNext
+ _dd.debug.error.4.snapshot_id :
+ _dd.debug.error.8.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.8.frame_data.function : Rethrow
+ _dd.debug.error.8.no_capture_reason : The method Rethrow_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) is blacklisted.
+ _dd.debug.error.9.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.9.frame_data.function : Next
+ _dd.debug.error.9.no_capture_reason : The method Next_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) is blacklisted.
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -1268833861
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..86181c5f317e
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,122 @@
+Iteration 0:
+ _dd.di._eh : -362102791
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : d__1
+ _dd.debug.error.0.frame_data.function : MoveNext
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.1.frame_data.function : MoveNext
+ _dd.debug.error.1.snapshot_id :
+ _dd.debug.error.10.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.10.frame_data.function : MoveNext
+ _dd.debug.error.10.snapshot_id :
+ _dd.debug.error.11.frame_data.class_name : d__0
+ _dd.debug.error.11.frame_data.function : MoveNext
+ _dd.debug.error.11.snapshot_id :
+ _dd.debug.error.12.frame_data.class_name : d__1
+ _dd.debug.error.12.frame_data.function : MoveNext
+ _dd.debug.error.12.snapshot_id :
+ _dd.debug.error.13.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.13.frame_data.function : MoveNext
+ _dd.debug.error.13.snapshot_id :
+ _dd.debug.error.14.frame_data.class_name : d__0
+ _dd.debug.error.14.frame_data.function : MoveNext
+ _dd.debug.error.14.snapshot_id :
+ _dd.debug.error.15.frame_data.class_name : d__1
+ _dd.debug.error.15.frame_data.function : MoveNext
+ _dd.debug.error.15.snapshot_id :
+ _dd.debug.error.16.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.16.frame_data.function : MoveNext
+ _dd.debug.error.16.snapshot_id :
+ _dd.debug.error.17.frame_data.class_name : d__0
+ _dd.debug.error.17.frame_data.function : MoveNext
+ _dd.debug.error.17.snapshot_id :
+ _dd.debug.error.18.frame_data.class_name : d__1
+ _dd.debug.error.18.frame_data.function : MoveNext
+ _dd.debug.error.18.snapshot_id :
+ _dd.debug.error.19.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.19.frame_data.function : MoveNext
+ _dd.debug.error.19.snapshot_id :
+ _dd.debug.error.2.frame_data.class_name : d__0
+ _dd.debug.error.2.frame_data.function : MoveNext
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.20.frame_data.class_name : d__0
+ _dd.debug.error.20.frame_data.function : MoveNext
+ _dd.debug.error.20.snapshot_id :
+ _dd.debug.error.21.frame_data.class_name : d__1
+ _dd.debug.error.21.frame_data.function : MoveNext
+ _dd.debug.error.21.snapshot_id :
+ _dd.debug.error.22.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.22.frame_data.function : MoveNext
+ _dd.debug.error.22.snapshot_id :
+ _dd.debug.error.23.frame_data.class_name : d__0
+ _dd.debug.error.23.frame_data.function : MoveNext
+ _dd.debug.error.23.snapshot_id :
+ _dd.debug.error.24.frame_data.class_name : d__1
+ _dd.debug.error.24.frame_data.function : MoveNext
+ _dd.debug.error.24.snapshot_id :
+ _dd.debug.error.25.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.25.frame_data.function : MoveNext
+ _dd.debug.error.25.snapshot_id :
+ _dd.debug.error.26.frame_data.class_name : d__0
+ _dd.debug.error.26.frame_data.function : MoveNext
+ _dd.debug.error.26.snapshot_id :
+ _dd.debug.error.27.frame_data.class_name : d__1
+ _dd.debug.error.27.frame_data.function : MoveNext
+ _dd.debug.error.27.snapshot_id :
+ _dd.debug.error.28.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.28.frame_data.function : MoveNext
+ _dd.debug.error.28.snapshot_id :
+ _dd.debug.error.29.frame_data.class_name : d__0
+ _dd.debug.error.29.frame_data.function : MoveNext
+ _dd.debug.error.29.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__1
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.30.frame_data.class_name : d__1
+ _dd.debug.error.30.frame_data.function : MoveNext
+ _dd.debug.error.30.snapshot_id :
+ _dd.debug.error.31.frame_data.class_name : d__0
+ _dd.debug.error.31.frame_data.function : MoveNext
+ _dd.debug.error.31.snapshot_id :
+ _dd.debug.error.32.frame_data.class_name : d__6
+ _dd.debug.error.32.frame_data.function : MoveNext
+ _dd.debug.error.32.snapshot_id :
+ _dd.debug.error.33.frame_data.class_name : d__5
+ _dd.debug.error.33.frame_data.function : MoveNext
+ _dd.debug.error.33.snapshot_id :
+ _dd.debug.error.37.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.37.frame_data.function : Rethrow
+ _dd.debug.error.37.no_capture_reason : The method Rethrow_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) is blacklisted.
+ _dd.debug.error.38.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.38.frame_data.function : Next
+ _dd.debug.error.38.no_capture_reason : The method Next_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) is blacklisted.
+ _dd.debug.error.4.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.4.frame_data.function : MoveNext
+ _dd.debug.error.4.snapshot_id :
+ _dd.debug.error.5.frame_data.class_name : d__0
+ _dd.debug.error.5.frame_data.function : MoveNext
+ _dd.debug.error.5.snapshot_id :
+ _dd.debug.error.6.frame_data.class_name : d__1
+ _dd.debug.error.6.frame_data.function : MoveNext
+ _dd.debug.error.6.snapshot_id :
+ _dd.debug.error.7.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.7.frame_data.function : MoveNext
+ _dd.debug.error.7.snapshot_id :
+ _dd.debug.error.8.frame_data.class_name : d__0
+ _dd.debug.error.8.frame_data.function : MoveNext
+ _dd.debug.error.8.snapshot_id :
+ _dd.debug.error.9.frame_data.class_name : d__1
+ _dd.debug.error.9.frame_data.function : MoveNext
+ _dd.debug.error.9.snapshot_id :
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -362102791
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..c60a341e43e7
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,26 @@
+Iteration 0:
+ _dd.di._eh : -362102791
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : d__1
+ _dd.debug.error.0.frame_data.function : MoveNext
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.1.frame_data.function : MoveNext
+ _dd.debug.error.1.snapshot_id :
+ _dd.debug.error.2.frame_data.class_name : d__0
+ _dd.debug.error.2.frame_data.function : MoveNext
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__1
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -362102791
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..84bb3cc78d12
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,743 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "fields": {
+ "Authentication": {
+ "isNull": "true",
+ "type": "IHttpAuthenticationFeature"
+ },
+ "Lifetime": {
+ "isNull": "true",
+ "type": "IHttpRequestLifetimeFeature"
+ },
+ "RequestIdentifier": {
+ "isNull": "true",
+ "type": "IHttpRequestIdentifierFeature"
+ },
+ "ServiceProviders": {
+ "notCapturedReason": "depth",
+ "type": "IServiceProvidersFeature",
+ "value": "IServiceProvidersFeature"
+ },
+ "Session": {
+ "notCapturedReason": "redactedIdent",
+ "type": "ISessionFeature"
+ }
+ },
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "RouteValues": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ }
+ },
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ }
+ },
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "fields": {
+ "BufferBody": {
+ "type": "Boolean",
+ "value": "False"
+ },
+ "BufferBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "KeyLengthLimit": {
+ "type": "Int32",
+ "value": "2048"
+ },
+ "MemoryBufferThreshold": {
+ "type": "Int32",
+ "value": "65536"
+ },
+ "MultipartBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "MultipartBoundaryLengthLimit": {
+ "type": "Int32",
+ "value": "128"
+ },
+ "MultipartHeadersCountLimit": {
+ "type": "Int32",
+ "value": "16"
+ },
+ "MultipartHeadersLengthLimit": {
+ "type": "Int32",
+ "value": "16384"
+ },
+ "ValueCountLimit": {
+ "type": "Int32",
+ "value": "1024"
+ },
+ "ValueLengthLimit": {
+ "type": "Int32",
+ "value": "4194304"
+ }
+ },
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ },
+ "this": {
+ "type": "<>c",
+ "value": "<>c"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "instance": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "testClassName": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunTest",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunTest",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "str": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "this": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "SupportedFrame",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "SupportedFrame",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "this": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Run",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Run",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..2b1f780f3b4b
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,872 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "fields": {
+ "Authentication": {
+ "isNull": "true",
+ "type": "IHttpAuthenticationFeature"
+ },
+ "Lifetime": {
+ "isNull": "true",
+ "type": "IHttpRequestLifetimeFeature"
+ },
+ "RequestIdentifier": {
+ "isNull": "true",
+ "type": "IHttpRequestIdentifierFeature"
+ },
+ "ServiceProviders": {
+ "notCapturedReason": "depth",
+ "type": "IServiceProvidersFeature",
+ "value": "IServiceProvidersFeature"
+ },
+ "Session": {
+ "notCapturedReason": "redactedIdent",
+ "type": "ISessionFeature"
+ }
+ },
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "RouteValues": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ }
+ },
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ }
+ },
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "fields": {
+ "BufferBody": {
+ "type": "Boolean",
+ "value": "False"
+ },
+ "BufferBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "KeyLengthLimit": {
+ "type": "Int32",
+ "value": "2048"
+ },
+ "MemoryBufferThreshold": {
+ "type": "Int32",
+ "value": "65536"
+ },
+ "MultipartBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "MultipartBoundaryLengthLimit": {
+ "type": "Int32",
+ "value": "128"
+ },
+ "MultipartHeadersCountLimit": {
+ "type": "Int32",
+ "value": "16"
+ },
+ "MultipartHeadersLengthLimit": {
+ "type": "Int32",
+ "value": "16384"
+ },
+ "ValueCountLimit": {
+ "type": "Int32",
+ "value": "1024"
+ },
+ "ValueLengthLimit": {
+ "type": "Int32",
+ "value": "4194304"
+ }
+ },
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ },
+ "this": {
+ "type": "<>c",
+ "value": "<>c"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.verified.txt
new file mode 100644
index 000000000000..6d633dd0e9b0
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.AspNetCore5.verified.txt
@@ -0,0 +1,982 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..9b5573ac0836
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,1050 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "fields": {
+ "Authentication": {
+ "isNull": "true",
+ "type": "IHttpAuthenticationFeature"
+ },
+ "Lifetime": {
+ "isNull": "true",
+ "type": "IHttpRequestLifetimeFeature"
+ },
+ "RequestIdentifier": {
+ "isNull": "true",
+ "type": "IHttpRequestIdentifierFeature"
+ },
+ "ServiceProviders": {
+ "notCapturedReason": "depth",
+ "type": "IServiceProvidersFeature",
+ "value": "IServiceProvidersFeature"
+ },
+ "Session": {
+ "notCapturedReason": "redactedIdent",
+ "type": "ISessionFeature"
+ }
+ },
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "RouteValues": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ }
+ },
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ }
+ },
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "fields": {
+ "BufferBody": {
+ "type": "Boolean",
+ "value": "False"
+ },
+ "BufferBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "KeyLengthLimit": {
+ "type": "Int32",
+ "value": "2048"
+ },
+ "MemoryBufferThreshold": {
+ "type": "Int32",
+ "value": "65536"
+ },
+ "MultipartBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "MultipartBoundaryLengthLimit": {
+ "type": "Int32",
+ "value": "128"
+ },
+ "MultipartHeadersCountLimit": {
+ "type": "Int32",
+ "value": "16"
+ },
+ "MultipartHeadersLengthLimit": {
+ "type": "Int32",
+ "value": "16384"
+ },
+ "ValueCountLimit": {
+ "type": "Int32",
+ "value": "1024"
+ },
+ "ValueLengthLimit": {
+ "type": "Int32",
+ "value": "4194304"
+ }
+ },
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ },
+ "this": {
+ "type": "<>c",
+ "value": "<>c"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "instance": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "testClassName": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunTest",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunTest",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "str": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "this": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "SupportedFrame",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "SupportedFrame",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "testName": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.RunTest (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "DebuggerStepThroughAttribute",
+ "value": "DebuggerStepThroughAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 5,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "RunTest"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ },
+ "instance": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunTest",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunTest",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "this": {
+ "type": "ExceptionWithNonSupportedFramesTest",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233079"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "ExceptionWithNonSupportedFramesTest"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "InvalidOperationException",
+ "value": "InvalidOperationException"
+ }
+ },
+ "throwable": {
+ "message": "ExceptionWithNonSupportedFramesTest",
+ "stacktrace": [
+ {
+ "function": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.SupportedFrame",
+ "lineNumber": "ScrubbedValue"
+ }
+ ],
+ "type": "System.InvalidOperationException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Run",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Run",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..893fa979f28e
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,3935 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "fields": {
+ "Authentication": {
+ "isNull": "true",
+ "type": "IHttpAuthenticationFeature"
+ },
+ "Lifetime": {
+ "isNull": "true",
+ "type": "IHttpRequestLifetimeFeature"
+ },
+ "RequestIdentifier": {
+ "isNull": "true",
+ "type": "IHttpRequestIdentifierFeature"
+ },
+ "ServiceProviders": {
+ "notCapturedReason": "depth",
+ "type": "IServiceProvidersFeature",
+ "value": "IServiceProvidersFeature"
+ },
+ "Session": {
+ "notCapturedReason": "redactedIdent",
+ "type": "ISessionFeature"
+ }
+ },
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "RouteValues": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ }
+ },
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "fields": {
+ "_context": {
+ "fields": {
+ "_connection": {
+ "isNull": "true",
+ "type": "DefaultConnectionInfo"
+ },
+ "_features": {
+ "notCapturedReason": "depth",
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ },
+ "_request": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpRequest",
+ "value": "DefaultHttpRequest"
+ },
+ "_response": {
+ "notCapturedReason": "depth",
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "notCapturedReason": "depth",
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "notCapturedReason": "depth",
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "_features": {
+ "fields": {
+ "Cache": {
+ "notCapturedReason": "depth",
+ "type": "FeatureInterfaces",
+ "value": "FeatureInterfaces"
+ },
+ "Collection": {
+ "notCapturedReason": "depth",
+ "type": "IFeatureCollection",
+ "value": "IFeatureCollection"
+ }
+ },
+ "type": "FeatureReferences`1",
+ "value": "FeatureReferences`1"
+ }
+ },
+ "type": "DefaultHttpResponse",
+ "value": "DefaultHttpResponse"
+ },
+ "_websockets": {
+ "isNull": "true",
+ "type": "DefaultWebSocketManager"
+ },
+ "FormOptions": {
+ "fields": {
+ "BufferBody": {
+ "type": "Boolean",
+ "value": "False"
+ },
+ "BufferBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "KeyLengthLimit": {
+ "type": "Int32",
+ "value": "2048"
+ },
+ "MemoryBufferThreshold": {
+ "type": "Int32",
+ "value": "65536"
+ },
+ "MultipartBodyLengthLimit": {
+ "type": "Int64",
+ "value": "134217728"
+ },
+ "MultipartBoundaryLengthLimit": {
+ "type": "Int32",
+ "value": "128"
+ },
+ "MultipartHeadersCountLimit": {
+ "type": "Int32",
+ "value": "16"
+ },
+ "MultipartHeadersLengthLimit": {
+ "type": "Int32",
+ "value": "16384"
+ },
+ "ValueCountLimit": {
+ "type": "Int32",
+ "value": "1024"
+ },
+ "ValueLengthLimit": {
+ "type": "Int32",
+ "value": "4194304"
+ }
+ },
+ "type": "FormOptions",
+ "value": "FormOptions"
+ },
+ "ServiceScopeFactory": {
+ "type": "IServiceScopeFactory",
+ "value": "IServiceScopeFactory"
+ }
+ },
+ "type": "DefaultHttpContext",
+ "value": "DefaultHttpContext"
+ },
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ },
+ "this": {
+ "type": "<>c",
+ "value": "<>c"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "instance": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ },
+ "testClassName": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunTest",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunTest",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__1_0",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__1_0",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "10"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "testName": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.RunTest (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "DebuggerStepThroughAttribute",
+ "value": "DebuggerStepThroughAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 5,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "RunTest"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ },
+ "instance": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunTest",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunTest",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "this": {
+ "type": "RecursiveExceptionTest",
+ "value": "RecursiveExceptionTest"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Probes.TestRuns"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "RunAsync",
+ "type": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "RunAsync",
+ "name": "Samples.Probes.TestRuns.ExceptionReplay.RecursiveExceptionTest",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.verified.txt
new file mode 100644
index 000000000000..be0541fbe4f3
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/Approvals/snapshots/ExceptionReplay.FullCallStack.AspNetCore5.verified.txt
@@ -0,0 +1,7718 @@
+[
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "method": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`2",
+ "value": "Func`2"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Me",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Me",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController+PingPonged",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iteration": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_0",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_0",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "10"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "2"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "3"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "4"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "5"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "6"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "7"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "8"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "iterations": {
+ "type": "Int32",
+ "value": "9"
+ },
+ "this": {
+ "fields": {
+ "_controllerContext": {
+ "fields": {
+ "_valueProviderFactories": {
+ "type": "IList`1",
+ "value": "IList`1"
+ },
+ "ActionDescriptor": {
+ "fields": {
+ "ActionConstraints": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodActionConstraint",
+ "value": "HttpMethodActionConstraint"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "AttributeRouteInfo": {
+ "notCapturedReason": "depth",
+ "type": "AttributeRouteInfo",
+ "value": "AttributeRouteInfo"
+ },
+ "BoundProperties": {
+ "elements": [],
+ "size": 0,
+ "type": "IList`1"
+ },
+ "DisplayName": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5.Controllers.HomeController.Recursive (Samples.Debugger.AspNetCore5)"
+ },
+ "EndpointMetadata": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerAttribute",
+ "value": "ControllerAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "AsyncStateMachineAttribute",
+ "value": "AsyncStateMachineAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpGetAttribute",
+ "value": "HttpGetAttribute"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "HttpMethodMetadata",
+ "value": "HttpMethodMetadata"
+ }
+ ],
+ "size": 4,
+ "type": "IList`1"
+ },
+ "FilterDescriptors": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ },
+ {
+ "notCapturedReason": "depth",
+ "type": "FilterDescriptor",
+ "value": "FilterDescriptor"
+ }
+ ],
+ "size": 2,
+ "type": "IList`1"
+ },
+ "Id": "ScrubbedValue",
+ "Parameters": {
+ "elements": [
+ {
+ "notCapturedReason": "depth",
+ "type": "ControllerParameterDescriptor",
+ "value": "ControllerParameterDescriptor"
+ }
+ ],
+ "size": 1,
+ "type": "IList`1"
+ },
+ "Properties": {
+ "entries": [],
+ "size": 0,
+ "type": "IDictionary`2"
+ },
+ "RouteValues": {
+ "entries": [
+ [
+ {
+ "type": "String",
+ "value": "action"
+ },
+ {
+ "type": "String",
+ "value": "Recursive"
+ }
+ ],
+ [
+ {
+ "type": "String",
+ "value": "controller"
+ },
+ {
+ "type": "String",
+ "value": "Home"
+ }
+ ]
+ ],
+ "size": 2,
+ "type": "IDictionary`2"
+ }
+ },
+ "type": "ActionDescriptor",
+ "value": "ActionDescriptor"
+ },
+ "HttpContext": {
+ "type": "HttpContext",
+ "value": "HttpContext"
+ },
+ "ModelState": {
+ "fields": {
+ "_maxAllowedErrors": {
+ "type": "Int32",
+ "value": "200"
+ },
+ "_root": {
+ "notCapturedReason": "depth",
+ "type": "ModelStateNode",
+ "value": "ModelStateNode"
+ },
+ "Count": {
+ "type": "Int32",
+ "value": "1"
+ },
+ "ErrorCount": {
+ "type": "Int32",
+ "value": "0"
+ },
+ "HasRecordedMaxModelError": {
+ "type": "Boolean",
+ "value": "False"
+ }
+ },
+ "type": "ModelStateDictionary",
+ "value": "ModelStateDictionary"
+ },
+ "RouteData": {
+ "fields": {
+ "_dataTokens": {
+ "isNull": "true",
+ "type": "RouteValueDictionary"
+ },
+ "_routers": {
+ "isNull": "true",
+ "type": "List`1"
+ },
+ "_values": {
+ "notCapturedReason": "depth",
+ "type": "RouteValueDictionary",
+ "value": "RouteValueDictionary"
+ }
+ },
+ "type": "RouteData",
+ "value": "RouteData"
+ }
+ },
+ "type": "ControllerContext",
+ "value": "ControllerContext"
+ },
+ "_logger": {
+ "type": "ILogger`1",
+ "value": "ILogger`1"
+ },
+ "_metadataProvider": {
+ "isNull": "true",
+ "type": "IModelMetadataProvider"
+ },
+ "_modelBinderFactory": {
+ "isNull": "true",
+ "type": "IModelBinderFactory"
+ },
+ "_objectValidator": {
+ "isNull": "true",
+ "type": "IObjectModelValidator"
+ },
+ "_problemDetailsFactory": {
+ "isNull": "true",
+ "type": "ProblemDetailsFactory"
+ },
+ "_tempData": {
+ "isNull": "true",
+ "type": "ITempDataDictionary"
+ },
+ "_url": {
+ "isNull": "true",
+ "type": "IUrlHelper"
+ },
+ "_viewBag": {
+ "isNull": "true",
+ "type": "DynamicViewData"
+ },
+ "_viewData": {
+ "isNull": "true",
+ "type": "ViewDataDictionary"
+ }
+ },
+ "type": "HomeController",
+ "value": "HomeController"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "Recursive",
+ "type": "Samples.Debugger.AspNetCore5.Controllers.HomeController"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "Recursive",
+ "name": "Samples.Debugger.AspNetCore5.Controllers.HomeController",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ },
+ {
+ "dd.span_id": "ScrubbedValue",
+ "dd.trace_id": "ScrubbedValue",
+ "ddsource": "dd_debugger",
+ "debugger": {
+ "snapshot": {
+ "captures": {
+ "return": {
+ "arguments": {
+ "next": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`1",
+ "value": "Func`1"
+ }
+ },
+ "locals": {
+ "@exception": {
+ "fields": {
+ "_mutex": {
+ "isNull": "true",
+ "type": "Mutex"
+ },
+ "_mutexIndex": {
+ "type": "Int32",
+ "value": "-1"
+ },
+ "HelpLink": {
+ "isNull": "true",
+ "type": "String"
+ },
+ "HResult": {
+ "type": "Int32",
+ "value": "-2146233043"
+ },
+ "InnerException": {
+ "isNull": "true",
+ "type": "Exception"
+ },
+ "Message": {
+ "type": "String",
+ "value": "The depth of iterations reached 0"
+ },
+ "Source": {
+ "type": "String",
+ "value": "Samples.Debugger.AspNetCore5"
+ },
+ "StackTrace": "ScrubbedValue"
+ },
+ "type": "AbandonedMutexException",
+ "value": "AbandonedMutexException"
+ }
+ },
+ "staticFields": {
+ "<>9": {
+ "type": "<>c",
+ "value": "<>c"
+ },
+ "<>9__5_0": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_1": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_2": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Func`3",
+ "value": "Func`3"
+ },
+ "<>9__5_3": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "Action`1",
+ "value": "Action`1"
+ },
+ "<>9__5_4": {
+ "fields": {
+ "_invocationCount": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_invocationList": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodBase": {
+ "isNull": "true",
+ "type": "Object"
+ },
+ "_methodPtr": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_methodPtrAux": {
+ "type": "IntPtr",
+ "value": "ScrubbedValue"
+ },
+ "_target": {
+ "type": "Object",
+ "value": "Object"
+ }
+ },
+ "type": "RequestDelegate",
+ "value": "RequestDelegate"
+ }
+ },
+ "throwable": {
+ "message": "The depth of iterations reached 0",
+ "stacktrace": [],
+ "type": "System.Threading.AbandonedMutexException"
+ }
+ }
+ },
+ "duration": "ScrubbedValue",
+ "id": "ScrubbedValue",
+ "language": "dotnet",
+ "probe": {
+ "id": "ScrubbedValue",
+ "location": {
+ "method": "b__5_2",
+ "type": "Samples.Debugger.AspNetCore5.Startup+<>c"
+ },
+ "version": 1
+ },
+ "stack": "ScrubbedValue",
+ "timestamp": "ScrubbedValue"
+ }
+ },
+ "logger": {
+ "method": "b__5_2",
+ "name": "Samples.Debugger.AspNetCore5.Startup+<>c",
+ "thread_id": "ScrubbedValue",
+ "thread_name": "ScrubbedValue",
+ "version": "2"
+ },
+ "message": "ScrubbedValue",
+ "service": "samples.debugger.aspnetcore5"
+ }
+]
\ No newline at end of file
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/AspNetBase.cs b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/AspNetBase.cs
new file mode 100644
index 000000000000..2e0314c24c51
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/AspNetBase.cs
@@ -0,0 +1,126 @@
+//
+// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License.
+// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Collections.Specialized;
+using System.Diagnostics;
+using System.IO;
+using System.IO.Compression;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Reflection;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using Datadog.Trace.AppSec.Waf.ReturnTypes.Managed;
+using Datadog.Trace.TestHelpers;
+using Datadog.Trace.Vendors.Newtonsoft.Json;
+using Datadog.Trace.Vendors.Newtonsoft.Json.Linq;
+using FluentAssertions;
+using VerifyTests;
+using VerifyXunit;
+using Xunit.Abstractions;
+
+namespace Datadog.Trace.Debugger.IntegrationTests
+{
+ [UsesVerify]
+ public class AspNetBase : TestHelper
+ {
+ protected const string Prefix = "Debugger.";
+ private readonly HttpClient _httpClient;
+ private int _httpPort;
+
+ public AspNetBase(string sampleName, ITestOutputHelper outputHelper, string samplesDir = null)
+ : base(Prefix + sampleName, samplesDir ?? "test/test-applications/debugger", outputHelper)
+ {
+ var handler = new HttpClientHandler();
+ _httpClient = new HttpClient(handler);
+
+#if NETCOREAPP2_1
+ // Keep-alive is causing some weird failures on aspnetcore 2.1
+ _httpClient.DefaultRequestHeaders.ConnectionClose = true;
+#endif
+ }
+
+ protected bool IncludeAllHttpSpans { get; set; } = false;
+
+ public override void Dispose()
+ {
+ base.Dispose();
+ _httpClient?.Dispose();
+ }
+
+ protected void SetHttpPort(int httpPort) => _httpPort = httpPort;
+
+ protected async Task<(HttpStatusCode StatusCode, string ResponseText)> SubmitRequest(string path, string body, string contentType, string userAgent = null, string accept = null, IEnumerable> headers = null)
+ {
+ try
+ {
+ var url = $"http://localhost:{_httpPort}{path}";
+
+ var response = body == null ? await _httpClient.GetAsync(url) : await _httpClient.PostAsync(url, new StringContent(body, Encoding.UTF8, contentType ?? "application/json"));
+ var responseText = await response.Content.ReadAsStringAsync();
+ return (response.StatusCode, responseText);
+ }
+ catch (HttpRequestException ex)
+ {
+ return (HttpStatusCode.BadRequest, ex.ToString());
+ }
+ }
+
+ protected async Task> SendRequestsAsync(MockTracerAgent agent, string url, string body, int numberOfAttacks, int expectedSpans, string phase, string contentType = null, string userAgent = null)
+ {
+ var minDateTime = DateTime.UtcNow; // when ran sequentially, we get the spans from the previous tests!
+ await SendRequestsAsyncNoWaitForSpans(url, body, numberOfAttacks, contentType, userAgent);
+
+ return WaitForSpans(agent, expectedSpans, phase, minDateTime, url);
+ }
+
+ protected IImmutableList WaitForSpans(MockTracerAgent agent, int expectedSpans, string phase, DateTime minDateTime, string url)
+ {
+ agent.SpanFilters.Clear();
+
+ if (!IncludeAllHttpSpans)
+ {
+ agent.SpanFilters.Add(s => s.Tags.ContainsKey("http.url") && s.Tags["http.url"].IndexOf(url, StringComparison.InvariantCultureIgnoreCase) > -1);
+ }
+
+ var spans = agent.WaitForSpans(expectedSpans, minDateTime: minDateTime);
+ if (spans.Count != expectedSpans)
+ {
+ Output?.WriteLine($"spans.Count: {spans.Count} != expectedSpans: {expectedSpans}, this is phase: {phase}");
+ }
+
+ return spans;
+ }
+
+ protected Task> SendRequestsAsync(MockTracerAgent agent, params string[] urls)
+ {
+ return SendRequestsAsync(agent, 1, urls);
+ }
+
+ protected async Task> SendRequestsAsync(MockTracerAgent agent, int expectedSpansPerRequest, params string[] urls)
+ {
+ var spans = new List();
+ foreach (var url in urls)
+ {
+ spans.AddRange(await SendRequestsAsync(agent, url, null, 1, expectedSpansPerRequest, string.Empty));
+ }
+
+ return spans.ToImmutableList();
+ }
+
+ private async Task SendRequestsAsyncNoWaitForSpans(string url, string body, int numberOfAttacks, string contentType = null, string userAgent = null)
+ {
+ for (var x = 0; x < numberOfAttacks; x++)
+ {
+ await SubmitRequest(url, body, contentType, userAgent);
+ }
+ }
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..74055ed4a463
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,29 @@
+Iteration 0:
+ _dd.di._eh : -1268833861
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.0.frame_data.function : SupportedFrame
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.1.frame_data.function : NotSupportedFrame
+ _dd.debug.error.1.no_capture_reason : The method NotSupportedFrame_Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.NotSupportedFrame(String str) has failed in instrumentation. Failure reason: Dynamic Instrumentation of methods that return a `ref struct` is not yet supported.
+ _dd.debug.error.2.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.2.frame_data.function : Run
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__6
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.4.frame_data.class_name : d__5
+ _dd.debug.error.4.frame_data.function : MoveNext
+ _dd.debug.error.4.no_capture_reason : The method MoveNext_Samples.Debugger.AspNetCore5.Controllers.HomeController.RunTest(String testName) could not be found.
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -1268833861
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..ab91ba9ff811
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,38 @@
+Iteration 0:
+ _dd.di._eh : -1268833861
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.0.frame_data.function : SupportedFrame
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.1.frame_data.function : NotSupportedFrame
+ _dd.debug.error.1.no_capture_reason : The method NotSupportedFrame_Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.NotSupportedFrame(String str) has failed in instrumentation. Failure reason: Dynamic Instrumentation of methods that return a `ref struct` is not yet supported.
+ _dd.debug.error.10.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.10.frame_data.function : InvokeInnerFilterAsync
+ _dd.debug.error.10.no_capture_reason : The method InvokeInnerFilterAsync_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() is blacklisted.
+ _dd.debug.error.2.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.2.frame_data.function : Run
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__6
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.4.frame_data.class_name : d__5
+ _dd.debug.error.4.frame_data.function : MoveNext
+ _dd.debug.error.4.snapshot_id :
+ _dd.debug.error.8.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.8.frame_data.function : Rethrow
+ _dd.debug.error.8.no_capture_reason : The method Rethrow_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) is blacklisted.
+ _dd.debug.error.9.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.9.frame_data.function : Next
+ _dd.debug.error.9.no_capture_reason : The method Next_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) is blacklisted.
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -1268833861
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -1268833861
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..86181c5f317e
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.FullCallStack.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,122 @@
+Iteration 0:
+ _dd.di._eh : -362102791
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : d__1
+ _dd.debug.error.0.frame_data.function : MoveNext
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.1.frame_data.function : MoveNext
+ _dd.debug.error.1.snapshot_id :
+ _dd.debug.error.10.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.10.frame_data.function : MoveNext
+ _dd.debug.error.10.snapshot_id :
+ _dd.debug.error.11.frame_data.class_name : d__0
+ _dd.debug.error.11.frame_data.function : MoveNext
+ _dd.debug.error.11.snapshot_id :
+ _dd.debug.error.12.frame_data.class_name : d__1
+ _dd.debug.error.12.frame_data.function : MoveNext
+ _dd.debug.error.12.snapshot_id :
+ _dd.debug.error.13.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.13.frame_data.function : MoveNext
+ _dd.debug.error.13.snapshot_id :
+ _dd.debug.error.14.frame_data.class_name : d__0
+ _dd.debug.error.14.frame_data.function : MoveNext
+ _dd.debug.error.14.snapshot_id :
+ _dd.debug.error.15.frame_data.class_name : d__1
+ _dd.debug.error.15.frame_data.function : MoveNext
+ _dd.debug.error.15.snapshot_id :
+ _dd.debug.error.16.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.16.frame_data.function : MoveNext
+ _dd.debug.error.16.snapshot_id :
+ _dd.debug.error.17.frame_data.class_name : d__0
+ _dd.debug.error.17.frame_data.function : MoveNext
+ _dd.debug.error.17.snapshot_id :
+ _dd.debug.error.18.frame_data.class_name : d__1
+ _dd.debug.error.18.frame_data.function : MoveNext
+ _dd.debug.error.18.snapshot_id :
+ _dd.debug.error.19.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.19.frame_data.function : MoveNext
+ _dd.debug.error.19.snapshot_id :
+ _dd.debug.error.2.frame_data.class_name : d__0
+ _dd.debug.error.2.frame_data.function : MoveNext
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.20.frame_data.class_name : d__0
+ _dd.debug.error.20.frame_data.function : MoveNext
+ _dd.debug.error.20.snapshot_id :
+ _dd.debug.error.21.frame_data.class_name : d__1
+ _dd.debug.error.21.frame_data.function : MoveNext
+ _dd.debug.error.21.snapshot_id :
+ _dd.debug.error.22.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.22.frame_data.function : MoveNext
+ _dd.debug.error.22.snapshot_id :
+ _dd.debug.error.23.frame_data.class_name : d__0
+ _dd.debug.error.23.frame_data.function : MoveNext
+ _dd.debug.error.23.snapshot_id :
+ _dd.debug.error.24.frame_data.class_name : d__1
+ _dd.debug.error.24.frame_data.function : MoveNext
+ _dd.debug.error.24.snapshot_id :
+ _dd.debug.error.25.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.25.frame_data.function : MoveNext
+ _dd.debug.error.25.snapshot_id :
+ _dd.debug.error.26.frame_data.class_name : d__0
+ _dd.debug.error.26.frame_data.function : MoveNext
+ _dd.debug.error.26.snapshot_id :
+ _dd.debug.error.27.frame_data.class_name : d__1
+ _dd.debug.error.27.frame_data.function : MoveNext
+ _dd.debug.error.27.snapshot_id :
+ _dd.debug.error.28.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.28.frame_data.function : MoveNext
+ _dd.debug.error.28.snapshot_id :
+ _dd.debug.error.29.frame_data.class_name : d__0
+ _dd.debug.error.29.frame_data.function : MoveNext
+ _dd.debug.error.29.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__1
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.30.frame_data.class_name : d__1
+ _dd.debug.error.30.frame_data.function : MoveNext
+ _dd.debug.error.30.snapshot_id :
+ _dd.debug.error.31.frame_data.class_name : d__0
+ _dd.debug.error.31.frame_data.function : MoveNext
+ _dd.debug.error.31.snapshot_id :
+ _dd.debug.error.32.frame_data.class_name : d__6
+ _dd.debug.error.32.frame_data.function : MoveNext
+ _dd.debug.error.32.snapshot_id :
+ _dd.debug.error.33.frame_data.class_name : d__5
+ _dd.debug.error.33.frame_data.function : MoveNext
+ _dd.debug.error.33.snapshot_id :
+ _dd.debug.error.37.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.37.frame_data.function : Rethrow
+ _dd.debug.error.37.no_capture_reason : The method Rethrow_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) is blacklisted.
+ _dd.debug.error.38.frame_data.class_name : ControllerActionInvoker
+ _dd.debug.error.38.frame_data.function : Next
+ _dd.debug.error.38.no_capture_reason : The method Next_Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) is blacklisted.
+ _dd.debug.error.4.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.4.frame_data.function : MoveNext
+ _dd.debug.error.4.snapshot_id :
+ _dd.debug.error.5.frame_data.class_name : d__0
+ _dd.debug.error.5.frame_data.function : MoveNext
+ _dd.debug.error.5.snapshot_id :
+ _dd.debug.error.6.frame_data.class_name : d__1
+ _dd.debug.error.6.frame_data.function : MoveNext
+ _dd.debug.error.6.snapshot_id :
+ _dd.debug.error.7.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.7.frame_data.function : MoveNext
+ _dd.debug.error.7.snapshot_id :
+ _dd.debug.error.8.frame_data.class_name : d__0
+ _dd.debug.error.8.frame_data.function : MoveNext
+ _dd.debug.error.8.snapshot_id :
+ _dd.debug.error.9.frame_data.class_name : d__1
+ _dd.debug.error.9.frame_data.function : MoveNext
+ _dd.debug.error.9.snapshot_id :
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -362102791
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt
new file mode 100644
index 000000000000..c60a341e43e7
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/Approvals/AspNetCore5ExceptionReplay.RecursiveExceptionTest.verified.txt
@@ -0,0 +1,26 @@
+Iteration 0:
+ _dd.di._eh : -362102791
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : d__1
+ _dd.debug.error.0.frame_data.function : MoveNext
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : <b__1_0>d
+ _dd.debug.error.1.frame_data.function : MoveNext
+ _dd.debug.error.1.snapshot_id :
+ _dd.debug.error.2.frame_data.class_name : d__0
+ _dd.debug.error.2.frame_data.function : MoveNext
+ _dd.debug.error.2.snapshot_id :
+ _dd.debug.error.3.frame_data.class_name : d__1
+ _dd.debug.error.3.frame_data.function : MoveNext
+ _dd.debug.error.3.snapshot_id :
+ _dd.debug.error.exception_hash :
+ _dd.debug.error.exception_id :
+ _dd.di._eh : -362102791
+ _dd.di._er : Eligible
+Iteration 2:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
+Iteration 3:
+ _dd.di._eh : -362102791
+ _dd.di._er : CachedDoneExceptionCase
diff --git a/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt
new file mode 100644
index 000000000000..74055ed4a463
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Debugger.IntegrationTests/ExceptionReplay/AspNetCore5ExceptionReplay.ExceptionWithNonSupportedFramesTest.verified.txt
@@ -0,0 +1,29 @@
+Iteration 0:
+ _dd.di._eh : -1268833861
+ _dd.di._er : NotEligible
+Iteration 1:
+ _dd.debug.error.0.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.0.frame_data.function : SupportedFrame
+ _dd.debug.error.0.snapshot_id :
+ _dd.debug.error.1.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.1.frame_data.function : NotSupportedFrame
+ _dd.debug.error.1.no_capture_reason : The method NotSupportedFrame_Samples.Probes.TestRuns.ExceptionReplay.ExceptionWithNonSupportedFramesTest.NotSupportedFrame(String str) has failed in instrumentation. Failure reason: Dynamic Instrumentation of methods that return a `ref struct` is not yet supported.
+ _dd.debug.error.2.frame_data.class_name : ExceptionWithNonSupportedFramesTest
+ _dd.debug.error.2.frame_data.function : Run
+ _dd.debug.error.2.snapshot_id :