diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 76d81429fef54..c122e7059afed 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -65,7 +65,7 @@
############### AI ################
-/docs/ai/ @gewarren @alexwolfmsft @dotnet/docs
+/docs/ai/ @gewarren @dotnet/docs
############### Azure ################
@@ -100,7 +100,7 @@
############### .NET Core ########################
# Breaking changes
-/docs/core/compatibility/ @dotnet/docs
+/docs/core/compatibility/ @gewarren @dotnet/docs
# Containers
/docs/core/containers/ @dotnet/docs
# Deployment
@@ -120,9 +120,9 @@
# Testing
/docs/core/testing/ @IEvangelist @dotnet/docs
# Tools
-/docs/core/tools/ @tdykstra @dotnet/docs
+/docs/core/tools/ @adegeo @dotnet/docs
# Tutorials
-/docs/core/tutorials/ @tdykstra @dotnet/docs
+/docs/core/tutorials/ @BillWagner @dotnet/docs
# What's new
/docs/core/whats-new/ @dotnet/docs
@@ -179,7 +179,7 @@
# Collections
/docs/standard/collections/ @IEvangelist @dotnet/docs
# System.CommandLine
-/docs/standard/commandline/ @tdykstra @dotnet/docs
+/docs/standard/commandline/ @gewarren @dotnet/docs
# Data
/docs/standard/data/ @gewarren @dotnet/docs
# Data - SQLite
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index b4d5cc3ab99ea..d1254cd4d3a83 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -24,4 +24,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: 'Dependency Review'
- uses: actions/dependency-review-action@bc41886e18ea39df68b1b1245f4184881938e050 # v4.7.2
+ uses: actions/dependency-review-action@595b5aeba73380359d98a5e087f648dbb0edce1b # v4.7.3
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 039d3e1dee3f4..cb2fc121d7691 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -71,6 +71,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.5
+ uses: github/codeql-action/upload-sarif@3c3833e0f8c1c83d449a7478aa59c036a9165498 # v3.29.5
with:
sarif_file: results.sarif
diff --git a/.openpublishing.redirection.framework.json b/.openpublishing.redirection.framework.json
index f39fc87747d0c..0325364c7de54 100644
--- a/.openpublishing.redirection.framework.json
+++ b/.openpublishing.redirection.framework.json
@@ -2257,6 +2257,3221 @@
"redirect_url": "/dotnet/core/unmanaged-api/debugging/closeresumehandle-function",
"redirect_document_id": true
},
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/codechunkinfo-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/codechunkinfo-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-active-function-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-active-function-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-array-layout-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-array-layout-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-debug-il-to-native-map-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-debug-il-to-native-map-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-debug-step-range-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-debug-step-range-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-field-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-field-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-gc-reference-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-gc-reference-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-heapinfo-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-heapinfo-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-heapobject-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-heapobject-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-il-map-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-il-map-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-pub-enumprocess-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-pub-enumprocess-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-segment-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-segment-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-type-layout-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-type-layout-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-typeid-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-typeid-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cor-version-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cor-version-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugblockingobject-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugblockingobject-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugblockingreason-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugblockingreason-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugchainreason-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugchainreason-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugcodeinvokekind-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokekind-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugcodeinvokepurpose-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokepurpose-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugcreateprocessflags-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugcreateprocessflags-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugdebugeventkind-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugdebugeventkind-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugdecodeeventflagswindows-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugdecodeeventflagswindows-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugehclause-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugehclause-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugexceptioncallbacktype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugexceptioncallbacktype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugexceptionflags-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugexceptionflags-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugexceptionobjectstackframe-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugexceptionobjectstackframe-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugexceptionunwindcallbacktype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugexceptionunwindcallbacktype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebuggctype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebuggctype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebuggenerationtypes-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebuggenerationtypes-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugguidtotypemapping-structure.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugguidtotypemapping-structure",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebughandletype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebughandletype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugiltonativemappingtypes-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugiltonativemappingtypes-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugintercept-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugintercept-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebuginterfaceversion-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebuginterfaceversion-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebuginternalframetype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebuginternalframetype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugjitcompilerflags-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugjitcompilerflags-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugmappingresult-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugmappingresult-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugmdaflags-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugmdaflags-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugngenpolicy-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugngenpolicy-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugplatform-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugplatform-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugrecordformat-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugrecordformat-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugregister-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugregister-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugsetcontextflag-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugsetcontextflag-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugstatechange-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugstatechange-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugstepreason-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugstepreason-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugthreadstate-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugthreadstate-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebugunmappedstop-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebugunmappedstop-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/cordebuguserstate-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/cordebuguserstate-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/corgcreferencetype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/corgcreferencetype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-canlaunchorattach-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-canlaunchorattach-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-createprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-createprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-debugactiveprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-debugactiveprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-enumerateprocesses-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-enumerateprocesses-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-getprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-getprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-initialize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-initialize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-setmanagedhandler-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-setmanagedhandler-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-setunmanagedhandler-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-setunmanagedhandler-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebug-terminate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebug-terminate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-attach-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-attach-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-enumerateassemblies-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumerateassemblies-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-enumeratebreakpoints-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratebreakpoints-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-enumeratesteppers-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratesteppers-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-getid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-getmodulefrommetadatainterface-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getmodulefrommetadatainterface-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-getobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-getprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain-isattached-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain-isattached-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain2-getarrayorpointertype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getarrayorpointertype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain2-getfunctionpointertype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getfunctionpointertype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain3-getcachedwinrttypes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain3-getcachedwinrttypesforiids-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypesforiids-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain4-getobjectforccw-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-getobjectforccw-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomain4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomainenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugappdomainenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getbaseindicies-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getbaseindicies-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getcount-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getcount-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getdimensions-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getdimensions-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getelement-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelement-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getelementatposition-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementatposition-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getelementtype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementtype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-getrank-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getrank-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-hasbaseindicies-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-hasbaseindicies-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-enumeratemodules-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-enumeratemodules-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-getappdomain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-getappdomain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-getcodebase-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-getcodebase-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-getprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-getprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly2-isfullytrusted-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly2-isfullytrusted-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly3-enumeratecontainedassemblies-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly3-enumeratecontainedassemblies-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly3-getcontainerassembly-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly3-getcontainerassembly-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassembly3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassembly3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassemblyenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugassemblyenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugblockingobjectenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugblockingobjectenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugboxvalue-getobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-getobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugboxvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugbreakpoint-activate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-activate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugbreakpoint-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugbreakpoint-isactive-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-isactive-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugbreakpointenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugbreakpointenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-enumerateframes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-enumerateframes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getactiveframe-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getactiveframe-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getcallee-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getcallee-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getcaller-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getcaller-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getnext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getnext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getprevious-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getprevious-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getreason-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getreason-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getregisterset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getregisterset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getstackrange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getstackrange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-getthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-getthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchain-ismanaged-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchain-ismanaged-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchainenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchainenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugchainenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugchainenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass-getmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass-getmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass-getstaticfieldvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass-getstaticfieldvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass-gettoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass-gettoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass2-getparameterizedtype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass2-getparameterizedtype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugclass2-setjmcstatus-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugclass2-setjmcstatus-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-createbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-createbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getencremapsequencepoints-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getencremapsequencepoints-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getiltonativemapping-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getiltonativemapping-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-getversionnumber-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-getversionnumber-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode-isil-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode-isil-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode2-getcodechunks-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode2-getcodechunks-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode2-getcompilerflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode2-getcompilerflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode3-getreturnvalueliveoffset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode3-getreturnvalueliveoffset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode4-enumeratevariablehomes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode4-enumeratevariablehomes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcode4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcode4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcodeenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcodeenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacepointers-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacepointers-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacetypes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacetypes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontext-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontext-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-cancommitchanges-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-cancommitchanges-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-commitchanges-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-commitchanges-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-continue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-continue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-detach-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-detach-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-enumeratethreads-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-enumeratethreads-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-hasqueuedcallbacks-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-hasqueuedcallbacks-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-isrunning-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-isrunning-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-setallthreadsdebugstate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-setallthreadsdebugstate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-stop-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-stop-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugcontroller-terminate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugcontroller-terminate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget-getplatform-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getplatform-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget-getthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget-readvirtual-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-readvirtual-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-createvirtualunwinder-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-createvirtualunwinder-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-enumeratethreadids-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-enumeratethreadids-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-getimagefrompointer-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagefrompointer-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-getimagelocation-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagelocation-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-getsymbolproviderforimage-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getsymbolproviderforimage-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget3-getloadedmodules-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-getloadedmodules-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdatatarget3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdebugevent-geteventkind-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-geteventkind-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdebugevent-getthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-getthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugdebugevent-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinueerrorinfo-geterrorcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-geterrorcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinueerrorinfo-getmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinueerrorinfo-getstring-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getstring-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinueerrorinfo-gettoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-gettoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinueerrorinfo-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-copymetadata-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-copymetadata-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-getmvid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getmvid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-getrodatarva-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrodatarva-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-getrwdatarva-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrwdatarva-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-setilmap-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setilmap-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-setpebytes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpebytes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeditandcontinuesnapshot-setpesymbolbytes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpesymbolbytes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugenum-clone-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugenum-clone-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugenum-getcount-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugenum-getcount-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugenum-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugenum-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugenum-reset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugenum-reset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugenum-skip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugenum-skip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugerrorinfoenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugerrorinfoenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-abort-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-abort-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-callfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-callfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-createvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-createvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-getresult-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-getresult-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-getthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-getthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-isactive-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-isactive-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-newarray-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-newarray-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-newobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-newobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-newobjectnoconstructor-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-newobjectnoconstructor-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval-newstring-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval-newstring-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-callparameterizedfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-callparameterizedfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-createvaluefortype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-createvaluefortype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedarray-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedarray-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedobjectnoconstructor-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobjectnoconstructor-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-newstringwithlength-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-newstringwithlength-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugeval2-rudeabort-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugeval2-rudeabort-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getnativeip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getnativeip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getstackpointer-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getstackpointer-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectcallstackenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectcallstackenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-enumerateexceptioncallstack-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-createstepper-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-createstepper-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getcallee-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getcallee-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getcaller-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getcaller-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getchain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getchain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getfunctiontoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunctiontoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-getstackrange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-getstackrange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframe-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframe-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframeenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframeenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugframeenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugframeenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-createbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-createbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getcurrentversionnumber-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getcurrentversionnumber-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getilcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getilcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getlocalvarsigtoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getlocalvarsigtoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-getnativecode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-getnativecode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-gettoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-gettoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction2-enumeratenativecode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction2-enumeratenativecode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction2-getjmcstatus-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getjmcstatus-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction2-getversionnumber-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getversionnumber-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction2-setjmcstatus-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction2-setjmcstatus-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction3-getactiverejitrequestilcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunction3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunction3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunctionbreakpoint-getfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunctionbreakpoint-getoffset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getoffset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugfunctionbreakpoint-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuggcreferenceenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuggcreferenceenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuggenericvalue-getvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-getvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuggenericvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuggenericvalue-setvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-setvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugguidtotypeenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugguidtotypeenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebughandlevalue-dispose-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-dispose-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebughandlevalue-gethandletype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-gethandletype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebughandlevalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapsegmentenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapsegmentenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue-createrelocbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-createrelocbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue-isvalid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-isvalid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue2-createhandle-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-createhandle-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue2-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue3-getmonitoreventwaitlist-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getmonitoreventwaitlist-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue3-getthreadowningmonitorlock-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getthreadowningmonitorlock-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugheapvalue3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilcode-getehclauses-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilcode-getehclauses-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilcode-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilcode-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilcode2-getinstrumentedilmap-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getinstrumentedilmap-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilcode2-getlocalvarsigtoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getlocalvarsigtoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilcode2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilcode2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-cansetip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-cansetip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-enumeratearguments-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratearguments-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-enumeratelocalvariables-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratelocalvariables-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-getargument-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-getargument-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-getip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-getip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-getlocalvariable-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-getlocalvariable-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-getstackdepth-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackdepth-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-getstackvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe-setip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe-setip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe2-enumeratetypeparameters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe2-enumeratetypeparameters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe2-remapfunction-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe2-remapfunction-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe3-getreturnvalueforiloffset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe3-getreturnvalueforiloffset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe4-enumeratelocalvariablesex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getcodeex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getlocalvariableex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugilframe4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugilframe4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getoffset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getoffset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginternalframe-getframetype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-getframetype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginternalframe-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginternalframe2-getframeaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-getframeaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginternalframe2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebuginternalframe2-isclosertoleaf-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-isclosertoleaf-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getbaseaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getbaseaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-break-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-break-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-breakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-breakpointseterror-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpointseterror-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-controlctrap-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-controlctrap-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-createappdomain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createappdomain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-createprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-createthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-debuggererror-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-debuggererror-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-editandcontinueremap-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-editandcontinueremap-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-evalcomplete-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalcomplete-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-evalexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exitappdomain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitappdomain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exitprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exitthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-loadassembly-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadassembly-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-loadclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-loadmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-logmessage-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logmessage-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-logswitch-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logswitch-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-namechange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-namechange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-stepcomplete-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-stepcomplete-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-unloadassembly-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadassembly-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-unloadclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-unloadmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-updatemodulesymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-updatemodulesymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-changeconnection-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-changeconnection-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-createconnection-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-createconnection-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-destroyconnection-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-destroyconnection-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exceptionunwind-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exceptionunwind-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-functionremapcomplete-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapcomplete-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-functionremapopportunity-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapopportunity-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-mdanotification-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-mdanotification-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback3-customnotification-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-customnotification-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-getdescription-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-getdescription-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-getflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-getflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-getosthreadid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-getosthreadid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-getxml-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-getxml-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmda-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmda-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmemorybuffer-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmemorybuffer-getstartaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getstartaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmemorybuffer-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getculture-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getculture-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getindex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getindex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getpublickey-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickey-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getpublickeytoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickeytoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getsimplename-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getsimplename-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getversion-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getversion-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmetadatalocator-getmetadata-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-getmetadata-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmetadatalocator-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-createbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-createbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-enableclassloadcallbacks-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-enableclassloadcallbacks-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-enablejitdebugging-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-enablejitdebugging-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getassembly-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getassembly-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getbaseaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getbaseaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getclassfromtoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getclassfromtoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-geteditandcontinuesnapshot-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-geteditandcontinuesnapshot-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getfunctionfromrva-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromrva-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getfunctionfromtoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromtoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getglobalvariablevalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getglobalvariablevalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getmetadatainterface-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getmetadatainterface-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-gettoken-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-gettoken-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-isdynamic-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-isdynamic-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule-isinmemory-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule-isinmemory-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-applychanges-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-applychanges-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-getjitcompilerflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-getjitcompilerflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-resolveassembly-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-resolveassembly-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-setjitcompilerflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjitcompilerflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule2-setjmcstatus-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjmcstatus-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule3-createreaderforinmemorysymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule3-createreaderforinmemorysymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodule4-ismappedlayout-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodule4-ismappedlayout-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodulebreakpoint-getmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-getmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmodulebreakpoint-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmoduledebugevent-getmodule-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-getmodule-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmoduledebugevent-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmoduleenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmoduleenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmutabledatatarget-continuestatuschanged-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-continuestatuschanged-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmutabledatatarget-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmutabledatatarget-setthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-setthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugmutabledatatarget-writevirtual-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-writevirtual-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-cansetip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-cansetip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocaldoubleregistervalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocaldoubleregistervalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocalmemoryregistervalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryregistervalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocalmemoryvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocalregistermemoryvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistermemoryvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocalregistervalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistervalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getregisterset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getregisterset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe-setip-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-setip-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe2-getstackparametersize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-getstackparametersize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe2-ischild-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ischild-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugnativeframe2-ismatchingparentframe-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ismatchingparentframe-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-getclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-getcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-getfieldvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getfieldvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-getmanagedcopy-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getmanagedcopy-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-getvirtualmethod-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getvirtualmethod-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-isvalueclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-isvalueclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-setfrommanagedcopy-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-setfrommanagedcopy-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue2-getvirtualmethodandtype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-getvirtualmethodandtype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugobjectvalue2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-clearcurrentexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-clearcurrentexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-enablelogmessages-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-enablelogmessages-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-enumerateappdomains-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateappdomains-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-enumerateobjects-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateobjects-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-gethandle-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethandle-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-gethelperthreadid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethelperthreadid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-getid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-getid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-getobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-getobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-getthread-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthread-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-getthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-isossuspended-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-isossuspended-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-istransitionstub-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-istransitionstub-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-modifylogswitch-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-modifylogswitch-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-readmemory-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-readmemory-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-setthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-setthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-threadforfibercookie-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-threadforfibercookie-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess-writememory-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess-writememory-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess11-enumerateloaderheapmemoryregions-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess11-enumerateloaderheapmemoryregions-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess11-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess11-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-clearunmanagedbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-clearunmanagedbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-getdesiredngencompilerflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getdesiredngencompilerflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-getreferencevaluefromgchandle-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getreferencevaluefromgchandle-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-getthreadfortaskid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getthreadfortaskid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-getversion-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getversion-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-setdesiredngencompilerflags-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setdesiredngencompilerflags-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess2-setunmanagedbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setunmanagedbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess3-setenablecustomnotification-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess3-setenablecustomnotification-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess4-processstatechanged-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess4-processstatechanged-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-enablengenpolicy-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enablengenpolicy-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-enumerategcreferences-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerategcreferences-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-enumeratehandles-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumeratehandles-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-enumerateheap-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheap-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-enumerateheapregions-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheapregions-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-getarraylayout-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getarraylayout-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-getgcheapinformation-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getgcheapinformation-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-getobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-gettypefields-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefields-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-gettypefortypeid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefortypeid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-gettypeid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypeid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-gettypelayout-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypelayout-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess5-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess5-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-decodeevent-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-decodeevent-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-enablevirtualmodulesplitting-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-enablevirtualmodulesplitting-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-getcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-getexportstepinfo-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getexportstepinfo-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-markdebuggerattached-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-markdebuggerattached-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess6-processstatechanged-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess6-processstatechanged-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess7-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess7-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess7-setwriteablemetadataupdatemode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess7-setwriteablemetadataupdatemode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocess8-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocess8-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocessenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugprocessenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-dereference-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereference-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-dereferencestrong-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereferencestrong-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-getvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-getvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-isnull-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-isnull-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugreferencevalue-setvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-setvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-getregisters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregisters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-getregistersavailable-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregistersavailable-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-getthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-setregisters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setregisters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset-setthreadcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setthreadcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset2-getregisters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregisters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset2-getregistersavailable-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregistersavailable-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugregisterset2-setregisters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-setregisters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugremote-createprocessex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugremote-createprocessex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugremote-debugactiveprocessex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugremote-debugactiveprocessex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugremote-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugremote-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugremotetarget-gethostname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-gethostname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugremotetarget-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugruntimeunwindableframe-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugruntimeunwindableframe-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstackwalk-getcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstackwalk-getframe-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getframe-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstackwalk-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstackwalk-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstackwalk-setcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-setcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-deactivate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-deactivate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-isactive-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-isactive-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-setinterceptmask-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-setinterceptmask-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-setrangeil-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-setrangeil-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-setunmappedstopmask-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-setunmappedstopmask-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-step-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-step-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-stepout-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-stepout-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper-steprange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper-steprange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper2-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper2-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepper2-setjmc-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepper2-setjmc-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepperenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstepperenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstringvalue-getlength-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getlength-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstringvalue-getstring-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getstring-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugstringvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getassemblyimagebytes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagebytes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getassemblyimagemetadata-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagemetadata-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getcoderange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getcoderange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getinstancefieldsymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getinstancefieldsymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmergedassemblyrecords-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmergedassemblyrecords-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodlocalsymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodlocalsymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodparametersymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodparametersymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodprops-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodprops-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getobjectsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getobjectsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getstaticfieldsymbols-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getstaticfieldsymbols-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-gettypeprops-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-gettypeprops-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getframeprops-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getframeprops-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getgenericdictionaryinfo-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-clearcurrentexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-clearcurrentexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-createeval-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-createeval-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-createstepper-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-createstepper-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-enumeratechains-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-enumeratechains-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getactivechain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getactivechain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getactiveframe-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getactiveframe-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getappdomain-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getappdomain-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getcurrentexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getcurrentexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getdebugstate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getdebugstate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-gethandle-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-gethandle-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getobject-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getobject-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getprocess-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getprocess-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getregisterset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getregisterset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-getuserstate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-getuserstate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread-setdebugstate-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread-setdebugstate-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-getactivefunctions-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-getactivefunctions-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-getconnectionid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-getconnectionid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-gettaskid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-gettaskid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-getvolatileosthreadid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-getvolatileosthreadid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-interceptcurrentexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-interceptcurrentexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread3-createstackwalk-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread3-createstackwalk-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread3-getactiveinternalframes-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread3-getactiveinternalframes-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread4-getblockingobjects-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread4-getblockingobjects-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread4-getcurrentcustomdebuggernotification-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread4-getcurrentcustomdebuggernotification-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread4-hadunhandledexception-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread4-hadunhandledexception-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthread4-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthread4-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthreadenum-interface1.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-interface1",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugthreadenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-enumeratetypeparameters-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-enumeratetypeparameters-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-getbase-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-getbase-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-getclass-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-getclass-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-getfirsttypeparameter-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-getfirsttypeparameter-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-getrank-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-getrank-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-getstaticfieldvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-getstaticfieldvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-gettype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-gettype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype2-gettypeid-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype2-gettypeid-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtype2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtype2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtypeenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugtypeenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugunmanagedcallback-debugevent-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-debugevent-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugunmanagedcallback-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue-createbreakpoint-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue-createbreakpoint-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue-getaddress-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue-getaddress-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue-gettype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue-gettype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue2-getexacttype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue2-getexacttype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue2-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue2-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue3-getsize64-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue3-getsize64-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalue3-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalue3-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvaluebreakpoint-getvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-getvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvaluebreakpoint-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalueenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvalueenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getargumentindex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getargumentindex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getcode-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getcode-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getliverange-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getliverange-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getlocationtype-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getlocationtype-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getoffset-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getoffset-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getregister-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getregister-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-getslotindex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getslotindex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehome-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehomeenum-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablehomeenum-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getname-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getname-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getsize-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getsize-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getslotindex-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getslotindex-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-setvalue-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-setvalue-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvirtualunwinder-getcontext-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-getcontext-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvirtualunwinder-interface.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-interface",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/icordebugvirtualunwinder-next-method.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-next-method",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/ilcodekind-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/logginglevelenum-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/logginglevelenum-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/logswitchcallreason-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/logswitchcallreason-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/variablelocationtype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/variablelocationtype-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/debugging/writeablemetadataupdatemode-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/debugging/icordebug/writeablemetadataupdatemode-enumeration",
+ "redirect_document_id": true
+ },
+ {
+ "source_path_from_root": "/docs/framework/unmanaged-api/metadata/corelementtype-enumeration.md",
+ "redirect_url": "/dotnet/core/unmanaged-api/metadata/enumerations/corelementtype-enumeration",
+ "redirect_document_id": true
+ },
{
"source_path_from_root": "/docs/framework/unmanaged-api/debugging/createversionstringfrommodule-function.md",
"redirect_url": "/dotnet/core/unmanaged-api/debugging/createversionstringfrommodule-function",
diff --git a/.openpublishing.redirection.visual-basic.json b/.openpublishing.redirection.visual-basic.json
index 59d2ea1d847a6..f1eab0b895d91 100644
--- a/.openpublishing.redirection.visual-basic.json
+++ b/.openpublishing.redirection.visual-basic.json
@@ -1286,6 +1286,11 @@
{
"source_path_from_root": "/docs/visual-basic/sample-applications.md",
"redirect_url": "/samples/browse/?languages=vb"
+ },
+ {
+ "source_path_from_root": "/docs/visual-basic/language-reference/functions/ctype-function.md",
+ "redirect_url": "/dotnet/visual-basic/language-reference/operators/ctype-operator",
+ "redirect_document_id": true
}
]
}
diff --git a/docfx.json b/docfx.json
index 5f42d09300ce8..60d97942ea2fa 100644
--- a/docfx.json
+++ b/docfx.json
@@ -918,6 +918,16 @@
"docs/csharp/misc/**/**.{md,yml}": "3650-days",
"docs/csharp/roslyn-sdk/**/**.{md,yml}": "1825-days",
"docs/csharp/specification/**/**.{md,yml}": "1825-days",
+ "docs/fsharp/**/**.{md,yml}": "1095-days",
+ "docs/fsharp/whats-new/**/**.{md,yml}": "365-days",
+ "docs/fsharp/tools/fsharp-interactive/**/**.{md,yml}": "1095-days",
+ "docs/fsharp/scenarios/**/**.{md,yml}": "1095-days",
+ "docs/fsharp/tutorials/**/**.{md,yml}": "1095-days",
+ "docs/fsharp/tutorials/type-providers/**/**.{md,yml}": "1825-days",
+ "docs/fsharp/language-reference/**/**.{md,yml}": "1825-days",
+ "docs/fsharp/language-reference/compiler-messages/**/**.{md,yml}": "3650-days",
+ "docs/fsharp/style-guide/**/**.{md,yml}": "1095-days",
+ "docs/fsharp/get-started/**/**.{md,yml}": "1095-days",
"docs/framework/**/*.md": "3650-days",
"docs/iot/**/**.{md,yml}": "1825-days",
"docs/visual-basic/**/**.{md,yml}": "3650-days",
diff --git a/docs/ai/index.yml b/docs/ai/index.yml
index d503283859fb8..d5363881b6780 100644
--- a/docs/ai/index.yml
+++ b/docs/ai/index.yml
@@ -8,7 +8,7 @@ metadata:
description: Samples, tutorials, and education for building AI apps with .NET
ms.topic: landing-page
ms.service: dotnet
- ms.date: 12/19/2024
+ ms.date: 8/26/2025
author: alexwolfmsft
ms.author: alexwolf
diff --git a/docs/ai/quickstarts/snippets/evaluate-ai-responses/TestAI.csproj b/docs/ai/quickstarts/snippets/evaluate-ai-responses/TestAI.csproj
index 858e04d4ae2a0..e8d298c83a4f8 100644
--- a/docs/ai/quickstarts/snippets/evaluate-ai-responses/TestAI.csproj
+++ b/docs/ai/quickstarts/snippets/evaluate-ai-responses/TestAI.csproj
@@ -10,15 +10,15 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/docs/ai/quickstarts/snippets/local-ai/ollama.csproj b/docs/ai/quickstarts/snippets/local-ai/ollama.csproj
index d499e3d5736ea..51c6d493eab79 100644
--- a/docs/ai/quickstarts/snippets/local-ai/ollama.csproj
+++ b/docs/ai/quickstarts/snippets/local-ai/ollama.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.AddMessages/ConsoleAI.AddMessages.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.AddMessages/ConsoleAI.AddMessages.csproj
index fd4952b931118..9a84be85b65bd 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.AddMessages/ConsoleAI.AddMessages.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.AddMessages/ConsoleAI.AddMessages.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CacheResponses/ConsoleAI.CacheResponses.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CacheResponses/ConsoleAI.CacheResponses.csproj
index 5050463a48195..c62ed7d07ba97 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CacheResponses/ConsoleAI.CacheResponses.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CacheResponses/ConsoleAI.CacheResponses.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
index 2c35d7418d2a2..bfada45de386a 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeClientMiddleware/ConsoleAI.ConsumeClientMiddleware.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeRateLimitingEmbedding/ConsoleAI.ConsumeRateLimitingEmbedding.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeRateLimitingEmbedding/ConsoleAI.ConsumeRateLimitingEmbedding.csproj
index a174e5a00a793..8fe4ec8365d16 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeRateLimitingEmbedding/ConsoleAI.ConsumeRateLimitingEmbedding.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ConsumeRateLimitingEmbedding/ConsoleAI.ConsumeRateLimitingEmbedding.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
index a174e5a00a793..8fe4ec8365d16 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CreateEmbeddings/ConsoleAI.CreateEmbeddings.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
index 3b39e3608c8f3..6c8771bc09d51 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.CustomEmbeddingsMiddle/ConsoleAI.CustomEmbeddingsMiddle.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
index 1c9e87f92b16f..9b8ad046d0abd 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.FunctionalityPipelines/ConsoleAI.FunctionalityPipelines.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.GetStreamingResponseAsync/ConsoleAI.GetStreamingResponseAsync.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.GetStreamingResponseAsync/ConsoleAI.GetStreamingResponseAsync.csproj
index a174e5a00a793..8fe4ec8365d16 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.GetStreamingResponseAsync/ConsoleAI.GetStreamingResponseAsync.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.GetStreamingResponseAsync/ConsoleAI.GetStreamingResponseAsync.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ProvideOptions/ConsoleAI.ProvideOptions.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ProvideOptions/ConsoleAI.ProvideOptions.csproj
index fd4952b931118..9a84be85b65bd 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ProvideOptions/ConsoleAI.ProvideOptions.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ProvideOptions/ConsoleAI.ProvideOptions.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj
index 31f545a94a7e9..2437e71d591c2 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.StatelessStateful/ConsoleAI.StatelessStateful.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ToolCalling/ConsoleAI.ToolCalling.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ToolCalling/ConsoleAI.ToolCalling.csproj
index 02022ef75f2cf..9a84be85b65bd 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ToolCalling/ConsoleAI.ToolCalling.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.ToolCalling/ConsoleAI.ToolCalling.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseExample/ConsoleAI.UseExample.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseExample/ConsoleAI.UseExample.csproj
index aa336f505dee2..9a84be85b65bd 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseExample/ConsoleAI.UseExample.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseExample/ConsoleAI.UseExample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseTelemetry/ConsoleAI.UseTelemetry.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseTelemetry/ConsoleAI.UseTelemetry.csproj
index 9a705ca671fb0..063c6078581d2 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseTelemetry/ConsoleAI.UseTelemetry.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI.UseTelemetry/ConsoleAI.UseTelemetry.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI/ConsoleAI.csproj b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI/ConsoleAI.csproj
index 856c879522f51..62e467ea30ad5 100644
--- a/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI/ConsoleAI.csproj
+++ b/docs/ai/snippets/microsoft-extensions-ai/ConsoleAI/ConsoleAI.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/ai/tutorials/snippets/evaluate-safety/EvaluateResponseSafety.csproj b/docs/ai/tutorials/snippets/evaluate-safety/EvaluateResponseSafety.csproj
index 69ab0483ad536..7ed5b9c84f4d5 100644
--- a/docs/ai/tutorials/snippets/evaluate-safety/EvaluateResponseSafety.csproj
+++ b/docs/ai/tutorials/snippets/evaluate-safety/EvaluateResponseSafety.csproj
@@ -10,16 +10,16 @@
-
-
-
-
+
+
+
+
-
+
diff --git a/docs/ai/tutorials/snippets/evaluate-with-reporting/TestAIWithReporting.csproj b/docs/ai/tutorials/snippets/evaluate-with-reporting/TestAIWithReporting.csproj
index d390c730e4dde..94b7e581424f4 100644
--- a/docs/ai/tutorials/snippets/evaluate-with-reporting/TestAIWithReporting.csproj
+++ b/docs/ai/tutorials/snippets/evaluate-with-reporting/TestAIWithReporting.csproj
@@ -10,16 +10,16 @@
-
-
-
-
-
+
+
+
+
+
-
+
diff --git a/docs/ai/tutorials/tutorial-ai-vector-search.md b/docs/ai/tutorials/tutorial-ai-vector-search.md
index 960744f575688..1f7be83922327 100644
--- a/docs/ai/tutorials/tutorial-ai-vector-search.md
+++ b/docs/ai/tutorials/tutorial-ai-vector-search.md
@@ -1,7 +1,7 @@
---
title: Tutorial - Integrate OpenAI with the RAG pattern and vector search using Azure Cosmos DB for MongoDB
description: Create a simple recipe app using the RAG pattern and vector search using Azure Cosmos DB for MongoDB.
-ms.date: 11/24/2024
+ms.date: 08/26/2025
ms.topic: tutorial
ms.custom: devx-track-dotnet, devx-track-dotnet-ai
author: alexwolfmsft
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index daac93b42fdb4..6a8a1fadbc7a3 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -12,14 +12,14 @@
| Azure Remote Rendering | NuGet [1.1.0](https://www.nuget.org/packages/Azure.MixedReality.RemoteRendering/1.1.0) | [docs](/dotnet/api/overview/azure/MixedReality.RemoteRendering-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.MixedReality.RemoteRendering_1.1.0/sdk/remoterendering/Azure.MixedReality.RemoteRendering/) |
| Azure.Core.Expressions.DataFactory | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Core.Expressions.DataFactory/1.0.0) | [docs](/dotnet/api/overview/azure/Core.Expressions.DataFactory-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Expressions.DataFactory_1.0.0/sdk/core/Azure.Core.Expressions.DataFactory/) |
| Code Transparency | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.3/sdk/confidentialledger/Azure.Security.CodeTransparency/) |
-| Communication Call Automation | NuGet [1.4.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.4.1) NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.4.1/sdk/communication/Azure.Communication.CallAutomation/) GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.0-beta.1/sdk/communication/Azure.Communication.CallAutomation/) |
+| Communication Call Automation | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.0) NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.0/sdk/communication/Azure.Communication.CallAutomation/) GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0-beta.1/sdk/communication/Azure.Communication.CallAutomation/) |
| Communication Chat | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Chat/1.4.0) | [docs](/dotnet/api/overview/azure/Communication.Chat-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Chat_1.4.0/sdk/communication/Azure.Communication.Chat/) |
| Communication Common | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Common/1.4.0) NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.0/sdk/communication/Azure.Communication.Common/) GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) |
| Communication Email | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Email/1.0.1) NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.Communication.Email/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.0.1/sdk/communication/Azure.Communication.Email/) GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.1.0-beta.2/sdk/communication/Azure.Communication.Email/) |
| Communication Identity | NuGet [1.3.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.3.1) NuGet [1.4.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Identity/1.4.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Identity-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.3.1/sdk/communication/Azure.Communication.Identity/) GitHub [1.4.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.4.0-beta.1/sdk/communication/Azure.Communication.Identity/) |
| Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.1.0-beta.1/sdk/communication/Azure.Communication.JobRouter/) |
| Communication Messages | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.Messages/1.1.0) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Messages/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Messages-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.1.0/sdk/communication/Azure.Communication.Messages/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.3.0-beta.1/sdk/communication/Azure.Communication.Messages/) |
-| Communication Phone Numbers | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.4.0) NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.4.0/sdk/communication/Azure.Communication.PhoneNumbers/) GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.5.0-beta.2/sdk/communication/Azure.Communication.PhoneNumbers/) |
+| Communication Phone Numbers | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.5.0) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.5.0/sdk/communication/Azure.Communication.PhoneNumbers/) |
| Communication Rooms | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Communication.Rooms/1.2.0) | [docs](/dotnet/api/overview/azure/Communication.Rooms-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Rooms_1.2.0/sdk/communication/Azure.Communication.Rooms/) |
| Communication SMS | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Sms/1.0.1) NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Sms/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.Sms-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Sms_1.0.1/sdk/communication/Azure.Communication.Sms/) GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Sms_1.1.0-beta.3/sdk/communication/Azure.Communication.Sms/) |
| Compute Batch | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Compute.Batch/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Compute.Batch-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Compute.Batch_1.0.0-beta.3/sdk/batch/Azure.Compute.Batch/) |
@@ -83,8 +83,8 @@
| OpenTelemetry AspNetCore | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.3.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.3.0/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
| OpenTelemetry Exporter | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.4.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.4.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
-| Playwright | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.Playwright/) |
-| Playwright NUnit | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) |
+| Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) |
+| Playwright NUnit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) |
| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.ProgrammableConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
| Provisioning | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Provisioning/1.3.0) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.3.0/sdk/provisioning/Azure.Provisioning/) |
| Provisioning - Resources | NuGet [0.2.0](https://www.nuget.org/packages/Azure.Provisioning.Resources/0.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Resources-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [0.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Resources_0.2.0/sdk/provisioning/Azure.Provisioning.Resources/) |
@@ -163,7 +163,7 @@
| Provisioning - Operational Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.OperationalInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.OperationalInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.OperationalInsights_1.1.0/sdk/provisioning/Azure.Provisioning.OperationalInsights/) |
| Provisioning - PostgreSQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Provisioning.PostgreSql/1.1.1) | [docs](/dotnet/api/overview/azure/Provisioning.PostgreSql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.PostgreSql_1.1.1/sdk/provisioning/Azure.Provisioning.PostgreSql/) |
| Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) |
-| Provisioning - Redisenterprise | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) |
+| Provisioning - Redisenterprise | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.0.0/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) |
| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/provisioning/Azure.Provisioning.Search/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.Search/) |
| Provisioning - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.1.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) |
| Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/provisioning/Azure.Provisioning.SignalR/) |
@@ -307,7 +307,7 @@
| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1) NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/) GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor/) |
| Resource Management - MySQL | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.1.2/sdk/mysql/Azure.ResourceManager.MySql/) |
| Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) |
-| Resource Management - NetApp Files | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.11.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
+| Resource Management - NetApp Files | NuGet [1.12.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.12.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.12.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
| Resource Management - Network | NuGet [1.11.3](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.11.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.11.3/sdk/network/Azure.ResourceManager.Network/) |
| Resource Management - Network Cloud | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.2.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
| Resource Management - Network Function | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.ResourceManager.NetworkFunction/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkFunction-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkFunction_1.0.0-beta.5/sdk/networkfunction/Azure.ResourceManager.NetworkFunction/) |
@@ -369,7 +369,7 @@
| Resource Management - Standby Pool | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.1.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) |
| Resource Management - Storage | NuGet [1.4.4](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.4.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.4.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.4.4/sdk/storage/Azure.ResourceManager.Storage/) |
| Resource Management - Storage Actions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.0/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
-| Resource Management - Storage Cache | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.3.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
+| Resource Management - Storage Cache | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.3.2/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Mover | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.2.1/sdk/storagemover/Azure.ResourceManager.StorageMover/) |
| Resource Management - Storage Pool | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.1/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
| Resource Management - Storage Sync | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.0/sdk/storagesync/Azure.ResourceManager.StorageSync/) |
@@ -395,8 +395,8 @@
| Content Safety Extension Embedded Text | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.ContentSafety.Extension.Embedded.Text/1.0.0) NuGet [1.0.1-beta.4](https://www.nuget.org/packages/Azure.AI.ContentSafety.Extension.Embedded.Text/1.0.1-beta.4) | | |
| Cosmos DB Fault Injection | NuGet [1.0.0-beta.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.FaultInjection/1.0.0-beta.0) | | |
| DotNetty | NuGet [0.7.6](https://www.nuget.org/packages/DotNetty.Common/0.7.6) | | |
-| Functions Extension MCP | NuGet [1.0.0-preview.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Mcp/1.0.0-preview.6) | | |
-| Functions Worker Extension MCP | NuGet [1.0.0-preview.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp/1.0.0-preview.6) | | |
+| Functions Extension MCP | NuGet [1.0.0-preview.7](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions.Mcp/1.0.0-preview.7) | | |
+| Functions Worker Extension MCP | NuGet [1.0.0-preview.7](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Mcp/1.0.0-preview.7) | | |
| Functions Worker Extension MySQL | NuGet [1.0.129](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.MySql/1.0.129) | | |
| HTTP ASPNETCore Analyzers | NuGet [1.0.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore.Analyzers/1.0.4) | | |
| IoT Operations MQTT | NuGet [0.11.0](https://www.nuget.org/packages/Azure.Iot.Operations.Mqtt/0.11.0) | | |
@@ -439,7 +439,7 @@
| Common | NuGet [2.2.1](https://www.nuget.org/packages/Microsoft.Azure.Common/2.2.1) | | |
| Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | |
| Computer Vision | NuGet [7.0.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.ComputerVision/7.0.1) | | GitHub [7.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.ComputerVision_6.0.0-preview.1/sdk/cognitiveservices/Vision.ComputerVision) |
-| Cosmos DB | NuGet [3.47.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.47.0) NuGet [3.54.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.47.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
+| Cosmos DB | NuGet [3.47.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.47.0) NuGet [3.54.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.1) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.47.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
| Custom Vision Prediction | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction/2.0.0) | | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Prediction_2.0.0/sdk/cognitiveservices/Vision.CustomVision.Prediction) |
| Custom Vision Training | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training/2.0.0) NuGet [2.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training/2.1.0-preview) | | GitHub [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training_2.0.0/sdk/cognitiveservices/Vision.CustomVision.Training) |
| Data Lake Analytics | NuGet [1.4.211011](https://www.nuget.org/packages/Microsoft.Azure.DataLake.USQL.SDK/1.4.211011) | | |
@@ -506,7 +506,7 @@
| Functions - Extensions | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions/1.1.0) | | GitHub [1.1.0](https://github.com/Azure/azure-functions-dotnet-extensions) |
| Functions extension for Application Insights | NuGet [1.0.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ApplicationInsights/1.0.0-preview4) | | |
| Functions extension for Azure Mobile Apps | NuGet [3.0.0-beta8](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.MobileApps/3.0.0-beta8) | | GitHub [3.0.0-beta8](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.0-beta8/src/WebJobs.Extensions.MobileApps) |
-| Functions extension for Azure SQL and SQL Server | NuGet [3.1.512](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.1.512) | | |
+| Functions extension for Azure SQL and SQL Server | NuGet [3.1.527](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.1.527) | | |
| Functions extension for Cosmos DB | NuGet [4.9.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB/4.9.0) | | GitHub [4.9.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/cosmos-v3.0.7/src/WebJobs.Extensions.CosmosDB) |
| Functions extension for DocumentDB | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DocumentDB/1.3.0) | | GitHub [1.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions) |
| Functions extension for Durable Task Framework | NuGet [3.4.1](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.4.1) | [docs](/dotnet/api/overview/azure/functions) | GitHub [3.4.1](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) |
@@ -557,7 +557,7 @@
| Microsoft.Azure.Functions.Worker.Extensions.SendGrid | NuGet [3.1.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.SendGrid/3.1.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | NuGet [5.23.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ServiceBus/5.23.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.SignalRService | NuGet [2.0.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.SignalRService/2.0.1) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.Sql | NuGet [3.1.512](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Sql/3.1.512) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.Sql | NuGet [3.1.527](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Sql/3.1.527) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage | NuGet [6.7.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage/6.7.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs | NuGet [6.7.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs/6.7.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues | NuGet [5.5.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues/5.5.2) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 7d0d6ee34526c..e68b952409e4c 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -13,7 +13,7 @@
| Azure.Core.Expressions.DataFactory | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Core.Expressions.DataFactory/1.0.0) | [docs](/dotnet/api/overview/azure/Core.Expressions.DataFactory-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core.Expressions.DataFactory_1.0.0/sdk/core/Azure.Core.Expressions.DataFactory/) |
| Calling Server | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Communication.CallingServer/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.CallingServer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallingServer_1.0.0-beta.3/sdk/communication/Azure.Communication.CallingServer/) |
| Code Transparency | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Security.CodeTransparency/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Security.CodeTransparency-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.CodeTransparency_1.0.0-beta.3/sdk/confidentialledger/Azure.Security.CodeTransparency/) |
-| Communication Call Automation | NuGet [1.4.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.4.1) NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.4.1/sdk/communication/Azure.Communication.CallAutomation/) GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.0-beta.1/sdk/communication/Azure.Communication.CallAutomation/) |
+| Communication Call Automation | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.5.0) NuGet [1.6.0-beta.1](https://www.nuget.org/packages/Azure.Communication.CallAutomation/1.6.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.CallAutomation-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.5.0/sdk/communication/Azure.Communication.CallAutomation/) GitHub [1.6.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.CallAutomation_1.6.0-beta.1/sdk/communication/Azure.Communication.CallAutomation/) |
| Communication Chat | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Chat/1.4.0) | [docs](/dotnet/api/overview/azure/Communication.Chat-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Chat_1.4.0/sdk/communication/Azure.Communication.Chat/) |
| Communication Common | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.Common/1.4.0) NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Common/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Common-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_1.4.0/sdk/communication/Azure.Communication.Common/) GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Common_2.0.0-beta.1/sdk/communication/Azure.Communication.Common/) |
| Communication Email | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Email/1.0.1) NuGet [1.1.0-beta.2](https://www.nuget.org/packages/Azure.Communication.Email/1.1.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.Email-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.0.1/sdk/communication/Azure.Communication.Email/) GitHub [1.1.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.1.0-beta.2/sdk/communication/Azure.Communication.Email/) |
@@ -21,7 +21,7 @@
| Communication JobRouter | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.0.0) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.JobRouter/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.JobRouter-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.0.0/sdk/communication/Azure.Communication.JobRouter/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.JobRouter_1.1.0-beta.1/sdk/communication/Azure.Communication.JobRouter/) |
| Communication Messages | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Communication.Messages/1.1.0) NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Communication.Messages/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.Messages-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.1.0/sdk/communication/Azure.Communication.Messages/) GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Messages_1.3.0-beta.1/sdk/communication/Azure.Communication.Messages/) |
| Communication Network Traversal | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.0.0) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.NetworkTraversal-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.0.0/sdk/communication/Azure.Communication.NetworkTraversal/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.NetworkTraversal_1.1.0-beta.1/sdk/communication/Azure.Communication.NetworkTraversal/) |
-| Communication Phone Numbers | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.4.0) NuGet [1.5.0-beta.2](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.5.0-beta.2) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.4.0/sdk/communication/Azure.Communication.PhoneNumbers/) GitHub [1.5.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.5.0-beta.2/sdk/communication/Azure.Communication.PhoneNumbers/) |
+| Communication Phone Numbers | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers/1.5.0) | [docs](/dotnet/api/overview/azure/Communication.PhoneNumbers-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.PhoneNumbers_1.5.0/sdk/communication/Azure.Communication.PhoneNumbers/) |
| Communication Rooms | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Communication.Rooms/1.2.0) | [docs](/dotnet/api/overview/azure/Communication.Rooms-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Rooms_1.2.0/sdk/communication/Azure.Communication.Rooms/) |
| Communication SMS | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Communication.Sms/1.0.1) NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.Communication.Sms/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/Communication.Sms-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Sms_1.0.1/sdk/communication/Azure.Communication.Sms/) GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Sms_1.1.0-beta.3/sdk/communication/Azure.Communication.Sms/) |
| Compute Batch | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Compute.Batch/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Compute.Batch-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Compute.Batch_1.0.0-beta.3/sdk/batch/Azure.Compute.Batch/) |
@@ -86,8 +86,8 @@
| OpenTelemetry Exporter | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.4.0) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.4.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| OpenTelemetry LiveMetrics | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.LiveMetrics/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.LiveMetrics-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.LiveMetrics_1.0.0-beta.3/sdk/monitor/Azure.Monitor.OpenTelemetry.LiveMetrics/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
-| Playwright | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.Playwright/) |
-| Playwright NUnit | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) |
+| Playwright | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright/) |
+| Playwright NUnit | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Developer.Playwright.NUnit/1.0.0) | [docs](/dotnet/api/overview/azure/Developer.Playwright.NUnit-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.Playwright.NUnit_1.0.0/sdk/loadtestservice/Azure.Developer.Playwright.NUnit/) |
| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.ProgrammableConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
| Provisioning | NuGet [1.3.0](https://www.nuget.org/packages/Azure.Provisioning/1.3.0) | [docs](/dotnet/api/overview/azure/Provisioning-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning_1.3.0/sdk/provisioning/Azure.Provisioning/) |
| Provisioning - Resources | NuGet [0.2.0](https://www.nuget.org/packages/Azure.Provisioning.Resources/0.2.0) | [docs](/dotnet/api/overview/azure/Provisioning.Resources-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [0.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Resources_0.2.0/sdk/provisioning/Azure.Provisioning.Resources/) |
@@ -169,7 +169,7 @@
| Provisioning - Operational Insights | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.OperationalInsights/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.OperationalInsights-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.OperationalInsights_1.1.0/sdk/provisioning/Azure.Provisioning.OperationalInsights/) |
| Provisioning - PostgreSQL | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Provisioning.PostgreSql/1.1.1) | [docs](/dotnet/api/overview/azure/Provisioning.PostgreSql-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.PostgreSql_1.1.1/sdk/provisioning/Azure.Provisioning.PostgreSql/) |
| Provisioning - Redis | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.Redis/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.Redis-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Redis_1.1.0/sdk/provisioning/Azure.Provisioning.Redis/) |
-| Provisioning - Redisenterprise | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) |
+| Provisioning - Redisenterprise | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.RedisEnterprise/1.0.0) | [docs](/dotnet/api/overview/azure/Provisioning.RedisEnterprise-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.RedisEnterprise_1.0.0/sdk/provisioning/Azure.Provisioning.RedisEnterprise/) |
| Provisioning - Search | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Provisioning.Search/1.0.0) NuGet [1.1.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Search/1.1.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Search-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.0.0/sdk/provisioning/Azure.Provisioning.Search/) GitHub [1.1.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Search_1.1.0-beta.1/sdk/provisioning/Azure.Provisioning.Search/) |
| Provisioning - Service Bus | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.ServiceBus/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.ServiceBus-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.ServiceBus_1.1.0/sdk/provisioning/Azure.Provisioning.ServiceBus/) |
| Provisioning - SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.SignalR/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.SignalR-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.SignalR_1.1.0/sdk/provisioning/Azure.Provisioning.SignalR/) |
@@ -317,7 +317,7 @@
| Resource Management - Monitor | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.3.1) NuGet [1.4.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Monitor/1.4.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Monitor-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.3.1/sdk/monitor/Azure.ResourceManager.Monitor/) GitHub [1.4.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Monitor_1.4.0-beta.3/sdk/monitor/Azure.ResourceManager.Monitor/) |
| Resource Management - MySQL | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.MySql/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.MySql-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.MySql_1.1.2/sdk/mysql/Azure.ResourceManager.MySql/) |
| Resource Management - Neon Postgres | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.NeonPostgres/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NeonPostgres-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NeonPostgres_1.0.0/sdk/neonpostgres/Azure.ResourceManager.NeonPostgres/) |
-| Resource Management - NetApp Files | NuGet [1.11.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.11.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.11.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
+| Resource Management - NetApp Files | NuGet [1.12.0](https://www.nuget.org/packages/Azure.ResourceManager.NetApp/1.12.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetApp-readme) | GitHub [1.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetApp_1.12.0/sdk/netapp/Azure.ResourceManager.NetApp/) |
| Resource Management - Network | NuGet [1.11.3](https://www.nuget.org/packages/Azure.ResourceManager.Network/1.11.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Network-readme) | GitHub [1.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Network_1.11.3/sdk/network/Azure.ResourceManager.Network/) |
| Resource Management - Network Analytics | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.NetworkAnalytics/1.0.1) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkAnalytics-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkAnalytics_1.0.1/sdk/networkanalytics/Azure.ResourceManager.NetworkAnalytics/) |
| Resource Management - Network Cloud | NuGet [1.2.0](https://www.nuget.org/packages/Azure.ResourceManager.NetworkCloud/1.2.0) | [docs](/dotnet/api/overview/azure/ResourceManager.NetworkCloud-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.NetworkCloud_1.2.0/sdk/networkcloud/Azure.ResourceManager.NetworkCloud/) |
@@ -380,7 +380,7 @@
| Resource Management - Standby Pool | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.StandbyPool/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StandbyPool-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StandbyPool_1.1.0/sdk/standbypool/Azure.ResourceManager.StandbyPool/) |
| Resource Management - Storage | NuGet [1.4.4](https://www.nuget.org/packages/Azure.ResourceManager.Storage/1.4.4) | [docs](/dotnet/api/overview/azure/ResourceManager.Storage-readme) | GitHub [1.4.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Storage_1.4.4/sdk/storage/Azure.ResourceManager.Storage/) |
| Resource Management - Storage Actions | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageActions/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageActions-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageActions_1.0.0/sdk/storageactions/Azure.ResourceManager.StorageActions/) |
-| Resource Management - Storage Cache | NuGet [1.3.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.3.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.3.1/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
+| Resource Management - Storage Cache | NuGet [1.3.2](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache/1.3.2) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageCache-readme) | GitHub [1.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageCache_1.3.2/sdk/storagecache/Azure.ResourceManager.StorageCache/) |
| Resource Management - Storage Mover | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageMover-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageMover_1.2.1/sdk/storagemover/Azure.ResourceManager.StorageMover/) |
| Resource Management - Storage Pool | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.StoragePool/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.StoragePool-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StoragePool_1.1.1/sdk/storagepool/Azure.ResourceManager.StoragePool/) |
| Resource Management - Storage Sync | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.StorageSync/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.StorageSync-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.StorageSync_1.3.0/sdk/storagesync/Azure.ResourceManager.StorageSync/) |
diff --git a/docs/azure/sdk/authentication/additional-methods.md b/docs/azure/sdk/authentication/additional-methods.md
index ce35f8d40d3aa..57c69cf0aaa61 100644
--- a/docs/azure/sdk/authentication/additional-methods.md
+++ b/docs/azure/sdk/authentication/additional-methods.md
@@ -40,72 +40,6 @@ The following example demonstrates using an [`InteractiveBrowserCredential`](/do
For more exact control, such as setting redirect URIs, you can supply specific arguments to `InteractiveBrowserCredential` such as `redirect_uri`.
-## Interactive brokered authentication
-
-This method interactively authenticates an application through by collecting user credentials using the system authentication broker. A system authentication broker is an app running on a user's machine that manages the authentication handshakes and token maintenance for all connected accounts. Currently, only the Windows authentication broker, Web Account Manager (WAM), is supported. Users on macOS and Linux will be authenticated through the non-brokered interactive browser flow.
-
-WAM enables identity providers such as Microsoft Entra ID to natively plug into the OS and provide the service to other apps to provide a more secure login process. WAM offers the following benefits:
-
-- **Feature support**: Apps can access OS-level and service-level capabilities, including Windows Hello, conditional access policies, and FIDO keys.
-- **Streamlined single sign-on**: Apps can use the built-in account picker, allowing the user to select an existing account instead of repeatedly entering the same credentials.
-- **Enhanced security**: Bug fixes and enhancements ship with Windows.
-- **Token protection**: Refresh tokens are device-bound, and apps can acquire device-bound access tokens.
-
-Interactive brokered authentication enables the application for all operations allowed by the interactive login credentials. Personal Microsoft accounts and work or school accounts are supported. If a supported version of Windows is used, the default browser-based UI is replaced with a smoother authentication experience, similar to Windows built-in apps.
-
-### Enable applications for interactive brokered authentication
-
-Perform the following steps to enable the application to authenticate through the interactive broker flow.
-
-1. On the [Azure portal](https://portal.azure.com), navigate to **Microsoft Entra ID** and select **App registrations** on the left-hand menu.
-1. Select the registration for your app, then select **Authentication**.
-1. Add the WAM redirect URI to your app registration via a platform configuration:
- 1. Under **Platform configurations**, select **+ Add a platform**.
- 1. Under **Configure platforms**, select the tile for your application type (platform) to configure its settings, such as **mobile and desktop applications**.
- 1. In **Custom redirect URIs**, enter the following WAM redirect URI:
-
- ```text
- ms-appx-web://microsoft.aad.brokerplugin/{client_id}
- ```
-
- The `{client_id}` placeholder must be replaced with the **Application (client) ID** listed on the **Overview** pane of the app registration.
-
- 1. Select **Configure**.
-
- To learn more, see [Add a redirect URI to an app registration](/entra/identity-platform/quickstart-register-app#add-a-redirect-uri).
-
-1. Back on the **Authentication** pane, under **Advanced settings**, select **Yes** for **Allow public client flows**.
-1. Select **Save** to apply the changes.
-1. To authorize the application for specific resources, navigate to the resource in question, select **API Permissions**, and enable **Microsoft Graph** and other resources you want to access. Microsoft Graph is usually enabled by default.
-
- > [!IMPORTANT]
- > You must also be the admin of your tenant to grant consent to your application when you sign in for the first time.
-
-### Example using InteractiveBrowserCredential
-
-The following example demonstrates using an in a Windows Forms app to authenticate with the [`BlobServiceClient`](/dotnet/api/azure.storage.blobs.blobserviceclient):
-
-:::code language="csharp" source="../snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs" highlight="16-20":::
-
-> [!NOTE]
-> Visit the [Parent window handles](/entra/msal/dotnet/acquiring-tokens/desktop-mobile/wam#parent-window-handles) and [Retrieve a window handle](/windows/apps/develop/ui-input/retrieve-hwnd) articles for more information about retrieving window handles.
-
-For the code to run successfully, your user account must be assigned an Azure role on the storage account that allows access to blob containers such as **Storage Account Data Contributor**. If an app is specified, it must have API permissions set for **user_impersonation Access Azure Storage** (step 6 in the previous section). This API permission allows the app to access Azure storage on behalf of the signed-in user after consent is granted during sign-in.
-
-The following screenshot shows the user sign-in experience:
-
-:::image type="content" source="../media/web-account-manager-sign-in-account-picker.png" alt-text="A screenshot that shows the sign-in experience when using the interactive browser broker credential to authenticate a user." :::
-
-### Authenticate the default system account via WAM
-
-Many people always sign in to Windows with the same user account and, therefore, only ever want to authenticate using that account. WAM and `InteractiveBrowserCredential` also support a silent login process that automatically uses a default account so the user doesn't have to repeatedly select it.
-
-The following example shows how to enable sign-in with the default system account:
-
-:::code language="csharp" source="../snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs" highlight="16-24":::
-
-Once you opt in to this behavior, the credential attempts to sign in by asking the underlying Microsoft Authentication Library (MSAL) to perform the sign-in for the default system account. If the sign-in fails, the credential falls back to displaying the account picker dialog, from which the user can select the appropriate account.
-
## Device code authentication
This method interactively authenticates a user on devices with limited UI (typically devices without a keyboard):
diff --git a/docs/azure/sdk/authentication/index.md b/docs/azure/sdk/authentication/index.md
index ea8a0003e2fc2..62ef20f31a4b7 100644
--- a/docs/azure/sdk/authentication/index.md
+++ b/docs/azure/sdk/authentication/index.md
@@ -2,7 +2,7 @@
title: How to authenticate .NET applications with Azure services
description: Learn how to authenticate a .NET app with Azure services by using classes in the Azure Identity library.
ms.topic: concept-article
-ms.date: 08/02/2024
+ms.date: 08/26/2025
ms.custom:
- devx-track-dotnet
- engagement-fy23
diff --git a/docs/azure/sdk/authentication/local-development-broker.md b/docs/azure/sdk/authentication/local-development-broker.md
new file mode 100644
index 0000000000000..80a8b3a2f06d6
--- /dev/null
+++ b/docs/azure/sdk/authentication/local-development-broker.md
@@ -0,0 +1,176 @@
+---
+title: Authenticate .NET apps to Azure using brokered authentication.
+description: Learn how to authenticate your app to Azure services when using the Azure SDK for .NET during local development using brokered authentication.
+ms.topic: how-to
+ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli
+ms.date: 08/20/2025
+zone_pivot_groups: operating-systems-set-one
+---
+
+# Authenticate .NET apps to Azure services during local development using brokered authentication
+
+Brokered authentication collects user credentials using the system authentication broker to authenticate an app with . A system authentication broker is an app running on a user's machine that manages the authentication handshakes and token maintenance for all connected accounts.
+
+Brokered authentication offers the following benefits:
+
+- **Enables Single Sign-On (SSO):** Enables apps to simplify how users authenticate with Microsoft Entra ID and protects Microsoft Entra ID refresh tokens from exfiltration and misuse.
+- **Enhanced security:** Many security enhancements are delivered with the broker, without needing to update the app logic.
+- **Enhanced feature support:** With the help of the broker, developers can access rich OS and service capabilities.
+- **System integration:** Applications that use the broker plug-and-play with the built-in account picker, allowing the user to quickly pick an existing account instead of reentering the same credentials over and over.
+- **Token Protection:** Ensures that the refresh tokens are device bound and enables apps to acquire device bound access tokens. See [Token Protection](/azure/active-directory/conditional-access/concept-token-protection).
+
+:::zone target="docs" pivot="os-windows"
+
+Windows provides an authentication broker called [Web Account Manager (WAM)](/entra/msal/dotnet/acquiring-tokens/desktop-mobile/wam). WAM enables identity providers such as Microsoft Entra ID to natively plug into the OS and provide secure login services to apps. Brokered authentication enables the app for all operations allowed by the interactive login credentials.
+
+Personal Microsoft accounts and work or school accounts are supported. On supported Windows versions, the default browser-based UI is replaced with a smoother authentication experience, similar to built-in Windows apps.
+
+:::zone-end
+
+:::zone target="docs" pivot="os-macos"
+
+macOS doesn't natively include a built-in authentication broker. Brokered authentication is supported via the `Azure.Identity.Broker` library, which uses platform-specific mechanisms and may integrate with apps like Microsoft Company Portal when devices are managed. For more information, see [Microsoft Enterprise SSO plug-in for Apple devices](/entra/identity-platform/apple-sso-plugin).
+
+:::zone-end
+
+:::zone target="docs" pivot="os-linux"
+
+Linux uses [Microsoft single sign-on for Linux](/entra/identity/devices/sso-linux) as its authentication broker.
+
+:::zone-end
+
+## Configure the app for brokered authentication
+
+To enable brokered authentication in your application, follow these steps:
+
+1. In the [Azure portal](https://portal.azure.com), navigate to **Microsoft Entra ID** and select **App registrations** on the left-hand menu.
+1. Select the registration for your app, then select **Authentication**.
+1. Add the appropriate redirect URI to your app registration via a platform configuration:
+ 1. Under **Platform configurations**, select **+ Add a platform**.
+ 1. Under **Configure platforms**, select the tile for your application type (platform) to configure its settings, such as **mobile and desktop applications**.
+ 1. In **Custom redirect URIs**, enter the following redirect URI for your platform:
+
+ | Platform | Redirect URI |
+ |-------------|-----------------------------------------------------------------------------------------------------------------------|
+ | Windows 10+ or WSL | `ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}` |
+ | macOS | `msauth.com.msauth.unsignedapp://auth` for unsigned apps `msauth.{bundle_id}://auth` for signed apps |
+ | Linux | `https://login.microsoftonline.com/common/oauth2/nativeclient` |
+
+ Replace `{your_client_id}` or `{bundle_id}` with the **Application (client) ID** from the app registration's **Overview** pane.
+
+ 1. Select **Configure**.
+
+ To learn more, see [Add a redirect URI to an app registration](/entra/identity-platform/quickstart-register-app#add-a-redirect-uri).
+
+1. Back on the **Authentication** pane, under **Advanced settings**, select **Yes** for **Allow public client flows**.
+1. Select **Save** to apply the changes.
+1. To authorize the application for specific resources, navigate to the resource in question, select **API Permissions**, and enable **Microsoft Graph** and other resources you want to access.
+
+ > [!IMPORTANT]
+ > You must also be the admin of your tenant to grant consent to your application when you sign in for the first time.
+
+## Assign roles
+
+To run your app code successfully with brokered authentication, grant your user account permissions using [Azure role-based access control (RBAC)](/azure/role-based-access-control/overview). Assign an appropriate role to your user account for the relevant Azure service. For example:
+
+- **Azure Blob Storage**: Assign the **Storage Account Data Contributor** role.
+- **Azure Key Vault**: Assign the **Key Vault Secrets Officer** role.
+
+If an app is specified, it must have API permissions set for **user_impersonation Access Azure Storage** (step 6 in the previous section). This API permission allows the app to access Azure storage on behalf of the signed-in user after consent is granted during sign-in.
+
+## Implement the code
+
+:::zone target="docs" pivot="os-windows, os-macos"
+
+The Azure Identity library supports brokered authentication using . For example, to use `InteractiveBrowserCredential` in a MAUI app to authenticate to Azure Key Vault with the [`SecretClient`](/dotnet/api/azure.security.keyvault.secrets.secretclient), follow these steps:
+
+:::zone-end
+
+:::zone target="docs" pivot="os-linux"
+
+The Azure Identity library provide interactive brokered authentication using . For example, to use `InteractiveBrowserCredential` in a console app to authenticate to Azure Key Vault with the [`SecretClient`](/dotnet/api/azure.security.keyvault.secrets.secretclient), follow these steps:
+
+:::zone-end
+
+:::zone target="docs" pivot="os-windows"
+
+1. Install the [Azure.Identity](https://www.nuget.org/packages/Azure.Identity) and [Azure.Identity.Broker](https://www.nuget.org/packages/Azure.Identity.Broker) packages.
+
+ ```dotnetcli
+ dotnet add package Azure.Identity
+ dotnet add package Azure.Identity.Broker
+ ```
+
+1. Get a reference to the parent window on top of which the account picker dialog should appear.
+1. Create an instance of using .
+
+:::code language="csharp" source="../snippets/authentication/brokered/maui-app/MainPage.xaml.cs" id="snippet_brokered_windows" highlight="6-13":::
+
+:::zone-end
+
+:::zone target="docs" pivot="os-macos"
+
+1. Install the [Azure.Identity](https://www.nuget.org/packages/Azure.Identity) and [Azure.Identity.Broker](https://www.nuget.org/packages/Azure.Identity.Broker) packages.
+
+ ```dotnetcli
+ dotnet add package Azure.Identity
+ dotnet add package Azure.Identity.Broker
+ ```
+
+ > [!NOTE]
+ > macOS support exists in `Azure.Identity.Broker` versions 1.3.0 and later.
+
+2. Get a reference to the parent window on top of which the account picker dialog should appear.
+3. Create an instance of using .
+
+:::code language="csharp" source="../snippets/authentication/brokered/maui-app/MainPage.xaml.cs" id="snippet_brokered_macos" highlight="6-13":::
+
+:::zone-end
+
+:::zone target="docs" pivot="os-linux"
+
+1. Install the [Azure.Identity](https://www.nuget.org/packages/Azure.Identity) and [Azure.Identity.Broker](https://www.nuget.org/packages/Azure.Identity.Broker) packages.
+
+ ```dotnetcli
+ dotnet add package Azure.Identity
+ dotnet add package Azure.Identity.Broker
+ ```
+
+ > [!NOTE]
+ > Linux support exists in `Azure.Identity.Broker` versions 1.3.0 and later.
+
+2. Get a reference to the parent window on top of which the account picker dialog should appear.
+3. Create an instance of using .
+
+:::code language="csharp" source="../snippets/authentication/brokered/console-app/Program.cs" id="snippet_brokered_linux" highlight="15-21":::
+
+:::zone-end
+
+> [!TIP]
+> View the [complete sample app code](https://github.com/dotnet/docs/tree/main/docs/azure/sdk/snippets/authentication/brokered) in the .NET docs GitHub repository.
+
+In the preceding example, property is set to `true`, which opts into a silent, brokered authentication flow with the default system account. In this way, the user doesn't have to repeatedly select the same account. If silent, brokered authentication fails, or `UseDefaultBrokerAccount` is set to `false`, `InteractiveBrowserCredential` falls back to interactive, brokered authentication.
+
+:::zone target="docs" pivot="os-windows"
+
+The following screenshot shows the alternative interactive, brokered authentication experience:
+
+:::image type="content" source="../media/broker-web-account-manager-account-picker.png" alt-text="A screenshot that shows the Windows sign-in experience when using a broker-enabled InteractiveBrowserCredential instance to authenticate a user.":::
+
+:::zone-end
+
+:::zone target="docs" pivot="os-macos"
+
+The following screenshot shows the alternative interactive, brokered authentication experience:
+
+:::image type="content" source="../media/broker-macos-account-picker.png" alt-text="A screenshot that shows the macOS sign-in experience when using a broker-enabled InteractiveBrowserCredential instance to authenticate a user.":::
+
+:::zone-end
+
+:::zone target="docs" pivot="os-linux"
+
+The following video shows the alternative interactive, brokered authentication experience:
+
+:::image type="content" source="../media/broker-linux-login.gif" alt-text="An animated gif that shows the Linux sign-in experience when using a broker-enabled InteractiveBrowserCredential instance to authenticate a user.":::
+
+:::zone-end
diff --git a/docs/azure/sdk/media/broker-linux-login.gif b/docs/azure/sdk/media/broker-linux-login.gif
new file mode 100644
index 0000000000000..a27c3cbc48f86
Binary files /dev/null and b/docs/azure/sdk/media/broker-linux-login.gif differ
diff --git a/docs/azure/sdk/media/broker-macos-account-picker.png b/docs/azure/sdk/media/broker-macos-account-picker.png
new file mode 100644
index 0000000000000..9f5bc85fefa42
Binary files /dev/null and b/docs/azure/sdk/media/broker-macos-account-picker.png differ
diff --git a/docs/azure/sdk/media/web-account-manager-sign-in-account-picker.png b/docs/azure/sdk/media/broker-web-account-manager-account-picker.png
similarity index 100%
rename from docs/azure/sdk/media/web-account-manager-sign-in-account-picker.png
rename to docs/azure/sdk/media/broker-web-account-manager-account-picker.png
diff --git a/docs/azure/sdk/snippets/authentication/Directory.Packages.props b/docs/azure/sdk/snippets/authentication/Directory.Packages.props
index 3f5eeca58a0e7..fe052b3c6d891 100644
--- a/docs/azure/sdk/snippets/authentication/Directory.Packages.props
+++ b/docs/azure/sdk/snippets/authentication/Directory.Packages.props
@@ -15,5 +15,7 @@
+
+
diff --git a/docs/azure/sdk/snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs b/docs/azure/sdk/snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs
index 911232d71c356..a99b5a1d06031 100644
--- a/docs/azure/sdk/snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs
+++ b/docs/azure/sdk/snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs
@@ -20,12 +20,12 @@ private void testInteractiveBrokeredAuth_Click(object sender, EventArgs e)
new InteractiveBrowserCredentialBrokerOptions(windowHandle));
// To authenticate and authorize with an Entra ID app registration, substitute the
- // and placeholders with the values for your app and tenant.
+ // and placeholders with the values for your app and tenant.
// var credential = new InteractiveBrowserCredential(
// new InteractiveBrowserCredentialBrokerOptions(windowHandle)
// {
- // TenantId = "your-tenant-id",
- // ClientId = "your-client-id"
+ // TenantId = "",
+ // ClientId = ""
// }
// );
diff --git a/docs/azure/sdk/snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs b/docs/azure/sdk/snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs
index 20f6ccf87f6f7..513f056b7a93d 100644
--- a/docs/azure/sdk/snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs
+++ b/docs/azure/sdk/snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs
@@ -24,12 +24,12 @@ private void testSilentBrokeredAuth_Click(object sender, EventArgs e)
});
// To authenticate and authorize with an app, substitute the
- // and placeholders with the values for your app and tenant.
+ // and placeholders with the values for your app and tenant.
// var credential = new InteractiveBrowserCredential(
// new InteractiveBrowserCredentialBrokerOptions(windowHandle)
// {
- // TenantId = "your-tenant-id",
- // ClientId = "your-client-id"
+ // TenantId = "",
+ // ClientId = ""
// }
// );
diff --git a/docs/azure/sdk/snippets/authentication/brokered/console-app/BrokeredConsole.csproj b/docs/azure/sdk/snippets/authentication/brokered/console-app/BrokeredConsole.csproj
new file mode 100644
index 0000000000000..480bd7d5024d7
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/console-app/BrokeredConsole.csproj
@@ -0,0 +1,13 @@
+
+
+ Exe
+ net9.0
+ enable
+ Linux
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/console-app/Program.cs b/docs/azure/sdk/snippets/authentication/brokered/console-app/Program.cs
new file mode 100644
index 0000000000000..28cefbedc545b
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/console-app/Program.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Runtime.InteropServices;
+using Azure;
+using Azure.Identity;
+using Azure.Identity.Broker;
+using Azure.Security.KeyVault.Secrets;
+
+#region snippet_brokered_linux
+///
+/// Get the handle of the console window for Linux
+///
+[DllImport("libX11")]
+static extern IntPtr XOpenDisplay(string display);
+
+[DllImport("libX11")]
+static extern IntPtr XRootWindow(IntPtr display, int screen);
+
+try
+{
+ IntPtr parentWindowHandle = XRootWindow(XOpenDisplay(null), 0);
+ Func consoleWindowHandleProvider = () => parentWindowHandle;
+
+ InteractiveBrowserCredentialBrokerOptions options = new(parentWindowHandle)
+ {
+ UseDefaultBrokerAccount = true,
+ };
+
+ // Create the InteractiveBrowserCredential using broker support
+ InteractiveBrowserCredential credential = new(options);
+
+ Uri vaultUri = new("https://.vault.azure.net/");
+ SecretClient client = new(vaultUri, credential);
+
+ Console.WriteLine("Retrieving secret 'MySecret' from Key Vault...");
+ KeyVaultSecret secret = await client.GetSecretAsync("MySecret");
+
+ return 0;
+}
+#endregion
+catch (AuthenticationFailedException ex)
+{
+ Console.Error.WriteLine($"Authentication failed: {ex.Message}");
+ return 2;
+}
+catch (RequestFailedException ex)
+{
+ Console.Error.WriteLine($"Key Vault request failed: {ex.Message}");
+ return 3;
+}
+catch (Exception ex)
+{
+ Console.Error.WriteLine($"Unexpected error: {ex.Message}");
+ return 1;
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml
new file mode 100644
index 0000000000000..a2c3c4438dacd
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml.cs
new file mode 100644
index 0000000000000..a57e3a1614693
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/App.xaml.cs
@@ -0,0 +1,14 @@
+namespace SecretVaultApp;
+
+public partial class App : Application
+{
+ public App()
+ {
+ InitializeComponent();
+ }
+
+ protected override Window CreateWindow(IActivationState? activationState)
+ {
+ return new Window(new AppShell());
+ }
+}
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml
new file mode 100644
index 0000000000000..6370047c80754
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml.cs
new file mode 100644
index 0000000000000..af26d06c910a0
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/AppShell.xaml.cs
@@ -0,0 +1,9 @@
+namespace SecretVaultApp;
+
+public partial class AppShell : Shell
+{
+ public AppShell()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/BrokeredMaui.csproj b/docs/azure/sdk/snippets/authentication/brokered/maui-app/BrokeredMaui.csproj
new file mode 100644
index 0000000000000..700932e47c1ce
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/BrokeredMaui.csproj
@@ -0,0 +1,71 @@
+
+
+
+ net9.0-android;net9.0-ios;net9.0-maccatalyst
+ $(TargetFrameworks);net9.0-windows10.0.19041.0
+
+
+
+
+
+
+ Exe
+ SecretVaultApp
+ true
+ true
+ enable
+ enable
+
+
+ SecretVaultApp
+
+
+ com.companyname.secretvaultapp
+
+
+ 1.0
+ 1
+
+
+ None
+
+ 15.0
+ 15.0
+ 21.0
+ 10.0.17763.0
+ 10.0.17763.0
+ 6.5
+
+ Windows, macOS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/GlobalXmlns.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/GlobalXmlns.cs
new file mode 100644
index 0000000000000..e342fadeec59c
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/GlobalXmlns.cs
@@ -0,0 +1,2 @@
+[assembly: XmlnsDefinition("http://schemas.microsoft.com/dotnet/maui/global", "SecretVaultApp")]
+[assembly: XmlnsDefinition("http://schemas.microsoft.com/dotnet/maui/global", "SecretVaultApp.Pages")]
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml
new file mode 100644
index 0000000000000..4d357ee114f6b
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml.cs
new file mode 100644
index 0000000000000..daa14a6d171da
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MainPage.xaml.cs
@@ -0,0 +1,129 @@
+using Azure;
+using Azure.Identity;
+using Azure.Identity.Broker;
+using Azure.Security.KeyVault.Secrets;
+using System.Diagnostics;
+
+#if MACCATALYST
+using Foundation;
+using UIKit;
+#endif
+
+namespace SecretVaultApp;
+
+public partial class MainPage : ContentPage
+{
+ private const string KeyVaultUrl = "https://.vault.azure.net/";
+ private const string SecretName = "MySecret";
+
+ public MainPage()
+ {
+ InitializeComponent();
+ }
+
+ private async void OnRetrieveSecretClicked(object? sender, EventArgs e)
+ {
+ // Show loading indicator and hide previous results
+ LoadingIndicator.IsVisible = true;
+ LoadingIndicator.IsRunning = true;
+ ResultLabel.IsVisible = false;
+ ErrorLabel.IsVisible = false;
+ RetrieveSecretBtn.IsEnabled = false;
+
+ try
+ {
+#if WINDOWS
+ #region snippet_brokered_windows
+ // Get the parent window handle for MAUI on Windows
+ Microsoft.Maui.Controls.Window? parentWindow = this.GetParentWindow();
+ Microsoft.UI.Xaml.Window? windowHandle = parentWindow?.Handler?.PlatformView as Microsoft.UI.Xaml.Window;
+ IntPtr hwnd = windowHandle != null ? WinRT.Interop.WindowNative.GetWindowHandle(windowHandle) : IntPtr.Zero;
+
+ // Configure InteractiveBrowserCredentialBrokerOptions with parent window reference
+ InteractiveBrowserCredentialBrokerOptions options = new(hwnd)
+ {
+ UseDefaultBrokerAccount = true,
+ };
+
+ // Create credential that will use WAM broker on Windows
+ InteractiveBrowserCredential credential = new(options);
+
+ SecretClient client = new(new Uri(KeyVaultUrl), credential);
+ KeyVaultSecret secret = await client.GetSecretAsync(SecretName);
+ #endregion
+#elif MACCATALYST
+ #region snippet_brokered_macos
+ // Get the parent window handle for MAUI on Mac Catalyst
+ Microsoft.Maui.Controls.Window? parentWindow = this.GetParentWindow();
+ UIWindow? uiWindow = parentWindow?.Handler?.PlatformView as UIWindow;
+ IntPtr hwnd = uiWindow != null ? uiWindow.Handle : IntPtr.Zero;
+
+ // Configure InteractiveBrowserCredentialBrokerOptions with parent window reference
+ InteractiveBrowserCredentialBrokerOptions options = new(hwnd)
+ {
+ UseDefaultBrokerAccount = true,
+ };
+
+ // Create credential that will use the broker on macOS
+ InteractiveBrowserCredential credential = new(options);
+
+ SecretClient client = new(new Uri(KeyVaultUrl), credential);
+ KeyVaultSecret secret = await client.GetSecretAsync(SecretName);
+ #endregion
+#else
+ // For non-Windows and non-macOS platforms, use standard interactive browser credential
+ InteractiveBrowserCredential credential = new();
+
+ SecretClient client = new(new Uri(KeyVaultUrl), credential);
+ KeyVaultSecret secret = await client.GetSecretAsync(SecretName);
+#endif
+
+ // Display the secret value (in production, be careful about displaying secrets)
+ ResultLabel.Text = $"✅ Secret '{SecretName}' retrieved successfully!\n" +
+ $"🔑 Value: {secret.Value}\n" +
+ $"📅 Created: {secret.Properties.CreatedOn:yyyy-MM-dd HH:mm:ss}";
+ ResultLabel.IsVisible = true;
+
+ Debug.WriteLine($"Successfully retrieved secret: {SecretName}");
+ }
+ catch (RequestFailedException ex)
+ {
+ string errorMessage = ex.Status switch
+ {
+ 401 => "❌ Authentication failed. Please ensure you're signed in to Azure and have the correct permissions.",
+ 403 => "🚫 Access denied. Please check your Azure Key Vault access policies.",
+ 404 => $"🔍 Secret '{SecretName}' not found in the Key Vault. Please verify the secret name and Key Vault URL.",
+ _ => $"⚠️ Azure Key Vault error ({ex.Status}): {ex.Message}"
+ };
+
+ ErrorLabel.Text = errorMessage;
+ ErrorLabel.IsVisible = true;
+ Debug.WriteLine($"RequestFailedException: Status={ex.Status}, Message={ex.Message}");
+ }
+ catch (AuthenticationFailedException ex)
+ {
+ ErrorLabel.Text = $"🔐 Authentication failed: {ex.Message}\n\nPlease ensure you're signed in to Azure and try again.";
+ ErrorLabel.IsVisible = true;
+ Debug.WriteLine($"AuthenticationFailedException: {ex.Message}");
+ }
+ catch (UriFormatException)
+ {
+ ErrorLabel.Text = "🌐 Invalid Key Vault URL. Please update the KeyVaultUrl in the code with your actual Key Vault URL.";
+ ErrorLabel.IsVisible = true;
+ Debug.WriteLine("Invalid KeyVaultUrl format");
+ }
+ catch (Exception ex)
+ {
+ ErrorLabel.Text = $"💥 An unexpected error occurred: {ex.Message}";
+ ErrorLabel.IsVisible = true;
+ Debug.WriteLine($"Unexpected Exception: {ex.GetType().Name} - {ex.Message}");
+ }
+ finally
+ {
+ // Hide loading indicator and re-enable button
+ LoadingIndicator.IsVisible = false;
+ LoadingIndicator.IsRunning = false;
+ RetrieveSecretBtn.IsEnabled = true;
+ }
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/MauiProgram.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MauiProgram.cs
new file mode 100644
index 0000000000000..41e2ff9a36ee1
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/MauiProgram.cs
@@ -0,0 +1,24 @@
+using Microsoft.Extensions.Logging;
+
+namespace SecretVaultApp;
+
+public static class MauiProgram
+{
+ public static MauiApp CreateMauiApp()
+ {
+ var builder = MauiApp.CreateBuilder();
+ builder
+ .UseMauiApp()
+ .ConfigureFonts(fonts =>
+ {
+ fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
+ fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
+ });
+
+#if DEBUG
+ builder.Logging.AddDebug();
+#endif
+
+ return builder.Build();
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/AndroidManifest.xml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/AndroidManifest.xml
new file mode 100644
index 0000000000000..bdaef6f7f56e5
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainActivity.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainActivity.cs
new file mode 100644
index 0000000000000..e98b0e0adf9a0
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainActivity.cs
@@ -0,0 +1,10 @@
+using Android.App;
+using Android.Content.PM;
+using Android.OS;
+
+namespace SecretVaultApp;
+
+[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
+public class MainActivity : MauiAppCompatActivity
+{
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainApplication.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainApplication.cs
new file mode 100644
index 0000000000000..669e923ef58d0
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/MainApplication.cs
@@ -0,0 +1,15 @@
+using Android.App;
+using Android.Runtime;
+
+namespace SecretVaultApp;
+
+[Application]
+public class MainApplication : MauiApplication
+{
+ public MainApplication(IntPtr handle, JniHandleOwnership ownership)
+ : base(handle, ownership)
+ {
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/Resources/values/colors.xml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/Resources/values/colors.xml
new file mode 100644
index 0000000000000..c04d7492abf86
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Android/Resources/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #512BD4
+ #2B0B98
+ #2B0B98
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/AppDelegate.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/AppDelegate.cs
new file mode 100644
index 0000000000000..0e93cd419b2d5
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/AppDelegate.cs
@@ -0,0 +1,9 @@
+using Foundation;
+
+namespace SecretVaultApp;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Entitlements.plist b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Entitlements.plist
new file mode 100644
index 0000000000000..de4adc94a9c9e
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Entitlements.plist
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ com.apple.security.app-sandbox
+
+
+ com.apple.security.network.client
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Info.plist b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Info.plist
new file mode 100644
index 0000000000000..72689771518af
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Info.plist
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UIDeviceFamily
+
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Program.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Program.cs
new file mode 100644
index 0000000000000..4d121873e2b58
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/MacCatalyst/Program.cs
@@ -0,0 +1,15 @@
+using ObjCRuntime;
+using UIKit;
+
+namespace SecretVaultApp;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/Main.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/Main.cs
new file mode 100644
index 0000000000000..8ff8a09314095
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/Main.cs
@@ -0,0 +1,16 @@
+using System;
+using Microsoft.Maui;
+using Microsoft.Maui.Hosting;
+
+namespace SecretVaultApp;
+
+class Program : MauiApplication
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+
+ static void Main(string[] args)
+ {
+ var app = new Program();
+ app.Run(args);
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/tizen-manifest.xml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/tizen-manifest.xml
new file mode 100644
index 0000000000000..ea4c9bf9cc7dc
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Tizen/tizen-manifest.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ maui-appicon-placeholder
+
+
+
+
+ http://tizen.org/privilege/internet
+
+
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml
new file mode 100644
index 0000000000000..672ab15d6c34b
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml
@@ -0,0 +1,8 @@
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml.cs
new file mode 100644
index 0000000000000..c2a8e96a788ef
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/App.xaml.cs
@@ -0,0 +1,24 @@
+using Microsoft.UI.Xaml;
+
+// To learn more about WinUI, the WinUI project structure,
+// and more about our project templates, see: http://aka.ms/winui-project-info.
+
+namespace SecretVaultApp.WinUI;
+
+///
+/// Provides application-specific behavior to supplement the default Application class.
+///
+public partial class App : MauiWinUIApplication
+{
+ ///
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/Package.appxmanifest b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/Package.appxmanifest
new file mode 100644
index 0000000000000..66ec9393e3a85
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/Package.appxmanifest
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+ $placeholder$
+ User Name
+ $placeholder$.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/app.manifest b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/app.manifest
new file mode 100644
index 0000000000000..6aead720883c6
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/Windows/app.manifest
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+ true/PM
+ PerMonitorV2, PerMonitor
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/AppDelegate.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/AppDelegate.cs
new file mode 100644
index 0000000000000..0e93cd419b2d5
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/AppDelegate.cs
@@ -0,0 +1,9 @@
+using Foundation;
+
+namespace SecretVaultApp;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Info.plist b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Info.plist
new file mode 100644
index 0000000000000..0004a4fdee5d5
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ LSRequiresIPhoneOS
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Program.cs b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Program.cs
new file mode 100644
index 0000000000000..4d121873e2b58
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Program.cs
@@ -0,0 +1,15 @@
+using ObjCRuntime;
+using UIKit;
+
+namespace SecretVaultApp;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Resources/PrivacyInfo.xcprivacy b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Resources/PrivacyInfo.xcprivacy
new file mode 100644
index 0000000000000..24ab3b4334cba
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Platforms/iOS/Resources/PrivacyInfo.xcprivacy
@@ -0,0 +1,51 @@
+
+
+
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryDiskSpace
+ NSPrivacyAccessedAPITypeReasons
+
+ E174.1
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/Properties/launchSettings.json b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Properties/launchSettings.json
new file mode 100644
index 0000000000000..4f857936f4f51
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/Properties/launchSettings.json
@@ -0,0 +1,8 @@
+{
+ "profiles": {
+ "Windows Machine": {
+ "commandName": "Project",
+ "nativeDebugging": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Regular.ttf b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Regular.ttf
new file mode 100644
index 0000000000000..29bfd35a2bfdd
Binary files /dev/null and b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Regular.ttf differ
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Semibold.ttf b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Semibold.ttf
new file mode 100644
index 0000000000000..54e7059cf3635
Binary files /dev/null and b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Fonts/OpenSans-Semibold.ttf differ
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Raw/AboutAssets.txt b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Raw/AboutAssets.txt
new file mode 100644
index 0000000000000..89dc758d6e0d8
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Raw/AboutAssets.txt
@@ -0,0 +1,15 @@
+Any raw assets you want to be deployed with your application can be placed in
+this directory (and child directories). Deployment of the asset to your application
+is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
+
+
+
+These files will be deployed with your package and will be accessible using Essentials:
+
+ async Task LoadMauiAsset()
+ {
+ using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
+ using var reader = new StreamReader(stream);
+
+ var contents = reader.ReadToEnd();
+ }
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Colors.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Colors.xaml
new file mode 100644
index 0000000000000..30307a5ddc3b7
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Colors.xaml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ #512BD4
+ #ac99ea
+ #242424
+ #DFD8F7
+ #9880e5
+ #2B0B98
+
+ White
+ Black
+ #D600AA
+ #190649
+ #1f1f1f
+
+ #E1E1E1
+ #C8C8C8
+ #ACACAC
+ #919191
+ #6E6E6E
+ #404040
+ #212121
+ #141414
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Styles.xaml b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Styles.xaml
new file mode 100644
index 0000000000000..fdb0cd763c398
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/Styles/Styles.xaml
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/foreground.svg b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/foreground.svg
new file mode 100644
index 0000000000000..21dfb25f187b2
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/foreground.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/icon.svg b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/icon.svg
new file mode 100644
index 0000000000000..9d63b6513a1ce
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/app-icon/icon.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/images/dotnet.png b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/images/dotnet.png
new file mode 100644
index 0000000000000..1d1b981ee1ab5
Binary files /dev/null and b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/images/dotnet.png differ
diff --git a/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/splash/splash.svg b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/splash/splash.svg
new file mode 100644
index 0000000000000..21dfb25f187b2
--- /dev/null
+++ b/docs/azure/sdk/snippets/authentication/brokered/maui-app/resources/splash/splash.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj b/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj
index f51b57f425e2d..bd56ceda8a725 100644
--- a/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj
+++ b/docs/azure/sdk/snippets/unit-testing/UnitTestingSampleApp.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/azure/toc.yml b/docs/azure/toc.yml
index 876c05306f850..7e49ccf037b5f 100644
--- a/docs/azure/toc.yml
+++ b/docs/azure/toc.yml
@@ -78,6 +78,8 @@ items:
href: ./sdk/authentication/local-development-dev-accounts.md
- name: Use a service principal
href: ./sdk/authentication/local-development-service-principal.md
+ - name: Use a broker
+ href: ./sdk/authentication/local-development-broker.md
- name: Auth from Azure-hosted apps
items:
- name: Use a system-assigned managed identity
diff --git a/docs/core/compatibility/10.0.md b/docs/core/compatibility/10.0.md
index 414dd661513a5..971c193e7ea29 100644
--- a/docs/core/compatibility/10.0.md
+++ b/docs/core/compatibility/10.0.md
@@ -103,8 +103,9 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
| Title | Type of change | Introduced version |
|-------|-------------------|--------------------|
| [.NET CLI `--interactive` defaults to `true` in user scenarios](sdk/10.0/dotnet-cli-interactive.md) | Behavioral change | Preview 3 |
-| [.NET tool packaging invokes Publish instead of Build](sdk/10.0/dotnet-tool-pack-publish.md) | Behavioral change | Preview 6 |
+| [.NET tool packaging creates RuntimeIdentifier-specific tool packages](sdk/10.0/dotnet-tool-pack-publish.md) | Behavioral change | Preview 6 |
| [Default workload configuration from 'loose manifests' to 'workload sets' mode](sdk/10.0/default-workload-config.md) | Behavioral change | Preview 2 |
+| [`dotnet new sln` defaults to SLNX file format](sdk/10.0/dotnet-new-sln-slnx-default.md) | Behavioral change | RC 1 |
| [`dotnet package list` performs restore](sdk/10.0/dotnet-package-list-restore.md) | Behavioral change | Preview 4 |
| [`dotnet restore` audits transitive packages](sdk/10.0/nugetaudit-transitive-packages.md) | Behavioral change | Preview 3 |
| [project.json not supported in `dotnet restore`](sdk/10.0/dotnet-restore-project-json-unsupported.md) | Source incompatible | Preview 7 |
@@ -112,6 +113,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
| [MSBuild custom culture resource handling](sdk/10.0/msbuild-custom-culture.md) | Behavioral change | Preview 1 |
| [NU1510 is raised for direct references pruned by NuGet](sdk/10.0/nu1510-pruned-references.md) | Source incompatible | Preview 1 |
+| [NuGet packages with no runtime assets aren't included in deps.json](sdk/10.0/deps-json-trimmed-packages.md) | Source incompatible | Preview 5 |
| [PackageReference without a version raises an error](sdk/10.0/nu1015-packagereference-version.md) | Behavioral change | Preview 6 |
| [PrunePackageReference marks direct prunable references with PrivateAssets=all and IncludeAssets=none](sdk/10.0/prune-packagereference-privateassets.md) | Behavioral change | Preview 7 |
| [HTTP warnings promoted to errors in `dotnet package list` and `dotnet package search`](sdk/10.0/http-warnings-to-errors.md) | Behavioral/source incompatible change | Preview 4 |
diff --git a/docs/core/compatibility/sdk/10.0/deps-json-trimmed-packages.md b/docs/core/compatibility/sdk/10.0/deps-json-trimmed-packages.md
new file mode 100644
index 0000000000000..4bd5b9aea9977
--- /dev/null
+++ b/docs/core/compatibility/sdk/10.0/deps-json-trimmed-packages.md
@@ -0,0 +1,51 @@
+---
+title: "Breaking change: NuGet packages with no runtime assets aren't included in deps.json"
+description: "Learn about the breaking change in .NET 10 where NuGet packages that don't contribute runtime assets might be excluded from deps.json files."
+ms.date: 08/27/2025
+ai-usage: ai-assisted
+ms.custom: https://github.com/dotnet/docs/issues/48132
+---
+# NuGet packages with no runtime assets aren't included in deps.json
+
+NuGet packages or other libraries that don't contribute any runtime assets are now excluded from the deps.json file if removing them wouldn't cause dependency resolution issues.
+
+## Version introduced
+
+.NET 10 Preview 5
+
+## Previous behavior
+
+Previously, all referenced NuGet packages and projects were included in the deps.json file as library entries, even if there were no assets used from them.
+
+## New behavior
+
+NuGet packages or other libraries might be excluded from the deps.json file if:
+
+- They don't contribute any runtime assets, and
+- Removing the library from the deps.json would not cause any libraries that do contribute runtime assets to no longer have a dependency path to them.
+
+## Type of breaking change
+
+This change can affect [source compatibility](../../categories.md#source-compatibility).
+
+## Reason for change
+
+The deps.json file lists runtime dependencies and is used by the loader to load those dependencies. Some other tools also process the deps.json file. Including libraries that aren't actually used is less accurate and can lead to false positives for security scanners that use the deps.json file.
+
+## Recommended action
+
+To disable the new behavior, set the `TrimDepsJsonLibrariesWithoutAssets` MSBuild property to `false`:
+
+```xml
+
+ false
+
+```
+
+## Affected APIs
+
+None.
+
+## See also
+
+- [Pruning of framework-provided package references](../../../whats-new/dotnet-10/sdk.md#pruning-of-framework-provided-package-references)
diff --git a/docs/core/compatibility/sdk/10.0/dotnet-new-sln-slnx-default.md b/docs/core/compatibility/sdk/10.0/dotnet-new-sln-slnx-default.md
new file mode 100644
index 0000000000000..4c813a700b558
--- /dev/null
+++ b/docs/core/compatibility/sdk/10.0/dotnet-new-sln-slnx-default.md
@@ -0,0 +1,65 @@
+---
+title: "Breaking change - `dotnet new sln` defaults to SLNX file format"
+description: "Learn about the breaking change in .NET 10 where `dotnet new sln` creates SLNX-format solution files instead of SLN-format files."
+ms.date: 08/30/2025
+ai-usage: ai-assisted
+ms.custom: https://github.com/dotnet/docs/issues/48192
+---
+
+# `dotnet new sln` defaults to SLNX file format
+
+In .NET 10, `dotnet new sln` generates an [SLNX-format](https://devblogs.microsoft.com/visualstudio/new-simpler-solution-file-format/) solution file instead of an SLN-formatted solution file.
+
+## Version introduced
+
+.NET 10 RC 1
+
+## Previous behavior
+
+Previously, `dotnet new sln` created a SLN-format solution file similar to:
+
+```sln
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
+```
+
+## New behavior
+
+Starting in .NET 10, `dotnet new sln` creates a SLNX-format solution file similar to:
+
+```xml
+
+
+```
+
+## Type of breaking change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+The .NET SDK [added support for SLNX files](https://devblogs.microsoft.com/dotnet/introducing-slnx-support-dotnet-cli/) in version 9.0.200, and it's proven to be a stable, understandable format for developers. It's well-supported by all major .NET tooling and is much easier for developers to maintain. This breaking change aims to encourage the use of the SLNX format.
+
+## Recommended action
+
+If you desire an SLN-formatted solution file, pass the `--format sln` option to the command:
+
+`dotnet new sln --format sln`
+
+## Affected APIs
+
+None.
+
+## See also
+
+- [.NET default templates for dotnet new](../../../tools/dotnet-new-sdk-templates.md)
diff --git a/docs/core/compatibility/sdk/10.0/dotnet-tool-pack-publish.md b/docs/core/compatibility/sdk/10.0/dotnet-tool-pack-publish.md
index 6263d81483d88..6db7eca562eca 100644
--- a/docs/core/compatibility/sdk/10.0/dotnet-tool-pack-publish.md
+++ b/docs/core/compatibility/sdk/10.0/dotnet-tool-pack-publish.md
@@ -1,14 +1,15 @@
---
-title: "Breaking change: .NET tool packaging invokes Publish instead of Build"
-description: "Learn about the breaking change in the .NET 10 SDK where .NET tool packaging changed from invoking Build to Publish, affecting included assets."
+title: "Breaking change: .NET tool packaging might create RuntimeIdentifier-specific tool packages"
+description: "Learn about the breaking change in the .NET 10 SDK where .NET tool packaging might use RuntimeIdentifiers to create platform-specific tools"
ms.date: 08/11/2025
ai-usage: ai-assisted
ms.custom: https://github.com/dotnet/docs/issues/47916
---
-# .NET tool packaging invokes Publish instead of Build
+# .NET tool packaging creates RuntimeIdentifier-specific tool packages
-The .NET tool packaging process changed from invoking the MSBuild `Build` target to the `Publish` target (logically, not precisely). This means that assets that are included in `Publish` but not in `Build`, like WebSDK StaticWebAssets, now appear in tool packages by default. If you explicitly copied those files into place, you might begin to receive build diagnostics warning of duplicate copies.
+The .NET tool packaging process has changed when `RuntimeIdentifiers` are present in the project.
+Since the SDK now supports creating [platform-specific tools](https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview6/sdk.md#platform-specific-net-tools), `RuntimeIdentifiers` are used to determine the set of platforms for which to create tool packages.
## Version introduced
@@ -16,11 +17,11 @@ The .NET tool packaging process changed from invoking the MSBuild `Build` target
## Previous behavior
-Previously when you ran `dotnet pack` on a project with `PackAsTool` set to `true`, it invoked the `Build` target, and only `Build`-created assets were included in the package.
+Previously when you ran `dotnet pack` on a project with `PackAsTool` set to `true`, it ignored any `RuntimeIdentifiers`.
## New behavior
-Starting in .NET 10, the tool packaging process invokes the `Publish` target, which means `Publish`-created assets are included in the package. This includes StaticWebAssets and minified and trimmed application assets.
+Starting in .NET 10, `RuntimeIdentifiers` are used to determine the set of platforms for which to create tool packages.
## Type of breaking change
@@ -36,7 +37,7 @@ This change enables the creation of optimized, platform-specific .NET Tool packa
## Recommended action
-If your project is impacted, remove any explicit file copy customizations.
+If you want to create tools for only a subset of platforms, use `ToolPackageRuntimeIdentifiers`. If you want to disable RID-specific tool packages entirely, you should conditionally include or exclude the `RuntimeIdentifiers` property in your project file.
## Affected APIs
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 96ff8b33978a3..9a56a8726e7a3 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -110,7 +110,7 @@ items:
items:
- name: .NET CLI `--interactive` defaults to `true` in user scenarios
href: sdk/10.0/dotnet-cli-interactive.md
- - name: .NET tool packaging invokes Publish instead of Build
+ - name: .NET tool packaging creates RuntimeIdentifier-specific tool packages
href: sdk/10.0/dotnet-tool-pack-publish.md
- name: "`dotnet restore` audits transitive packages"
href: sdk/10.0/nugetaudit-transitive-packages.md
@@ -118,6 +118,8 @@ items:
href: sdk/10.0/dotnet-restore-project-json-unsupported.md
- name: Default workload configuration from 'loose manifests' to 'workload sets' mode
href: sdk/10.0/default-workload-config.md
+ - name: "`dotnet new sln` defaults to SLNX file format"
+ href: sdk/10.0/dotnet-new-sln-slnx-default.md
- name: "`dotnet package list` performs restore"
href: sdk/10.0/dotnet-package-list-restore.md
- name: MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed
@@ -126,6 +128,8 @@ items:
href: sdk/10.0/msbuild-custom-culture.md
- name: NU1510 is raised for direct references pruned by NuGet
href: sdk/10.0/nu1510-pruned-references.md
+ - name: NuGet packages with no runtime assets aren't included in deps.json
+ href: sdk/10.0/deps-json-trimmed-packages.md
- name: PackageReference without a version raises error
href: sdk/10.0/nu1015-packagereference-version.md
- name: PrunePackageReference marks direct prunable references with PrivateAssets=all and IncludeAssets=none
@@ -826,7 +830,7 @@ items:
href: core-libraries/6.0/system-drawing-common-windows-only.md
- name: System.Security.SecurityContext is marked obsolete
href: core-libraries/6.0/securitycontext-obsolete.md
- - name: Task.FromResult may return singleton
+ - name: Task.FromResult might return singleton
href: core-libraries/6.0/task-fromresult-returns-singleton.md
- name: Unhandled exceptions from a BackgroundService
href: core-libraries/6.0/hosting-exception-handling.md
diff --git a/docs/core/project-sdk/msbuild-props.md b/docs/core/project-sdk/msbuild-props.md
index f2923eeaca16d..c5af575a5b274 100644
--- a/docs/core/project-sdk/msbuild-props.md
+++ b/docs/core/project-sdk/msbuild-props.md
@@ -1445,7 +1445,7 @@ The following MSBuild properties are documented in this section:
Introduced in .NET 9, the `SdkAnalysisLevel` property can be used to configure how *strict* SDK tooling is. It helps you manage SDK warning levels in situations where you might not be able to pin SDKs via *global.json* or other means. You can use this property to tell a newer SDK to behave as if it were an older SDK, with regards to a specific tool or feature, without having to install the older SDK.
-The allowed values of this property are SDK feature bands, for example, 8.0.100 and 8.0.400. The value defaults to the SDK feature band of the running SDK. For example, for SDK 9.0.102, the value would be 9.0.100. (For information about how the .NET SDK is versioned, see [How .NET is versioned](../versions/index.md).)
+The allowed values of this property are SDK feature bands, for example, 8.0.100 and 8.0.400. The value defaults to the SDK feature band of the running SDK. For example, for SDK 9.0.102, the value to use is 9.0.100. (For information about how the .NET SDK is versioned, see [How .NET is versioned](../versions/index.md).)
```xml
@@ -1455,14 +1455,17 @@ The allowed values of this property are SDK feature bands, for example, 8.0.100
For more information, see [SDK Analysis Level Property and Usage](https://github.com/dotnet/designs/blob/main/proposed/sdk-analysis-level.md).
-The following table summarizes the diagnostics affected by `SDKAnalysisLevel`.
+The following table summarizes the diagnostics and behaviors affected by `SDKAnalysisLevel`.
-| SDKAnalysisLevel | Diagnostic | Previous | Current |
-|------------------------|-----------|--------|-------|
-| 9.0.100 | Restore HTTP sources diagnostic | [NU1803](/nuget/reference/errors-and-warnings/nu1803) warning | [NU1302](/nuget/reference/errors-and-warnings/nu1302) error. |
-| 10.0.100 | Restore package pruning, [PrunePackageReference](/nuget/consume-packages/package-references-in-project-files#prunepackagereference), enabled by default | N/A | Enabled for projects that target .NET 8+ or .NET Standard 2.0+ |
-| 10.0.100 | Restore resolver with lock files | Uses legacy dependency graph resolver (.NET 8 SDK and earlier) | Uses improved, [.NET 9 dependency graph resolver](/nuget/consume-packages/package-references-in-project-files#nuget-dependency-resolver) |
-| 10.0.100 | Restore behavior for PackageReference without a version | [NU1603](/nuget/reference/errors-and-warnings/nu1603) warning | [NU1015](/nuget/reference/errors-and-warnings/nu1015) error |
+| SDKAnalysisLevel | Description | Updated behavior |
+|------------------|---------------------------------|------------------|
+| 9.0.100 | Restore HTTP sources diagnostic | Emits [NU1302](/nuget/reference/errors-and-warnings/nu1302) error instead of [NU1803](/nuget/reference/errors-and-warnings/nu1803) warning. |
+| 10.0.100 | 'Restore' package pruning | [PrunePackageReference](/nuget/consume-packages/package-references-in-project-files#prunepackagereference) is enabled by default for projects that target .NET 8+ or .NET Standard 2.0+. |
+| 10.0.100 | 'Restore' resolver with lock files | Uses improved, [.NET 9 dependency graph resolver](/nuget/consume-packages/package-references-in-project-files#nuget-dependency-resolver) instead of legacy dependency graph resolver (.NET 8 SDK and earlier). |
+| 10.0.100 | 'Restore' behavior for PackageReference without a version | Emits [NU1015](/nuget/reference/errors-and-warnings/nu1015) error instead of [NU1603](/nuget/reference/errors-and-warnings/nu1603) warning. |
+
+> [!NOTE]
+> The behavior enabled by the `SdkAnalysisLevel` value ages out (expires) after three major releases. For example, version 11.0.100 only respects values down to 8.0.100. In version 12.0.100, features that could, in previous versions, be disabled by setting an `SdkAnalysisLevel` value of 8.0.100 would no longer be disabled.
## Microsoft.Testing.Platform–related properties
diff --git a/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj b/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj
index e5ee2a02c5832..21839291a78b2 100644
--- a/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj
+++ b/docs/core/testing/snippets/order-unit-tests/csharp/MSTest.Project/MSTest.Project.csproj
@@ -9,8 +9,8 @@
-
-
+
+ allruntime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj b/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
index c570539c44266..4d49bdf54a8b0 100644
--- a/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
+++ b/docs/core/testing/snippets/unit-testing-using-mstest/csharp/PrimeService.Tests/PrimeService.Tests.csproj
@@ -8,8 +8,8 @@
-
-
+
+ allruntime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/docs/core/testing/unit-testing-with-dotnet-test.md b/docs/core/testing/unit-testing-with-dotnet-test.md
index 44d6c1451d3c5..473c6a13363c0 100644
--- a/docs/core/testing/unit-testing-with-dotnet-test.md
+++ b/docs/core/testing/unit-testing-with-dotnet-test.md
@@ -127,7 +127,6 @@ For users of MTP that are using the VSTest mode of `dotnet test`, there are few
1. Remove `TestingPlatformDotnetTestSupport` MSBuild property, as it's no longer required.
1. Remove `TestingPlatformCaptureOutput` and `TestingPlatformShowTestsFailure` MSBuild properties, as they are no longer used by the new `dotnet test`.
1. Remove the extra `--`, for example `dotnet test -- --report-trx` should become `dotnet test --report-trx`.
-1. If passing a specific solution, for example, `dotnet test MySolution.sln`, this should become `dotnet test --solution MySolution.sln`.
-1. If passing a specific project, for example, `dotnet test MyProject.csproj`, this should become `dotnet test --project MyProject.csproj`.
-1. If passing a specific directory, for example, `dotnet test path/to/mydirectory`, this should become `dotnet test --directory path/to/mydirectory`
+1. If passing a specific solution (or directory containing solution), for example, `dotnet test MySolution.sln`, this should become `dotnet test --solution MySolution.sln`.
+1. If passing a specific project (or directory containing project), for example, `dotnet test MyProject.csproj`, this should become `dotnet test --project MyProject.csproj`.
1. If passing a specific dll, for example, `dotnet test path/to/UnitTests.dll`, this should become `dotnet test --test-modules path/to/UnitTests.dll`. Note that `--test-modules` also supports globbing.
diff --git a/docs/core/tools/dotnet-sln.md b/docs/core/tools/dotnet-sln.md
index 098939ca8264e..4c392953e883d 100644
--- a/docs/core/tools/dotnet-sln.md
+++ b/docs/core/tools/dotnet-sln.md
@@ -1,7 +1,7 @@
---
title: dotnet sln command
description: The dotnet-sln command provides a convenient option to add, remove, and list projects in a solution file.
-ms.date: 03/26/2025
+ms.date: 08/29/2025
---
# dotnet sln
@@ -27,24 +27,27 @@ The `dotnet sln` command provides a convenient way to list and modify projects i
To use the `dotnet sln` command, the solution file must already exist. If you need to create one, use the [dotnet new](dotnet-new.md) command with the `sln` template name.
-The following example creates a *.sln* file in the current folder, with the same name as the folder:
+The following example creates an *.slnx* file in the current folder, with the same name as the folder:
```dotnetcli
dotnet new sln
```
-The following example creates a *.sln* file in the current folder, with the specified file name:
+The following example creates an *.slnx* file in the current folder, with the specified file name:
```dotnetcli
dotnet new sln --name MySolution
```
-The following example creates a *.sln* file in the specified folder, with the same name as the folder:
+The following example creates an *.slnx* file in the specified folder, with the same name as the folder:
```dotnetcli
dotnet new sln --output MySolution
```
+> [!NOTE]
+> In .NET 9 and earlier versions, `dotnet new sln` creates an *.sln* file instead of an *.slnx* file.
+
## Arguments
- **`SOLUTION_FILE`**
diff --git a/docs/core/tutorials/snippets/library-with-visual-studio/csharp/StringLibraryTest/StringLibraryTest.csproj b/docs/core/tutorials/snippets/library-with-visual-studio/csharp/StringLibraryTest/StringLibraryTest.csproj
index 91326d2826074..5dfdd448b84fa 100644
--- a/docs/core/tutorials/snippets/library-with-visual-studio/csharp/StringLibraryTest/StringLibraryTest.csproj
+++ b/docs/core/tutorials/snippets/library-with-visual-studio/csharp/StringLibraryTest/StringLibraryTest.csproj
@@ -7,7 +7,7 @@
-
+ allruntime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/docs/core/tutorials/snippets/library-with-visual-studio/vb/StringLibraryTest/StringLibraryTest.vbproj b/docs/core/tutorials/snippets/library-with-visual-studio/vb/StringLibraryTest/StringLibraryTest.vbproj
index 54944724ba3c5..8571e213bd33e 100644
--- a/docs/core/tutorials/snippets/library-with-visual-studio/vb/StringLibraryTest/StringLibraryTest.vbproj
+++ b/docs/core/tutorials/snippets/library-with-visual-studio/vb/StringLibraryTest/StringLibraryTest.vbproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion-function.md b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion-function.md
index f9fad1da56fb9..8ac186acb1c6d 100644
--- a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion-function.md
+++ b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion-function.md
@@ -16,7 +16,7 @@ ms.assetid: 35c7a18f-133a-4584-bd25-bb338568b0c6
---
# CreateDebuggingInterfaceFromVersion function
-Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule function](createversionstringfrommodule-function.md), and returns a corresponding debugger interface (typically, [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md)).
+Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule function](createversionstringfrommodule-function.md), and returns a corresponding debugger interface (typically, [ICorDebug](./icordebug/icordebug-interface.md)).
## Syntax
@@ -33,12 +33,12 @@ HRESULT CreateDebuggingInterfaceFromVersion (
[in] Version string of the CLR in the target debuggee, which is returned by the [CreateVersionStringFromModule function](createversionstringfrommodule-function.md).
`ppCordb`\
- [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md) object before it is returned.
+ [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](./icordebug/icordebug-interface.md) object before it is returned.
## Return value
`S_OK`\
- `ppCordb` references a valid object that implements the [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md) interface.
+ `ppCordb` references a valid object that implements the [ICorDebug interface](./icordebug/icordebug-interface.md) interface.
`E_INVALIDARG`\
Either `szDebuggeeVersion` or `ppCordb` is null.
@@ -50,7 +50,7 @@ HRESULT CreateDebuggingInterfaceFromVersion (
Either mscordbi.dll or mscordaccore.dll is not the same version as the target CoreCLR.dll.
`E_FAIL` (or other `E_` return codes)\
- Unable to return an [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md).
+ Unable to return an [ICorDebug interface](./icordebug/icordebug-interface.md).
## Remarks
diff --git a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion2-function.md b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion2-function.md
index 658827175ee3a..65fde2e4bdc62 100644
--- a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion2-function.md
+++ b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion2-function.md
@@ -16,7 +16,7 @@ ms.assetid: 35c7a18f-133a-4584-bd25-bb338568b0c6
---
# CreateDebuggingInterfaceFromVersion2 function
-Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md)).
+Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](./icordebug/icordebug-interface.md)).
## Syntax
@@ -41,12 +41,12 @@ HRESULT CreateDebuggingInterfaceFromVersion2 (
[in] A string representing the application group ID of a sandboxed process running in macOS. Pass NULL if the process is not running in a sandbox on macOS or on other platforms.
`ppCordb`\
- [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md) object before it is returned.
+ [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](./icordebug/icordebug-interface.md) object before it is returned.
## Return value
`S_OK`\
- `ppCordb` references a valid object that implements the [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md) interface.
+ `ppCordb` references a valid object that implements the [ICorDebug interface](./icordebug/icordebug-interface.md) interface.
`E_INVALIDARG`\
Either `szDebuggeeVersion` or `ppCordb` is null.
@@ -58,7 +58,7 @@ HRESULT CreateDebuggingInterfaceFromVersion2 (
Either mscordbi.dll or mscordaccore.dll is not the same version as the target CoreCLR.dll.
`E_FAIL` (or other `E_` return codes)\
- Unable to return an [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md).
+ Unable to return an [ICorDebug interface](./icordebug/icordebug-interface.md).
## Remarks
diff --git a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion3-function.md b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion3-function.md
index 9edd7b960b39e..f6c12d0317aeb 100644
--- a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion3-function.md
+++ b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversion3-function.md
@@ -16,7 +16,7 @@ ms.assetid: 35c7a18f-133a-4584-bd25-bb338568b0c6
---
# CreateDebuggingInterfaceFromVersion3 function
-Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md)).
+Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](./icordebug/icordebug-interface.md)).
## Syntax
@@ -45,12 +45,12 @@ HRESULT CreateDebuggingInterfaceFromVersion3 (
[in] A callback interface instance for locating DBI and DAC. See [ICLRDebuggingLibraryProvider3](iclrdebugginglibraryprovider3-interface.md) interface.
`ppCordb`\
- [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md) object before it is returned.
+ [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](./icordebug/icordebug-interface.md) object before it is returned.
## Return value
`S_OK`\
- `ppCordb` references a valid object that implements the [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md) interface.
+ `ppCordb` references a valid object that implements the [ICorDebug interface](./icordebug/icordebug-interface.md) interface.
`E_INVALIDARG`\
Either `szDebuggeeVersion` or `ppCordb` is null.
@@ -62,7 +62,7 @@ HRESULT CreateDebuggingInterfaceFromVersion3 (
Either mscordbi.dll or mscordaccore.dll is not the same version as the target CoreCLR.dll.
`E_FAIL` (or other `E_` return codes)\
- Unable to return an [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md).
+ Unable to return an [ICorDebug interface](./icordebug/icordebug-interface.md).
## Remarks
diff --git a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversionex-function.md b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversionex-function.md
index 02bfb878d8713..7bf72e3691e26 100644
--- a/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversionex-function.md
+++ b/docs/core/unmanaged-api/debugging/createdebugginginterfacefromversionex-function.md
@@ -16,7 +16,7 @@ ms.assetid: 35c7a18f-133a-4584-bd25-bb338568b0c6
---
# CreateDebuggingInterfaceFromVersionEx function
-Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md)).
+Accepts a common language runtime (CLR) version string that is returned from the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function, and returns a corresponding debugger interface (typically, [ICorDebug](./icordebug/icordebug-interface.md)).
## Syntax
@@ -37,12 +37,12 @@ HRESULT CreateDebuggingInterfaceFromVersionEx (
[in] Version string of the CLR in the target debuggee, which is returned by the [CreateVersionStringFromModule](createversionstringfrommodule-function.md) function.
`ppCordb`\
- [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md) object before it is returned.
+ [out] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](./icordebug/icordebug-interface.md) object before it is returned.
## Return value
`S_OK`\
- `ppCordb` references a valid object that implements the [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md) interface.
+ `ppCordb` references a valid object that implements the [ICorDebug interface](./icordebug/icordebug-interface.md) interface.
`E_INVALIDARG`\
Either `szDebuggeeVersion` or `ppCordb` is null.
@@ -54,7 +54,7 @@ HRESULT CreateDebuggingInterfaceFromVersionEx (
Either mscordbi.dll or mscordaccore.dll is not the same version as the target CoreCLR.dll.
`E_FAIL` (or other `E_` return codes)\
- Unable to return an [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md).
+ Unable to return an [ICorDebug interface](./icordebug/icordebug-interface.md).
## Remarks
diff --git a/docs/core/unmanaged-api/debugging/icordebug/codechunkinfo-structure.md b/docs/core/unmanaged-api/debugging/icordebug/codechunkinfo-structure.md
new file mode 100644
index 0000000000000..e736e0480502f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/codechunkinfo-structure.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: CodeChunkInfo Structure"
+title: "CodeChunkInfo Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "CodeChunkInfo"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CodeChunkInfo"
+helpviewer_keywords:
+ - "CodeChunkInfo structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CodeChunkInfo Structure
+
+Represents a single chunk of code in memory.
+
+## Syntax
+
+```cpp
+typedef struct _CodeChunkInfo {
+ CORDB_ADDRESS startAddr;
+ ULONG32 length;
+} CodeChunkInfo;
+```
+
+## Members
+
+| Member | Description |
+|-------------|---------------------------------------------------------------------------|
+| `startAddr` | A `CORDB_ADDRESS` value that specifies the starting address of the chunk. |
+| `length` | The size, in bytes, of the chunk. |
+
+## Remarks
+
+ The single chunk of code is a region of native code that is part of a code object such as a function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [GetCodeChunks Method](icordebugcode2-getcodechunks-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-active-function-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-active-function-structure.md
new file mode 100644
index 0000000000000..5e2e5e13a3d18
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-active-function-structure.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: COR_ACTIVE_FUNCTION Structure"
+title: "COR_ACTIVE_FUNCTION Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_ACTIVE_FUNCTION"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_ACTIVE_FUNCTION"
+helpviewer_keywords:
+ - "COR_ACTIVE_FUNCTION structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_ACTIVE_FUNCTION Structure
+
+Contains information about the functions that are currently active in a thread's frames. This structure is used by the [ICorDebugThread2::GetActiveFunctions](icordebugthread2-getactivefunctions-method.md) method.
+
+## Syntax
+
+```cpp
+typedef struct _COR_ACTIVE_FUNCTION {
+ ICorDebugAppDomain *pAppDomain;
+ ICorDebugModule *pModule;
+ ICorDebugFunction2 *pFunction;
+ ULONG32 ilOffset;
+ ULONG32 flags;
+} COR_ACTIVE_FUNCTION;
+```
+
+## Members
+
+| Member | Description |
+|--------------|------------------------------------------------------------------|
+| `pAppDomain` | Pointer to the application domain owner of the `ilOffset` field. |
+| `pModule` | Pointer to the module owner of the `ilOffset` field. |
+| `pFunction` | Pointer to the function owner of the `ilOffset` field. |
+| `ilOffset` | The common intermediate language (CIL) offset of the frame. |
+| `flags` | Reserved for future extensibility. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-array-layout-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-array-layout-structure.md
new file mode 100644
index 0000000000000..5e5bc7cd98f5a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-array-layout-structure.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: COR_ARRAY_LAYOUT Structure"
+title: "COR_ARRAY_LAYOUT Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_ARRAY_LAYOUT"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_ARRAY_LAYOUT"
+helpviewer_keywords:
+ - "COR_DEBUG_IL_TO_NATIVE_MAP structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_ARRAY_LAYOUT Structure
+
+Provides information about the layout of an array object in memory.
+
+## Syntax
+
+```cpp
+typedef struct COR_ARRAY_LAYOUT {
+ COR_TYPEID componentID;
+ CorElementType componentType;
+ ULONG32 firstElementOffset;
+ ULONG32 elementSize;
+ ULONG32 countOffset;
+ ULONG32 rankSize;
+ ULONG32 numRanks;
+ ULONG32 rankOffset;
+} COR_ARRAY_LAYOUT;
+```
+
+## Members
+
+| Member | Description |
+|----------------------|----------------------------------------------------------------|
+| `componentID` | The identifier of the type of objects that the array contains. |
+| `componentType` | A CorElementType enumeration value that indicates whether the component is a garbage collection reference, a value class, or a primitive. |
+| `firstElementOffset` | The offset to the first element in the array. |
+| `elementSize` | The size of each element. |
+| `countOffset` | The offset to the number of elements in the array. |
+| `rankSize` | The size of the rank, in bytes. |
+| `numRanks` | The number of ranks in the array. |
+| `rankOffset` | The offset at which the ranks start. |
+
+## Remarks
+
+ The `rankSize` field specifies the size of a rank in a multi-dimensional array. It is accurate for single-dimensional arrays as well.
+
+ The value of `numRanks` is 1 for a single-dimensional array and `N` for a multi-dimensional array of `N` dimensions.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-debug-il-to-native-map-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-debug-il-to-native-map-structure.md
new file mode 100644
index 0000000000000..9eb4ffd97197c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-debug-il-to-native-map-structure.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: COR_DEBUG_IL_TO_NATIVE_MAP Structure"
+title: "COR_DEBUG_IL_TO_NATIVE_MAP Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_DEBUG_IL_TO_NATIVE_MAP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_DEBUG_IL_TO_NATIVE_MAP"
+helpviewer_keywords:
+ - "COR_DEBUG_IL_TO_NATIVE_MAP structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_DEBUG_IL_TO_NATIVE_MAP Structure
+
+Contains the offsets that are used to map common intermediate language (CIL) code to native code.
+
+## Syntax
+
+```cpp
+typedef struct COR_DEBUG_IL_TO_NATIVE_MAP {
+ ULONG32 ilOffset;
+ ULONG32 nativeStartOffset;
+ ULONG32 nativeEndOffset;
+} COR_DEBUG_IL_TO_NATIVE_MAP;
+```
+
+## Members
+
+| Member | Description |
+|---------------------|---------------------------------------------|
+| `ilOffset` | The offset of the CIL code. |
+| `nativeStartOffset` | The offset of the start of the native code. |
+| `nativeEndOffset` | The offset of the end of the native code. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorProf.idl, CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [GetILToNativeMapping Method](icordebugcode-getiltonativemapping-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-debug-step-range-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-debug-step-range-structure.md
new file mode 100644
index 0000000000000..4e608c264406e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-debug-step-range-structure.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: COR_DEBUG_STEP_RANGE Structure"
+title: "COR_DEBUG_STEP_RANGE Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_DEBUG_STEP_RANGE"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_DEBUG_STEP_RANGE"
+helpviewer_keywords:
+ - "COR_DEBUG_STEP_RANGE structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_DEBUG_STEP_RANGE Structure
+
+Contains the offset information for a range of code.
+
+This structure is used by the [ICorDebugStepper::StepRange](icordebugstepper-steprange-method.md) method.
+
+## Syntax
+
+```cpp
+typedef struct {
+ ULONG32 startOffset;
+ ULONG32 endOffset;
+} COR_DEBUG_STEP_RANGE;
+```
+
+## Members
+
+| Member | Description |
+|---------------|-------------------------------------------|
+| `startOffset` | The offset of the beginning of the range. |
+| `endOffset` | The offset of the end of the range. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [StepRange Method](icordebugstepper-steprange-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-field-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-field-structure.md
new file mode 100644
index 0000000000000..235f331af854a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-field-structure.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: COR_FIELD Structure"
+title: "COR_FIELD Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_FIELD"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_FIELD"
+helpviewer_keywords:
+ - "COR_FIELD structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_FIELD Structure
+
+Provides information about a field in an object.
+
+## Syntax
+
+```cpp
+typedef struct COR_FIELD{
+ mdFieldDef token;
+ ULONG32 offset;
+ COR_TYPEID id;
+ CorElementType fieldType;
+} COR_FIELD;
+```
+
+## Members
+
+| Member | Description |
+|-------------|---------------------------------------------------------------------------------------|
+| `token` | An `mdFieldDef` token that can be used to get field information. |
+| `offset` | The offset, in bytes, to the field data in the object. |
+| `id` | A [COR_TYPEID](cor-typeid-structure.md) value that identifies the type of this field. |
+| `fieldType` | A CorElementType enumeration value that indicates the type of the field. |
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-gc-reference-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-gc-reference-structure.md
new file mode 100644
index 0000000000000..6ffd1fe7d3892
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-gc-reference-structure.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: COR_GC_REFERENCE Structure"
+title: "COR_GC_REFERENCE Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_GC_REFERENCE"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_GC_REFERENCE"
+helpviewer_keywords:
+ - "COR_GC_REFERENCE structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_GC_REFERENCE Structure
+
+Contains information about an object that is to be garbage-collected.
+
+## Syntax
+
+```cpp
+typedef struct _COR_GC_REFERENCE {
+ ICorDebugAppDomain *domain;
+ ICorDebugValue *location;
+ CorGCReferenceType type;
+ UINT64 extraData;
+} COR_GC_REFERENCE;
+```
+
+## Members
+
+| Member | Description |
+|--------|-------------|
+| `domain` | A pointer to the application domain to which the handle or object belongs. Its value may be `null`. |
+|`location`|Either an ICorDebugValue or an ICorDebugReferenceValue interface that corresponds to the object to be garbage-collected.|
+|`type`|A [CorGCReferenceType](corgcreferencetype-enumeration.md) enumeration value that indicates where the root came from. For more information, see the Remarks section.|
+|`extraData`|Additional data about the object to be garbage-collected. This information depends on the source of the object, as indicated by the `type` field. For more information, see the Remarks section.|
+
+## Remarks
+
+The `type` field is a [CorGCReferenceType](corgcreferencetype-enumeration.md) enumeration value that indicates where the reference came from. A particular `COR_GC_REFERENCE` value can reflect any of the following kinds of managed objects:
+
+- Objects from all managed stacks (`CorGCReferenceType.CorReferenceStack`). This includes live references in managed code, as well as objects created by the common language runtime.
+- Objects from the handle table (`CorGCReferenceType.CorHandle*`). This includes strong references (`HNDTYPE_STRONG` and `HNDTYPE_REFCOUNT`) and static variables in a module.
+- Objects from the finalizer queue (`CorGCReferenceType.CorReferenceFinalizer`). The finalizer queue roots objects until the finalizer has run.
+
+The `extraData` field contains extra data depending on the source (or type) of the reference. Possible values are:
+
+- `DependentSource`. If the `type` is `CorGCReferenceType.CorHandleStrongDependent`, this field is the object that, if alive, roots the object to be garbage-collected at `COR_GC_REFERENCE.Location`.
+- `RefCount`. If the `type` is `CorGCReferenceType.CorHandleStrongRefCount`, this field is the reference count of the handle.
+- `Size`. If the `type` is `CorGCReferenceType.CorHandleStrongSizedByref`, this field is the last size of the object tree for which the garbage collector calculated the object roots. Note that this calculation is not necessarily up to date.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-heapinfo-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-heapinfo-structure.md
new file mode 100644
index 0000000000000..e044ed268746d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-heapinfo-structure.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: COR_HEAPINFO Structure"
+title: "COR_HEAPINFO Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_HEAPINFO"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_HEAPINFO"
+helpviewer_keywords:
+ - "COR_HEAPINFO structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_HEAPINFO Structure
+
+Provides general information about the garbage collection heap, including whether it is enumerable.
+
+## Syntax
+
+```cpp
+typedef struct _COR_HEAPINFO {
+ BOOL areGCStructuresValid;
+ DWORD pointerSize;
+ DWORD numHeaps;
+ BOOL concurrent;
+ CorDebugGCType gcType;
+} COR_HEAPINFO;
+```
+
+## Members
+
+| Member | Description |
+|------------------------|----------------------------------------------------------------|
+| `areGCStructuresValid` | `true` if garbage collection structures are valid and the heap can be enumerated; otherwise, `false`. |
+| `pointerSize` | The size, in bytes, of pointers on the target architecture. |
+| `numHeaps` | The number of logical garbage collection heaps in the process. |
+| `concurrent` | `true` if concurrent (background) garbage collection is enabled; otherwise, `false`. |
+| `gcType` | A member of the [CorDebugGCType](cordebuggctype-enumeration.md) enumeration that indicates whether the garbage collector is running on a workstation or a server. |
+
+## Remarks
+
+ An instance of the `COR_HEAPINFO` structure is returned by calling the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method.
+
+ Before enumerating objects on the garbage collection heap, you must always check the `areGCStructuresValid` field to ensure that the heap is in an enumerable state. For more information, see the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-heapobject-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-heapobject-structure.md
new file mode 100644
index 0000000000000..2017a5eafc0a6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-heapobject-structure.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: COR_HEAPOBJECT Structure"
+title: "COR_HEAPOBJECT Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_HEAPOBJECT"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_HEAPOBJECT"
+helpviewer_keywords:
+ - "COR_HEAPOBJECT structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_HEAPOBJECT Structure
+
+Provides information about an object on the managed heap.
+
+## Syntax
+
+```cpp
+typedef struct _COR_HEAPOBJECT {
+ CORDB_ADDRESS address;
+ ULONG64 size;
+ COR_TYPEID type;
+} COR_HEAPOBJECT;
+```
+
+## Members
+
+| Member | Description |
+|-----------|---------------------------------------------------------------------------------------|
+| `address` | The address of the object in memory. |
+| `size` | The total size of the object, in bytes. |
+| `type` | A [COR_TYPEID](cor-typeid-structure.md) token that represents the type of the object. |
+
+## Remarks
+
+ `COR_HEAPOBJECT` instances can be retrieved by enumerating an [ICorDebugHeapEnum](icordebugheapenum-interface.md) interface object that is populated by calling the [ICorDebugProcess5::EnumerateHeap](icordebugprocess5-enumerateheap-method.md) method.
+
+ A `COR_HEAPOBJECT` instance provides information either about a live object on the managed heap, or about an object that is not rooted by any object but has not yet been collected by the garbage collector.
+
+ For better performance, the `COR_HEAPOBJECT.address` field is a `CORDB_ADDRESS` value rather than the ICorDebugValue interface value used in much of the debugging API. To obtain an ICorDebugValue object for a given object address, you can pass the `CORDB_ADDRESS` value to the [ICorDebugProcess5::GetObject](icordebugprocess5-getobject-method.md) method.
+
+ For better performance, the `COR_HEAPOBJECT.type` field is a `COR_TYPEID` value rather than the ICorDebugType interface value used in much of the debugging API. To obtain an ICorDebugType object for a given type ID, you can pass the `COR_TYPEID` value to the [ICorDebugProcess5::GetTypeForTypeID](icordebugprocess5-gettypefortypeid-method.md) method.
+
+ The `COR_HEAPOBJECT` structure includes a reference-counted COM interface. If you retrieve a `COR_HEAPOBJECT` instance from the enumerator by calling the [ICorDebugHeapEnum::Next](icordebugheapenum-next-method.md) method, you must subsequently release the reference.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-il-map-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-il-map-structure.md
new file mode 100644
index 0000000000000..f1fe052e1429d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-il-map-structure.md
@@ -0,0 +1,76 @@
+---
+description: "Learn more about: COR_IL_MAP Structure"
+title: "COR_IL_MAP Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_IL_MAP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_IL_MAP"
+helpviewer_keywords:
+ - "COR_IL_MAP structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_IL_MAP Structure
+
+Specifies changes in the relative offset of a function.
+
+## Syntax
+
+```cpp
+typedef struct _COR_IL_MAP {
+ ULONG32 oldOffset;
+ ULONG32 newOffset;
+ BOOL fAccurate;
+} COR_IL_MAP;
+```
+
+## Members
+
+| Member | Description |
+|-------------|--------------------------------------------------------------------|
+| `oldOffset` | The old common intermediate language (CIL) offset relative to the beginning of the function. |
+| `newOffset` | The new CIL offset relative to the beginning of the function. |
+| `fAccurate` | `true` if the mapping is known to be accurate; otherwise, `false`. |
+
+## Remarks
+
+ The format of the map is as follows: The debugger will assume that `oldOffset` refers to an CIL offset within the original, unmodified CIL code. The `newOffset` parameter refers to the corresponding CIL offset within the new, instrumented code.
+
+ For stepping to work properly, the following requirements should be met:
+
+- The map should be sorted in ascending order.
+- Instrumented CIL code should not be reordered.
+- Original CIL code should not be removed.
+- The map should include entries to map all the sequence points from the program database (PDB) file.
+
+The map does not interpolate missing entries. The following example shows a map and its results.
+
+Map:
+
+- 0 old offset, 0 new offset
+- 5 old offset, 10 new offset
+- 9 old offset, 20 new offset
+
+Results:
+
+- An old offset of 0, 1, 2, 3, or 4 will be mapped to a new offset of 0.
+- An old offset of 5, 6, 7, or 8 will be mapped to new offset 10.
+- An old offset of 9 or higher will be mapped to new offset 20.
+- A new offset of 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9 will be mapped to old offset 0.
+- A new offset of 10, 11, 12, 13, 14, 15, 16, 17, 18, or 19 will be mapped to old offset 5.
+- A new offset of 20 or higher will be mapped to old offset 9.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorProf.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-pub-enumprocess-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cor-pub-enumprocess-enumeration.md
new file mode 100644
index 0000000000000..d8a1ec1011064
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-pub-enumprocess-enumeration.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: COR_PUB_ENUMPROCESS Enumeration"
+title: "COR_PUB_ENUMPROCESS Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_PUB_ENUMPROCESS"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_PUB_ENUMPROCESS"
+helpviewer_keywords:
+ - "COR_PUB_ENUMPROCESS enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_PUB_ENUMPROCESS Enumeration
+
+Identifies the type of process to be enumerated.
+
+## Syntax
+
+```cpp
+typedef enum {
+ COR_PUB_MANAGEDONLY = 0x00000001
+} COR_PUB_ENUMPROCESS;
+```
+
+## Members
+
+| Member name | Description |
+|-----------------------|--------------------|
+| `COR_PUB_MANAGEDONLY` | A managed process. |
+
+## Remarks
+
+ The current version of the unmanaged debugging API enumerates only managed processes.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorPub.idl, CorPub.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-segment-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-segment-structure.md
new file mode 100644
index 0000000000000..44cb607961d04
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-segment-structure.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: COR_SEGMENT Structure"
+title: "COR_SEGMENT Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_SEGMENT"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_SEGMENT"
+helpviewer_keywords:
+ - "COR_SEGMENT structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_SEGMENT Structure
+
+Contains information about a region of memory in the managed heap.
+
+## Syntax
+
+```cpp
+typedef struct _COR_SEGMENT {
+ CORDB_ADDRESS start;
+ CORDB_ADDRESS end;
+ CorDebugGenerationTypes gen;
+ ULONG heap;
+} COR_SEGMENT;
+```
+
+## Members
+
+| Member | Description |
+|---------|--------------------------------------------|
+| `start` | The starting address of the memory region. |
+| `end` | The ending address of the memory region. |
+| `gen` | A [CorDebugGenerationTypes](cordebuggenerationtypes-enumeration.md) enumeration member that indicates the generation of the memory region. |
+| `heap` | The heap number in which the memory region resides. See the Remarks section for more information. |
+
+## Remarks
+
+ The `COR_SEGMENTS` structure represents a region of memory in the managed heap. `COR_SEGMENTS` objects are members of the [ICorDebugHeapRegionEnum](icordebugheapsegmentenum-interface.md) collection object, which is populated by calling the [ICorDebugProcess5::EnumerateHeapRegions](icordebugprocess5-enumerateheapregions-method.md) method.
+
+ The `heap` field is the processor number, which corresponds to the heap being reported. For workstation garbage collectors, its value is always zero, because workstations have only one garbage collection heap. For server garbage collectors, its value corresponds to the processor the heap is attached to. Note that there may be more or fewer garbage collection heaps than there are actual processors due to the implementation details of the garbage collector.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/cor-type-layout-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-type-layout-structure.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/cor-type-layout-structure.md
rename to docs/core/unmanaged-api/debugging/icordebug/cor-type-layout-structure.md
index 2754edd5ccc6e..aa54cfea25614 100644
--- a/docs/framework/unmanaged-api/debugging/cor-type-layout-structure.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-type-layout-structure.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "COR_TYPE_LAYOUT"
helpviewer_keywords:
- - "COR_TYPE_LAYOUT structure [.NET Framework debugging]"
-ms.assetid: 43a7addd-f25a-4049-9907-abec3eb17af2
+ - "COR_TYPE_LAYOUT structure [.NET debugging]"
topic_type:
- "apiref"
---
@@ -48,15 +47,10 @@ typedef struct COR_TYPE_LAYOUT {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/cor-typeid-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-typeid-structure.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/cor-typeid-structure.md
rename to docs/core/unmanaged-api/debugging/icordebug/cor-typeid-structure.md
index 00fe87d8cf09e..2cd59db3830f4 100644
--- a/docs/framework/unmanaged-api/debugging/cor-typeid-structure.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-typeid-structure.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "COR_TYPEID"
helpviewer_keywords:
- - "COR_TYPEID structure [.NET Framework debugging]"
-ms.assetid: 1e172b14-ee22-4943-b3b8-3740e7bdcd2e
+ - "COR_TYPEID structure [.NET debugging]"
topic_type:
- "apiref"
---
@@ -31,10 +30,10 @@ typedef struct COR_TYPEID{
## Members
-|Member|Description|
-|------------|-----------------|
-|`token1`|The first token.|
-|`token2`|The second token.|
+| Member | Description |
+|----------|-------------------|
+| `token1` | The first token. |
+| `token2` | The second token. |
## Remarks
@@ -44,15 +43,10 @@ typedef struct COR_TYPEID{
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cor-version-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cor-version-structure.md
new file mode 100644
index 0000000000000..dbb34e9c816db
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cor-version-structure.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: COR_VERSION Structure"
+title: "COR_VERSION Structure"
+ms.date: "03/30/2017"
+api_name:
+ - "COR_VERSION"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "COR_VERSION"
+helpviewer_keywords:
+ - "COR_VERSION structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# COR_VERSION Structure
+
+Stores the standard four-part version number of the common language runtime.
+
+## Syntax
+
+```cpp
+typedef struct _COR_VERSION {
+ DWORD dwMajor;
+ DWORD dwMinor;
+ DWORD dwBuild;
+ DWORD dwSubBuild;
+} COR_VERSION;
+```
+
+## Members
+
+| Member | Description |
+|--------------|---------------------------|
+| `dwMajor` | The major version number. |
+| `dwMinor` | The minor version number. |
+| `dwBuild` | The build number. |
+| `dwSubBuild` | The sub-build number. |
+
+## Remarks
+
+ If the version number is 1.0.3705.288, 1 is the major version number, 0 is the minor version number, 3705 is the build number, and 288 is the sub-build number.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugblockingobject-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugblockingobject-structure.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/cordebugblockingobject-structure.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugblockingobject-structure.md
index 5522bfe5ef8b7..87c8c96e88b9a 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugblockingobject-structure.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugblockingobject-structure.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugBlockingObject"
helpviewer_keywords:
- - "CorDebugBlockingObject structure [.NET Framework debugging]"
-ms.assetid: 5944edd1-0914-4efa-aba0-d5a277c38b1a
+ - "CorDebugBlockingObject structure [.NET debugging]"
topic_type:
- "apiref"
---
@@ -43,15 +42,10 @@ CorDebugBlockingReason blockingReason;
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugblockingreason-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugblockingreason-enumeration.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/cordebugblockingreason-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugblockingreason-enumeration.md
index f4af20f12b507..00ea6b179bbd9 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugblockingreason-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugblockingreason-enumeration.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugBlockingReason"
helpviewer_keywords:
- - "CorDebugBlockingReason enumeration [.NET Framework debugging]"
-ms.assetid: a6ac2531-ddfe-46fd-88fe-8b1eabe0b255
+ - "CorDebugBlockingReason enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -33,9 +32,9 @@ Typedef enum CorDebugBlockingReason
## Members
-|Member|Description|
-|------------|-----------------|
-|`BLOCKING_NONE`|Internal use only.|
+| Member | Description |
+|-----------------|--------------------|
+| `BLOCKING_NONE` | Internal use only. |
|`BLOCKING_MONITOR_CRITICAL_SECTION`|A thread is trying to acquire the critical section that is associated with the monitor lock on an object. Typically, this occurs when you call one of the or methods.|
|`BLOCKING_MONITOR_EVENT`|A thread is waiting on the event that is associated with a monitor lock for an object. Typically, this occurs when you call one of the `Wait` methods.|
@@ -45,15 +44,10 @@ Typedef enum CorDebugBlockingReason
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugchainreason-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugchainreason-enumeration.md
new file mode 100644
index 0000000000000..5816876b7d9c5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugchainreason-enumeration.md
@@ -0,0 +1,72 @@
+---
+description: "Learn more about: CorDebugChainReason Enumeration"
+title: "CorDebugChainReason Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugChainReason"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugChainReason"
+helpviewer_keywords:
+ - "CorDebugChainReason enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugChainReason Enumeration
+
+Indicates the reason or reasons for the initiation of a call chain.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugChainReason {
+ CHAIN_NONE = 0x000,
+ CHAIN_CLASS_INIT = 0x001,
+ CHAIN_EXCEPTION_FILTER = 0x002,
+ CHAIN_SECURITY = 0x004,
+ CHAIN_CONTEXT_POLICY = 0x008,
+ CHAIN_INTERCEPTION = 0x010,
+ CHAIN_PROCESS_START = 0x020,
+ CHAIN_THREAD_START = 0x040,
+ CHAIN_ENTER_MANAGED = 0x080,
+ CHAIN_ENTER_UNMANAGED = 0x100,
+ CHAIN_DEBUGGER_EVAL = 0x200,
+ CHAIN_CONTEXT_SWITCH = 0x400,
+ CHAIN_FUNC_EVAL = 0x800
+} CorDebugChainReason;
+```
+
+## Members
+
+| Member | Description |
+|--------------------------|-------------------------------------------------------------|
+| `CHAIN_NONE` | No call chain has been initiated. |
+| `CHAIN_CLASS_INIT` | The chain was initiated by a constructor. |
+| `CHAIN_EXCEPTION_FILTER` | The chain was initiated by an exception filter. |
+| `CHAIN_SECURITY` | The chain was initiated by code that enforces security. |
+| `CHAIN_CONTEXT_POLICY` | The chain was initiated by a context policy. |
+| `CHAIN_INTERCEPTION` | Not used. |
+| `CHAIN_PROCESS_START` | Not used. |
+| `CHAIN_THREAD_START` | The chain was initiated by the start of a thread execution. |
+| `CHAIN_ENTER_MANAGED` | The chain was initiated by entry into managed code. |
+| `CHAIN_ENTER_UNMANAGED` | The chain was initiated by entry into unmanaged code. |
+| `CHAIN_DEBUGGER_EVAL` | Not used. |
+| `CHAIN_CONTEXT_SWITCH` | Not used. |
+| `CHAIN_FUNC_EVAL` | The chain was initiated by a function evaluation. |
+
+## Remarks
+
+ Use the [ICorDebugChain::GetReason](icordebugchain-getreason-method.md) method to ascertain the reasons for the initiation of a call chain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokekind-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokekind-enumeration.md
new file mode 100644
index 0000000000000..d670446a5bd00
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokekind-enumeration.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: CorDebugCodeInvokeKind Enumeration"
+title: "CorDebugCodeInvokeKind Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugCodeInvokeKind"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# CorDebugCodeInvokeKind Enumeration
+
+Describes how an exported function invokes managed code.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugCodeInvokeKind
+{
+ CODE_INVOKE_KIND_NONE,
+ CODE_INVOKE_KIND_RETURN,
+ CODE_INVOKE_KIND_TAILCALL,
+} CorDebugCodeInvokeKind;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`CODE_INVOKE_KIND_NONE`|If any managed code is invoked by this method, it will have to be located by explicit events or breakpoints later.
--or--
We may just miss some of the managed code this method calls because there is no easy way to stop on it.
--or--
The method may never invoke managed code.|
+|`CODE_INVOKE_KIND_RETURN`|This method will invoke managed code via a return instruction. Stepping out should arrive at the next managed code.|
+|`CODE_INVOKE_KIND_TAILCALL`|This method will invoke managed code via a tail-call. Single-stepping and stepping over any call instructions should arrive at managed code.|
+
+## Remarks
+
+This enumeration is used by the [ICorDebugProcess6::GetExportStepInfo](icordebugprocess6-getexportstepinfo-method.md) method to provide information about stepping through managed code.
+
+> [!NOTE]
+> This enumeration is intended for use in .NET Native debugging scenarios only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/cordebugcodeinvokepurpose-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokepurpose-enumeration.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/cordebugcodeinvokepurpose-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokepurpose-enumeration.md
index 94e0fc7f220a1..1459b6b9b88d3 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugcodeinvokepurpose-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugcodeinvokepurpose-enumeration.md
@@ -8,7 +8,6 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: 31833a2d-a0d6-48a1-b05f-995ca307a08f
topic_type:
- "apiref"
---
@@ -30,9 +29,9 @@ typedef enum CorDebugCodeInvokePurpose
## Members
-|Member|Description|
-|------------|-----------------|
-|`CODE_INVOKE_PURPOSE_NONE`|None or unknown.|
+| Member | Description |
+|----------------------------|------------------|
+| `CODE_INVOKE_PURPOSE_NONE` | None or unknown. |
|`CODE_INVOKE_PURPOSE_NATIVE_TO_MANAGED_TRANSITION`|The managed code will run any managed entry point, such as a reverse p-invoke. Any more detailed purpose is unknown by the runtime.|
|`CODE_INVOKE_PURPOSE_CLASS_INIT`|The managed code will run a static constructor.|
|`CODE_INVOKE_PURPOSE_INTERFACE_DISPATCH`|The managed code will run the implementation for some interface method that was called.|
@@ -46,15 +45,10 @@ typedef enum CorDebugCodeInvokePurpose
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugcreateprocessflags-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugcreateprocessflags-enumeration.md
new file mode 100644
index 0000000000000..17a43ac4d2e55
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugcreateprocessflags-enumeration.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: CorDebugCreateProcessFlags Enumeration"
+title: "CorDebugCreateProcessFlags Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugCreateProcessFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugCreateProcessFlags"
+helpviewer_keywords:
+ - "CorDebugCreateProcessFlags enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugCreateProcessFlags Enumeration
+
+Provides additional debugging options that can be used in a call to the [ICorDebug::CreateProcess](icordebug-createprocess-method.md) method.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugCreateProcessFlags {
+ DEBUG_NO_SPECIAL_OPTIONS = 0x0000
+} CorDebugCreateProcessFlags;
+```
+
+## Members
+
+| Member | Description |
+|----------------------------|-----------------------------|
+| `DEBUG_NO_SPECIAL_OPTIONS` | No special options are set. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugdebugeventkind-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugdebugeventkind-enumeration.md
new file mode 100644
index 0000000000000..9d15624d41439
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugdebugeventkind-enumeration.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: CorDebugDebugEventKind Enumeration"
+title: "CorDebugDebugEventKind Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugDebugEventKind"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# CorDebugDebugEventKind Enumeration
+
+Indicates the type of event whose information is decoded by the [DecodeEvent](icordebugprocess6-decodeevent-method.md) method.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugDebugEventKind {
+ DEBUG_EVENT_KIND_MODULE_LOADED = 1,
+ DEBUG_EVENT_KIND_MODULE_UNLOADED = 2,
+ DEBUG_EVENT_KIND_MANAGED_EXCEPTION_FIRST_CHANCE = 3,
+ DEBUG_EVENT_KIND_MANAGED_EXCEPTION_USER_FIRST_CHANCE = 4,
+ DEBUG_EVENT_KIND_MANAGED_EXCEPTION_CATCH_HANDLER_FOUND = 5,
+ DEBUG_EVENT_KIND_MANAGED_EXCEPTION_UNHANDLED = 6
+} CorDebugRecordFormat;
+```
+
+## Members
+
+| Member | Description |
+|--------------------------------------------------------|--------------------------------|
+| `DEBUG_EVENT_KIND_MODULE_LOADED` | A module load event. |
+| `DEBUG_EVENT_KIND_MODULE_UNLOADED` | A module unload event. |
+| `DEBUG_EVENT_KIND_MANAGED_EXCEPTION_FIRST_CHANCE` | A first-chance exception. |
+| `DEBUG_EVENT_KIND_MANAGED_EXCEPTION_USER_FIRST_CHANCE` | A first-chance user exception. |
+|`DEBUG_EVENT_KIND_MANAGED_EXCEPTION_CATCH_HANDLER_FOUND`|An exception for which a `catch` handler exists.|
+|`DEBUG_EVENT_KIND_MANAGED_EXCEPTION_UNHANDLED`|An unhandled exception.|
+
+## Remarks
+
+ A member of the `CorDebugDebugEventKind` enumeration is returned by calling the [ICorDebugDebugEvent::GetEventKind](icordebugdebugevent-geteventkind-method.md) method.
+
+> [!NOTE]
+> This enumeration is intended for use in .NET Native debugging scenarios only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugdecodeeventflagswindows-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugdecodeeventflagswindows-enumeration.md
new file mode 100644
index 0000000000000..7bb3ecf09e4bd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugdecodeeventflagswindows-enumeration.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: CorDebugDecodeEventFlagsWindows Enumeration"
+title: "CorDebugDecodeEventFlagsWindows Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugDecodeEventFlagsWindows"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# CorDebugDecodeEventFlagsWindows Enumeration
+
+Provides additional information about debug events on the Windows platform.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugDecodeEventFlagsWindows {
+ IS_FIRST_CHANCE = 1,
+} CorDebugDecodeEventFlagsWindows;
+```
+
+## Members
+
+| Member | Description |
+|-------------------|-------------------------------------------------------------|
+| `IS_FIRST_CHANCE` | Indicates that the debug event is a first-chance exception. |
+
+## Remarks
+
+ The [ICorDebugProcess6::DecodeEvent](icordebugprocess6-decodeevent-method.md) method includes a `dwFlags` parameter that provides additional information about a debug event and whose value is dependent on the target architecture. The `CorDebugDecodeEventFlagsWindows` enumeration can be used with debug events on the Windows platform.
+
+> [!NOTE]
+> This enumeration is intended for use in .NET Native debugging scenarios only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/cordebugehclause-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugehclause-structure.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/cordebugehclause-structure.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugehclause-structure.md
index 721f3f3353802..1c9ee884d7af0 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugehclause-structure.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugehclause-structure.md
@@ -10,15 +10,12 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: 0e350a1b-6997-46d0-bfc5-962a5011ef43
topic_type:
- "apiref"
---
# CorDebugEHClause Structure
-[Supported in the .NET Framework 4.5.2 and later versions]
-
- Represents an exception handling (EH) clause for a given piece of intermediate language (IL) code.
+Represents an exception handling (EH) clause for a given piece of intermediate language (IL) code.
## Syntax
@@ -63,15 +60,14 @@ typedef struct _CorDebugEHClause {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v452plus](../../../../includes/net-current-v452plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5.2
## See also
- [GetEHClauses Method](icordebugilcode-getehclauses-method.md)
-- [Debugging Structures](debugging-structures.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptioncallbacktype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptioncallbacktype-enumeration.md
new file mode 100644
index 0000000000000..906c9c5cd8871
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptioncallbacktype-enumeration.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: CorDebugExceptionCallbackType Enumeration"
+title: "CorDebugExceptionCallbackType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugExceptionCallbackType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugExceptionCallbackType"
+helpviewer_keywords:
+ - "CorDebugExceptionCallbackType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugExceptionCallbackType Enumeration
+
+Indicates the type of callback that is made from an [ICorDebugManagedCallback2::Exception](icordebugmanagedcallback2-exception-method.md) event.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugExceptionCallbackType {
+ DEBUG_EXCEPTION_FIRST_CHANCE = 1,
+ DEBUG_EXCEPTION_USER_FIRST_CHANCE = 2,
+ DEBUG_EXCEPTION_CATCH_HANDLER_FOUND = 3,
+ DEBUG_EXCEPTION_UNHANDLED = 4
+} CorDebugExceptionCallbackType;
+```
+
+## Members
+
+| Member | Description |
+|-------------------------------------|-------------------------------------------------|
+| `DEBUG_EXCEPTION_FIRST_CHANCE` | An exception was thrown. |
+| `DEBUG_EXCEPTION_USER_FIRST_CHANCE` | The exception windup process entered user code. |
+| `DEBUG_EXCEPTION_CATCH_HANDLER_FOUND` | The exception windup process found a `catch` block in user code. |
+| `DEBUG_EXCEPTION_UNHANDLED` | The exception was not handled. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionflags-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionflags-enumeration.md
new file mode 100644
index 0000000000000..408600355fcce
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionflags-enumeration.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: CorDebugExceptionFlags Enumeration"
+title: "CorDebugExceptionFlags Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugExceptionFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugExceptionFlags"
+helpviewer_keywords:
+ - "CorDebugExceptionFlags enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugExceptionFlags Enumeration
+
+Provides additional information about an exception.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugExceptionFlags {
+ DEBUG_EXCEPTION_NONE = 0,
+ DEBUG_EXCEPTION_CAN_BE_INTERCEPTED = 0x0001
+} CorDebugExceptionFlags;
+```
+
+## Members
+
+| Member | Description |
+|------------------------|------------------------|
+| `DEBUG_EXCEPTION_NONE` | There is no exception. |
+|`DEBUG_EXCEPTION_CAN_BE_INTERCEPTED`|The exception is interceptable.
The timing of the exception may still be such that the debugger cannot intercept it. For example, if there is no managed code below the current callback or the exception event resulted from a just-in-time (JIT) attachment, the exception cannot be intercepted.|
+
+## Remarks
+
+ New values may be added to this enumeration in later versions, so you should prepare code that uses `CorDebugExceptionFlags` for unexpected values.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugexceptionobjectstackframe-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionobjectstackframe-structure.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/cordebugexceptionobjectstackframe-structure.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionobjectstackframe-structure.md
index d0032684aac99..41c857c4ce624 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugexceptionobjectstackframe-structure.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionobjectstackframe-structure.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugExceptionObjectStackFrame"
helpviewer_keywords:
- - "CorDebugExceptionObjectStackFrame structure [.NET Framework debugging]"
-ms.assetid: 542cdd81-5ae7-4361-b0ef-1ae4775df258
+ - "CorDebugExceptionObjectStackFrame structure [.NET debugging]"
topic_type:
- "apiref"
---
@@ -46,15 +45,10 @@ typedef struct CorDebugExceptionObjectStackFrame {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionunwindcallbacktype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionunwindcallbacktype-enumeration.md
new file mode 100644
index 0000000000000..2745465b88edd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugexceptionunwindcallbacktype-enumeration.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: CorDebugExceptionUnwindCallbackType Enumeration"
+title: "CorDebugExceptionUnwindCallbackType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugExceptionUnwindCallbackType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugExceptionUnwindCallbackType"
+helpviewer_keywords:
+ - "CorDebugExceptionUnwindCallbackType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugExceptionUnwindCallbackType Enumeration
+
+Indicates the event that is being signaled by the callback during the unwind phase.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugExceptionUnwindCallbackType {
+ DEBUG_EXCEPTION_UNWIND_BEGIN = 1,
+ DEBUG_EXCEPTION_INTERCEPTED = 2
+} CorDebugExceptionUnwindCallbackType;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`DEBUG_EXCEPTION_UNWIND_BEGIN`|The beginning of the unwind process.|
+|`DEBUG_EXCEPTION_INTERCEPTED`|The exception was intercepted.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebuggctype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebuggctype-enumeration.md
new file mode 100644
index 0000000000000..27f2d5db522c6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebuggctype-enumeration.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: CorDebugGCType Enumeration"
+title: "CorDebugGCType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugGCType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugGCType"
+helpviewer_keywords:
+ - "CorDebugGCType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugGCType Enumeration
+
+Indicates whether the garbage collector is running on a workstation or a server.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugGCType {
+ CorDebugWorkstationGC = 0,
+ CorDebugServerGC = ( CorDebugWorkstationGC + 1 )
+} CorDebugGCType;
+```
+
+## Parameters
+
+## Members
+
+|Member name|Description|
+|-----------------|-----------------|
+|`CorDebugWorkstationGC`|The garbage collector is running on a workstation.|
+|`CorDebugServerGC`|The garbage collector is running on a server.|
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebuggenerationtypes-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebuggenerationtypes-enumeration.md
new file mode 100644
index 0000000000000..a6238c7c9f166
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebuggenerationtypes-enumeration.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: CorDebugGenerationTypes Enumeration"
+title: "CorDebugGenerationTypes Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugGenerationTypes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugGenerationTypes"
+helpviewer_keywords:
+ - "CorDebugGenerationTypes enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugGenerationTypes Enumeration
+
+Specifies the generation of a region of memory on the managed heap.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugGenerationTypes {
+ CorDebug_Gen0 = 0,
+ CorDebug_Gen1 = 1,
+ CorDebug_Gen2 = 2,
+ CorDebug_LOH = 3,
+} CorDebugRegionTypes;
+```
+
+## Members
+
+|Member name|Description|
+|-----------------|-----------------|
+|`CorDebug_Gen0`|Generation 0.|
+|`CorDebug_Gen1`|Generation 1.|
+|`CorDebug_Gen2`|Generation 2.|
+|`CorDebug_LOH`|The large object heap.|
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugguidtotypemapping-structure.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugguidtotypemapping-structure.md
new file mode 100644
index 0000000000000..d2b8b0b74095e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugguidtotypemapping-structure.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: CorDebugGuidToTypeMapping Structure"
+title: "CorDebugGuidToTypeMapping Structure"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "CorDebugGuidToTypeMapping"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugGuidToTypeMapping"
+helpviewer_keywords:
+ - "CorDebugGuidToTypeMapping structure [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugGuidToTypeMapping Structure
+
+Maps a Windows Runtime GUID to its corresponding ICorDebugType object.
+
+## Syntax
+
+```cpp
+typedef struct CorDebugGuidToTypeMapping {
+ GUID iid;
+ ICorDebugType *pType;
+} CorDebugGuidToTypeMapping;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`iid`|The GUID of the cached Windows Runtime type.|
+|`pType`|A pointer to an ICorDebugType object that provides information about the cached type.|
+
+## Requirements
+
+ **Platforms:** Windows Runtime.
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebughandletype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebughandletype-enumeration.md
new file mode 100644
index 0000000000000..981f166deb955
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebughandletype-enumeration.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: CorDebugHandleType Enumeration"
+title: "CorDebugHandleType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugHandleType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugHandleType"
+helpviewer_keywords:
+ - "CorDebugHandleType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugHandleType Enumeration
+
+Indicates the handle type.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugHandleType {
+ HANDLE_STRONG = 1,
+ HANDLE_WEAK_TRACK_RESURRECTION = 2
+} CorDebugHandleType;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`HANDLE_STRONG`|The handle is strong, which prevents an object from being reclaimed by garbage collection.|
+|`HANDLE_WEAK_TRACK_RESURRECTION`|The handle is weak, which does not prevent an object from being reclaimed by garbage collection.
The handle becomes invalid when the object is collected.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugiltonativemappingtypes-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugiltonativemappingtypes-enumeration.md
new file mode 100644
index 0000000000000..5fd03bc9b95fb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugiltonativemappingtypes-enumeration.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: CorDebugIlToNativeMappingTypes Enumeration"
+title: "CorDebugIlToNativeMappingTypes Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugIlToNativeMappingTypes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugIlToNativeMappingTypes"
+helpviewer_keywords:
+ - "CorDebugIIToNativeMappingTypes enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugIlToNativeMappingTypes Enumeration
+
+Indicates whether a particular range of native instructions, represented by an instance of the COR_DEBUG_IL_TO_NATIVE_MAP structure, corresponds to a special code region.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugIlToNativeMappingTypes {
+ NO_MAPPING = -1,
+ PROLOG = -2,
+ EPILOG = -3
+} CorDebugIlToNativeMappingTypes;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`NO_MAPPING`|The range of native instructions does not correspond to any special code region.|
+|`PROLOG`|The range of native instructions corresponds to the prolog.|
+|`EPILOG`|The range of native instructions corresponds to the epilog.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [GetILToNativeMapping Method](icordebugcode-getiltonativemapping-method.md)
diff --git a/docs/framework/unmanaged-api/debugging/cordebugintercept-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugintercept-enumeration.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/cordebugintercept-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugintercept-enumeration.md
index d8230081941e7..1e1930a75cb46 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugintercept-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugintercept-enumeration.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugIntercept"
helpviewer_keywords:
- - "CorDebugIntercept enumeration [.NET Framework debugging]"
-ms.assetid: 3d5b642e-7ef2-428b-a5ae-509c35ed461a
+ - "CorDebugIntercept enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -52,14 +51,10 @@ typedef enum CorDebugIntercept {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebuginterfaceversion-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebuginterfaceversion-enumeration.md
new file mode 100644
index 0000000000000..93e3b3f7f3ee5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebuginterfaceversion-enumeration.md
@@ -0,0 +1,244 @@
+---
+description: "Learn more about: CorDebugInterfaceVersion Enumeration"
+title: "CorDebugInterfaceVersion Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugInterfaceVersion"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugInterfaceVersion"
+helpviewer_keywords:
+ - "CorDebugInterfaceVersion enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugInterfaceVersion Enumeration
+
+Specifies an interface, a version of .NET, or a version of .NET in which an interface was introduced.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugInterfaceVersion {
+
+ CorDebugInvalidVersion = 0,
+ CorDebugVersion_1_0 = CorDebugInvalidVersion + 1,
+
+ ver_ICorDebugManagedCallback = CorDebugVersion_1_0,
+ ver_ICorDebugUnmanagedCallback = CorDebugVersion_1_0,
+ ver_ICorDebug = CorDebugVersion_1_0,
+ ver_ICorDebugController = CorDebugVersion_1_0,
+ ver_ICorDebugAppDomain = CorDebugVersion_1_0,
+ ver_ICorDebugAssembly = CorDebugVersion_1_0,
+ ver_ICorDebugProcess = CorDebugVersion_1_0,
+ ver_ICorDebugBreakpoint = CorDebugVersion_1_0,
+ ver_ICorDebugFunctionBreakpoint = CorDebugVersion_1_0,
+ ver_ICorDebugModuleBreakpoint = CorDebugVersion_1_0,
+ ver_ICorDebugValueBreakpoint = CorDebugVersion_1_0,
+ ver_ICorDebugStepper = CorDebugVersion_1_0,
+ ver_ICorDebugRegisterSet = CorDebugVersion_1_0,
+ ver_ICorDebugThread = CorDebugVersion_1_0,
+ ver_ICorDebugChain = CorDebugVersion_1_0,
+ ver_ICorDebugFrame = CorDebugVersion_1_0,
+ ver_ICorDebugILFrame = CorDebugVersion_1_0,
+ ver_ICorDebugNativeFrame = CorDebugVersion_1_0,
+ ver_ICorDebugModule = CorDebugVersion_1_0,
+ ver_ICorDebugFunction = CorDebugVersion_1_0,
+ ver_ICorDebugCode = CorDebugVersion_1_0,
+ ver_ICorDebugClass = CorDebugVersion_1_0,
+ ver_ICorDebugEval = CorDebugVersion_1_0,
+ ver_ICorDebugValue = CorDebugVersion_1_0,
+ ver_ICorDebugGenericValue = CorDebugVersion_1_0,
+ ver_ICorDebugReferenceValue = CorDebugVersion_1_0,
+ ver_ICorDebugHeapValue = CorDebugVersion_1_0,
+ ver_ICorDebugObjectValue = CorDebugVersion_1_0,
+ ver_ICorDebugBoxValue = CorDebugVersion_1_0,
+ ver_ICorDebugStringValue = CorDebugVersion_1_0,
+ ver_ICorDebugArrayValue = CorDebugVersion_1_0,
+ ver_ICorDebugContext = CorDebugVersion_1_0,
+ ver_ICorDebugEnum = CorDebugVersion_1_0,
+ ver_ICorDebugObjectEnum = CorDebugVersion_1_0,
+ ver_ICorDebugBreakpointEnum = CorDebugVersion_1_0,
+ ver_ICorDebugStepperEnum = CorDebugVersion_1_0,
+ ver_ICorDebugProcessEnum = CorDebugVersion_1_0,
+ ver_ICorDebugThreadEnum = CorDebugVersion_1_0,
+ ver_ICorDebugFrameEnum = CorDebugVersion_1_0,
+ ver_ICorDebugChainEnum = CorDebugVersion_1_0,
+ ver_ICorDebugModuleEnum = CorDebugVersion_1_0,
+ ver_ICorDebugValueEnum = CorDebugVersion_1_0,
+ ver_ICorDebugCodeEnum = CorDebugVersion_1_0,
+ ver_ICorDebugTypeEnum = CorDebugVersion_1_0,
+ ver_ICorDebugErrorInfoEnum = CorDebugVersion_1_0,
+ ver_ICorDebugAppDomainEnum = CorDebugVersion_1_0,
+ ver_ICorDebugAssemblyEnum = CorDebugVersion_1_0,
+ ver_ICorDebugEditAndContinueErrorInfo
+ = CorDebugVersion_1_0,
+ ver_ICorDebugEditAndContinueSnapshot
+ = CorDebugVersion_1_0,
+
+ CorDebugVersion_1_1 = CorDebugVersion_1_0 + 1,
+ // No interface definitions in version 1.1.
+
+ CorDebugVersion_2_0 = CorDebugVersion_1_1 + 1,
+
+ ver_ICorDebugManagedCallback2 = CorDebugVersion_2_0,
+ ver_ICorDebugAppDomain2 = CorDebugVersion_2_0,
+ ver_ICorDebugProcess2 = CorDebugVersion_2_0,
+ ver_ICorDebugStepper2 = CorDebugVersion_2_0,
+ ver_ICorDebugRegisterSet2 = CorDebugVersion_2_0,
+ ver_ICorDebugThread2 = CorDebugVersion_2_0,
+ ver_ICorDebugILFrame2 = CorDebugVersion_2_0,
+ ver_ICorDebugModule2 = CorDebugVersion_2_0,
+ ver_ICorDebugFunction2 = CorDebugVersion_2_0,
+ ver_ICorDebugCode2 = CorDebugVersion_2_0,
+ ver_ICorDebugClass2 = CorDebugVersion_2_0,
+ ver_ICorDebugValue2 = CorDebugVersion_2_0,
+ ver_ICorDebugEval2 = CorDebugVersion_2_0,
+ ver_ICorDebugObjectValue2 = CorDebugVersion_2_0,
+
+ // CLR v4 - next major CLR version after CLR v2
+ // Includes Silverlight 4
+ CorDebugVersion_4_0 = CorDebugVersion_2_0 + 1,
+
+ ver_ICorDebugThread3 = CorDebugVersion_4_0,
+ ver_ICorDebugThread4 = CorDebugVersion_4_0,
+ ver_ICorDebugStackWalk = CorDebugVersion_4_0,
+ ver_ICorDebugNativeFrame2 = CorDebugVersion_4_0,
+ ver_ICorDebugInternalFrame2 = CorDebugVersion_4_0,
+ ver_ICorDebugRuntimeUnwindableFrame = CorDebugVersion_4_0,
+ ver_ICorDebugHeapValue3 = CorDebugVersion_4_0,
+ ver_ICorDebugBlockingObjectEnum = CorDebugVersion_4_0,
+ ver_ICorDebugValue3 = CorDebugVersion_4_0,
+
+ CorDebugVersion_4_5 = CorDebugVersion_4_0 + 1,
+
+ ver_ICorDebugComObjectValue = CorDebugVersion_4_5,
+ ver_ICorDebugAppDomain3 = CorDebugVersion_4_5,
+ ver_ICorDebugCode3 = CorDebugVersion_4_5,
+ ver_ICorDebugILFrame3 = CorDebugVersion_4_5,
+
+ CorDebugLatestVersion = CorDebugVersion_4_5
+
+} CorDebugInterfaceVersion;
+```
+
+## Members
+
+ The following table provides links from each enumeration value to the corresponding interface. In addition, the table indicates the first version of .NET that the interface was supported in.
+
+| Member | Specifies | .NET version |
+|-----------------------------------|-------------------------------------------------------------------------|--------------|
+| `CorDebugInvalidVersion` | The version of .NET Framework is invalid. | - |
+| `CorDebugVersion_1_0` | The version of .NET Framework, including all its service packs, is 1.0. | 1.0 |
+| `CorDebugVersion_1_1` | The version of .NET Framework, including all service packs, is 1.1. | 1.1 |
+| `CorDebugVersion_2_0` | The version of .NET Framework, including all service packs, is 2.0. | 2.0 |
+| `CorDebugVersion_4_0` | The version of .NET Framework, including all service packs, is 4. | 4 |
+| `CorDebugVersion_4_5` | The version of .NET Framework, including all service packs, is 4.5. | 4.5 |
+| `ver_ICorDebugManagedCallback` | [ICorDebugManagedCallback](icordebugmanagedcallback-interface.md) | 1.0 |
+| `ver_ICorDebugUnmanagedCallback` | [ICorDebugUnmanagedCallback](icordebugunmanagedcallback-interface.md) | 1.0 |
+| `ver_ICorDebug` | [ICorDebug](icordebug-interface.md) | 1.0 |
+| `ver_ICorDebugController` | [ICorDebugController](icordebugcontroller-interface.md) | 1.0 |
+| `ver_ICorDebugAppDomain` | [ICorDebugAppDomain](icordebugappdomain-interface.md) | 1.0 |
+| `ver_ICorDebugAssembly` | [ICorDebugAssembly](icordebugassembly-interface.md) | 1.0 |
+| `ver_ICorDebugProcess` | [ICorDebugProcess](icordebugprocess-interface.md) | 1.0 |
+| `ver_ICorDebugBreakpoint` | [ICorDebugBreakpoint](icordebugbreakpoint-interface.md) | 1.0 |
+| `ver_ICorDebugFunctionBreakpoint` | [ICorDebugFunctionBreakpoint](icordebugfunctionbreakpoint-interface.md) | 1.0 |
+| `ver_ICorDebugModuleBreakpoint` | [ICorDebugModuleBreakpoint](icordebugmodulebreakpoint-interface.md) | 1.0 |
+| `ver_ICorDebugValueBreakpoint` | [ICorDebugValueBreakpoint](icordebugvaluebreakpoint-interface.md) | 1.0 |
+| `ver_ICorDebugStepper` | [ICorDebugStepper](icordebugstepper-interface.md) | 1.0 |
+| `ver_ICorDebugRegisterSet` | [ICorDebugRegisterSet](icordebugregisterset-interface.md) | 1.0 |
+| `ver_ICorDebugThread` | [ICorDebugThread](icordebugthread-interface.md) | 1.0 |
+| `ver_ICorDebugChain` | [ICorDebugChain](icordebugchain-interface.md) | 1.0 |
+| `ver_ICorDebugFrame` | [ICorDebugFrame](icordebugframe-interface.md) | 1.0 |
+| `ver_ICorDebugILFrame` | [ICorDebugILFrame](icordebugilframe-interface.md) | 1.0 |
+| `ver_ICorDebugNativeFrame` | [ICorDebugNativeFrame](icordebugnativeframe-interface.md) | 1.0 |
+| `ver_ICorDebugModule` | [ICorDebugModule](icordebugmodule-interface.md) | 1.0 |
+| `ver_ICorDebugFunction` | [ICorDebugFunction](icordebugfunction-interface1.md) | 1.0 |
+| `ver_ICorDebugCode` | [ICorDebugCode](icordebugcode-interface1.md) | 1.0 |
+| `ver_ICorDebugClass` | [ICorDebugClass](icordebugclass-interface.md) | 1.0 |
+| `ver_ICorDebugEval` | [ICorDebugEval](icordebugeval-interface.md) | 1.0 |
+| `ver_ICorDebugValue` | [ICorDebugValue](icordebugvalue-interface.md) | 1.0 |
+| `ver_ICorDebugGenericValue` | [ICorDebugGenericValue](icordebuggenericvalue-interface.md) | 1.0 |
+| `ver_ICorDebugReferenceValue` | [ICorDebugReferenceValue](icordebugreferencevalue-interface.md) | 1.0 |
+| `ver_ICorDebugHeapValue` | [ICorDebugHeapValue](icordebugheapvalue-interface.md) | 1.0 |
+| `ver_ICorDebugObjectValue` | [ICorDebugObjectValue](icordebugobjectvalue-interface.md) | 1.0 |
+| `ver_ICorDebugBoxValue` | [ICorDebugBoxValue](icordebugboxvalue-interface.md) | 1.0 |
+| `ver_ICorDebugStringValue` | [ICorDebugStringValue](icordebugstringvalue-interface.md) | 1.0 |
+| `ver_ICorDebugArrayValue` | [ICorDebugArrayValue](icordebugarrayvalue-interface.md) | 1.0 |
+| `ver_ICorDebugContext` | [ICorDebugContext](icordebugcontext-interface.md) | 1.0 |
+| `ver_ICorDebugEnum` | [ICorDebugEnum](icordebugenum-interface1.md) | 1.0 |
+| `ver_ICorDebugObjectEnum` | [ICorDebugObjectEnum](icordebugobjectenum-interface.md) | 1.0 |
+| `ver_ICorDebugBreakpointEnum` | [ICorDebugBreakpointEnum](icordebugbreakpointenum-interface.md) | 1.0 |
+| `ver_ICorDebugStepperEnum` | [ICorDebugStepperEnum](icordebugstepperenum-interface.md) | 1.0 |
+| `ver_ICorDebugProcessEnum` | [ICorDebugProcessEnum](icordebugprocessenum-interface.md) | 1.0 |
+| `ver_ICorDebugThreadEnum` | [ICorDebugThreadEnum](icordebugthreadenum-interface1.md) | 1.0 |
+| `ver_ICorDebugFrameEnum` | [ICorDebugFrameEnum](icordebugframeenum-interface.md) | 1.0 |
+| `ver_ICorDebugChainEnum` | [ICorDebugChainEnum](icordebugchainenum-interface.md) | 1.0 |
+| `ver_ICorDebugModuleEnum` | [ICorDebugModuleEnum](icordebugmoduleenum-interface.md) | 1.0 |
+| `ver_ICorDebugValueEnum` | [ICorDebugValueEnum](icordebugvalueenum-interface.md) | 1.0 |
+| `ver_ICorDebugCodeEnum` | [ICorDebugCodeEnum](icordebugcodeenum-interface.md) | 1.0 |
+| `ver_ICorDebugTypeEnum` | [ICorDebugTypeEnum](icordebugtypeenum-interface.md) | 1.0 |
+| `ver_ICorDebugErrorInfoEnum` | [ICorDebugErrorInfoEnum](icordebugerrorinfoenum-interface.md) | 1.0 |
+| `ver_ICorDebugAppDomainEnum` | [ICorDebugAppDomainEnum](icordebugappdomainenum-interface.md) | 1.0 |
+| `ver_ICorDebugAssemblyEnum` | [ICorDebugAssemblyEnum](icordebugassemblyenum-interface.md) | 1.0 |
+|`ver_ICorDebugEditAndContinueErrorInfo`|[ICorDebugEditAndContinueErrorInfo](icordebugeditandcontinueerrorinfo-interface.md)|1.0|
+|`ver_ICorDebugEditAndContinueSnapshot`|[ICorDebugEditAndContinueSnapshot](icordebugeditandcontinuesnapshot-interface.md)|1.0|
+|`ver_ICorDebugManagedCallback2`|[ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md)|2.0|
+|`ver_ICorDebugAppDomain2`|[ICorDebugAppDomain2](icordebugappdomain2-interface.md)|2.0|
+|`ver_ICorDebugProcess2`|[ICorDebugProcess2](icordebugprocess2-interface1.md)|2.0|
+|`ver_ICorDebugStepper2`|[ICorDebugStepper2](icordebugstepper2-interface1.md)|2.0|
+|`ver_ICorDebugRegisterSet2`|[ICorDebugRegisterSet2](icordebugregisterset2-interface.md)|2.0|
+|`ver_ICorDebugThread2`|[ICorDebugThread2](icordebugthread2-interface.md)|2.0|
+|`ver_ICorDebugILFrame2`|[ICorDebugILFrame2](icordebugilframe2-interface.md)|2.0|
+|`ver_ICorDebugModule2`|[ICorDebugModule2](icordebugmodule2-interface.md)|2.0|
+|`ver_ICorDebugFunction2`|[ICorDebugFunction2](icordebugfunction2-interface.md)|2.0|
+|`ver_ICorDebugCode2`|[ICorDebugCode2](icordebugcode2-interface.md)|2.0|
+|`ver_ICorDebugClass2`|"ICorDebugClass2"|2.0|
+|`ver_ICorDebugValue2`|"ICorDebugValue2"|2.0|
+|`ver_ICorDebugEval2`|The "ICorDebugEval2".|2.0|
+|`ver_ICorDebugObjectValue2`|"ICorDebugObjectValue2"|2.0|
+|`ver_ICorDebugThread3`|[ICorDebugThread3](icordebugthread3-interface.md)|4|
+|`ver_ICorDebugThread4`|[ICorDebugThread4](icordebugthread4-interface.md)|4|
+|`ver_ICorDebugStackWalk`|[ICorDebugStackWalk](icordebugstackwalk-interface.md)|4|
+|`ver_ICorDebugNativeFrame2`|[ICorDebugNativeFrame2](icordebugnativeframe2-interface.md)|4|
+|`ver_ICorDebugInternalFrame2`|[ICorDebugInternalFrame2](icordebuginternalframe2-interface.md)|4|
+|`ver_ICorDebugRuntimeUnwindableFrame`|[ICorDebugRuntimeUnwindableFrame](icordebugruntimeunwindableframe-interface.md)|4|
+|`ver_ICorDebugHeapValue3`|[ICorDebugHeapValue3 Interface](icordebugheapvalue3-interface.md)|4|
+|`ver_ICorDebugBlockingObjectEnum`|[ICorDebugBlockingObjectEnum Interface](icordebugblockingobjectenum-interface.md)|4|
+|`ver_ICorDebugValue3`|[ICorDebugValue3](icordebugvalue3-interface.md)|4|
+|`ver_ICorDebugComObjectValue`|[ICorDebugComObjectValue](icordebugcomobjectvalue-interface.md)|4.5|
+|`ver_ICorDebugAppDomain3`|[ICorDebugAppDomain3](icordebugappdomain3-interface.md)|4.5|
+|`ver_ICorDebugCode3`|[ICorDebugCode3](icordebugcode3-interface.md)|4.5|
+|`ver_ICorDebugILFrame3`|[ICorDebugILFrame3](icordebugilframe3-interface.md)|4.5|
+|`CorDebugLatestVersion`|The version of .NET is the latest version.|-|
+
+## Remarks
+
+ A debugger can use the `CorDebugInterfaceVersion` enumeration in the [CreateDebuggingInterfaceFromVersion](../createdebugginginterfacefromversion-function.md) function to specify the highest version of .NET that the debugger supports.
+
+## Interface Names
+
+ The number that appears at the end of the interface names in the debugging API (for example, the "3" in `ICorDebugThread3`) specifies the version of the interface, not the version of .NET. All interface names in the debugging API include version numbers except for interfaces that were introduced in .NET Framework 1.0. Any correspondences between interface version numbers and .NET version numbers are coincidental.
+
+- Interfaces that were introduced in .NET Framework 1.0 do not include numbers, because they are all implicitly version 1.
+
+- .NET Framework 1.1 uses version 1.0 interfaces, and does not introduce any new debugging interfaces.
+
+- The 14 debugging interfaces introduced in .NET Framework 2.0 are logical extensions of their version 1 counterparts and include the number "2" in their names.
+
+- .NET Framework versions 3.0 and 3.5 use the existing .NET Framework 2.0 interfaces, and do not introduce any new interfaces.
+
+- .NET Framework 4 introduces a mix of interface versions. For example, both `ICorDebugThread3` and `ICorDebugThread4` appear as the third and fourth versions of the `ICorDebugThread` interface. .NET Framework 4 also introduces the first version of the `ICorDebugStackWalk` interface and the second version of the `ICorDebugNativeFrame` interface (`ICorDebugNativeFrame2`).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebuginternalframetype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebuginternalframetype-enumeration.md
new file mode 100644
index 0000000000000..d0510db4eb384
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebuginternalframetype-enumeration.md
@@ -0,0 +1,65 @@
+---
+description: "Learn more about: CorDebugInternalFrameType Enumeration"
+title: "CorDebugInternalFrameType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugInternalFrameType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugInternalFrameType"
+helpviewer_keywords:
+ - "CorDebugInternalFrameType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugInternalFrameType Enumeration
+
+Identifies the type of stack frame. This enumeration is used by the [ICorDebugInternalFrame::GetFrameType](icordebuginternalframe-getframetype-method.md) method.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugInternalFrameType {
+
+ STUBFRAME_NONE = 0x00000000,
+ STUBFRAME_M2U = 0x00000001,
+ STUBFRAME_U2M = 0x00000002,
+ STUBFRAME_APPDOMAIN_TRANSITION = 0x00000003,
+ STUBFRAME_LIGHTWEIGHT_FUNCTION = 0x00000004,
+ STUBFRAME_FUNC_EVAL = 0x00000005,
+ STUBFRAME_INTERNALCALL = 0x00000006,
+ STUBFRAME_CLASS_INIT = 0x00000007,
+ STUBFRAME_EXCEPTION = 0x00000008,
+ STUBFRAME_SECURITY = 0x00000009,
+ STUBFRAME_JIT_COMPILATION = 0x0000000a,
+} CorDebugInternalFrameType;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`STUBFRAME_NONE`|A null value. The `ICorDebugInternalFrame::GetFrameType` method never returns this value.|
+|`STUBFRAME_M2U`|A managed-to-unmanaged stub frame.|
+|`STUBFRAME_U2M`|An unmanaged-to-managed stub frame.|
+|`STUBFRAME_APPDOMAIN_TRANSITION`|A transition between application domains.|
+|`STUBFRAME_LIGHTWEIGHT_FUNCTION`|A lightweight method call.|
+|`STUBFRAME_FUNC_EVAL`|The start of function evaluation.|
+|`STUBFRAME_INTERNALCALL`|An internal call into the common language runtime.|
+|`STUBFRAME_CLASS_INIT`|The start of a class initialization.|
+|`STUBFRAME_EXCEPTION`|An exception that is thrown.|
+|`STUBFRAME_SECURITY`|A frame used for code access security.|
+|`STUBFRAME_JIT_COMPILATION`|The runtime is JIT-compiling a method.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugjitcompilerflags-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugjitcompilerflags-enumeration.md
new file mode 100644
index 0000000000000..11521d0eeaaba
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugjitcompilerflags-enumeration.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: CorDebugJITCompilerFlags Enumeration"
+title: "CorDebugJITCompilerFlags Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugJITCompilerFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugJITCompilerFlags"
+helpviewer_keywords:
+ - "CorDebugJITCompilerFlags enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugJITCompilerFlags Enumeration
+
+Contains values that influence the behavior of the managed just-in-time (JIT) compiler.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugJITCompilerFlags {
+
+ CORDEBUG_JIT_DEFAULT = 0x1,
+ CORDEBUG_JIT_DISABLE_OPTIMIZATION = 0x3,
+ CORDEBUG_JIT_ENABLE_ENC = 0x7
+
+} CorDebugJITCompilerFlags;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`CORDEBUG_JIT_DEFAULT`|Specifies that the compiler should track compilation data, and allows optimizations.|
+|`CORDEBUG_JIT_DISABLE_OPTIMIZATION`|Specifies that the compiler should track compilation data, but disables optimizations.|
+|`CORDEBUG_JIT_ENABLE_ENC`|Specifies that the compiler should track compilation data, disables optimizations, and enables Edit and Continue technologies.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugmappingresult-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugmappingresult-enumeration.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/cordebugmappingresult-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugmappingresult-enumeration.md
index 728cbebcbfb56..c33cd0f8a7b0f 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugmappingresult-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugmappingresult-enumeration.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugMappingResult"
helpviewer_keywords:
- - "CorDebugMappingResult enumeration [.NET Framework debugging]"
-ms.assetid: 701281dd-2936-45c8-a1f0-3bf7332b093b
+ - "CorDebugMappingResult enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -50,14 +49,10 @@ typedef enum CorDebugMappingResult {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugmdaflags-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugmdaflags-enumeration.md
new file mode 100644
index 0000000000000..7bad9b88ab62f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugmdaflags-enumeration.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: CorDebugMDAFlags Enumeration"
+title: "CorDebugMDAFlags Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugMDAFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugMDAFlags"
+helpviewer_keywords:
+ - "CorDebugMDAFlags enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugMDAFlags Enumeration
+
+Specifies the status of the thread on which the managed debugging assistant (MDA) is fired.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugMDAFlags {
+ MDA_FLAG_SLIP = 0x2
+} CorDebugMDAFlags;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`MDA_FLAG_SLIP`|The thread on which the MDA was fired has slipped since the MDA was fired.|
+
+## Remarks
+
+ When the call stack no longer describes where the MDA was originally raised, the thread is considered to have *slipped*. This is an unusual circumstance brought about by the thread's execution of an invalid operation upon exiting.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugngenpolicy-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugngenpolicy-enumeration.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/cordebugngenpolicy-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugngenpolicy-enumeration.md
index be2edd26c59b7..8f4671a100bb2 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugngenpolicy-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugngenpolicy-enumeration.md
@@ -13,8 +13,7 @@ api_type:
f1_keywords:
- "CorDebugNGenPolicy"
helpviewer_keywords:
- - "CorDebugNgenPolicy enumeration [.NET Framework debugging]"
-ms.assetid: edb4e4d2-3166-44d4-8b17-bf302f7ea093
+ - "CorDebugNgenPolicy enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -42,14 +41,10 @@ enum CorDebugNGENPolicy {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugplatform-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugplatform-enumeration.md
new file mode 100644
index 0000000000000..ebd02d135966c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugplatform-enumeration.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: CorDebugPlatform Enumeration"
+title: "CorDebugPlatform Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugPlatformEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugPlatformEnum"
+helpviewer_keywords:
+ - "CorDebugPlatformEnum enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugPlatform Enumeration
+
+Provides target platform values that are used by the [ICorDebugDataTarget::GetPlatform](icordebugdatatarget-getplatform-method.md) method.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugPlatform
+{
+ CORDB_PLATFORM_WINDOWS_X86, // Windows on Intel x86
+ CORDB_PLATFORM_WINDOWS_AMD64, // Windows x64 (AMD64, Intel EM64T)
+ CORDB_PLATFORM_WINDOWS_IA64, // Windows on Intel IA-64
+ CORDB_PLATFORM_MAC_PPC, // Macintosh OS on PowerPC
+ CORDB_PLATFORM_MAC_X86, // Macintosh OS on Intel x86
+ CORDB_PLATFORM_WINDOWS_ARM, // Windows on ARM
+ CORDB_PLATFORM_MAC_AMD64 // MacOS on Intel x64
+} CorDebugPlatform;
+```
+
+## Members
+
+| Member | Description |
+|------------------------------|----------------------------------------------------------------------------------------|
+| `CORDB_PLATFORM_WINDOWS_X86` | The target platform is Windows running on Intel x86 hardware. |
+| `CORDB_PLATFORM_WINDOWS_AMD64` | The target platform is 64 bit Windows running on AMD64 or Intel EM64T hardware. |
+| `CORDB_PLATFORM_WINDOWS_IA64` | The target platform is 32 bit Windows running on Intel IA-64 hardware. |
+| `CORDB_PLATFORM_MAC_PPC` | The target platform is the Macintosh operating system running on PowerPC hardware. |
+| `CORDB_PLATFORM_MAC_X86` | The target platform is the Macintosh operating system running on Intel x86 hardware. |
+| `CORDB_PLATFORM_WINDOWS_ARM` | The target platform is the Macintosh operating system running on Windows ARM hardware. |
+| `CORDB_PLATFORM_MAC_AMD64` | The target platform is the Macintosh operating system running on AMD64 hardware. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0/4.5.2
diff --git a/docs/framework/unmanaged-api/debugging/cordebugrecordformat-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugrecordformat-enumeration.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/cordebugrecordformat-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugrecordformat-enumeration.md
index 593592f134336..2abca4f4296eb 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugrecordformat-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugrecordformat-enumeration.md
@@ -8,7 +8,6 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: d680c1c0-16ab-4ccc-9444-39cf8e0e05ee
topic_type:
- "apiref"
---
@@ -41,14 +40,10 @@ typedef enum CorDebugRecordFormat {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugregister-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugregister-enumeration.md
new file mode 100644
index 0000000000000..63d883daed09b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugregister-enumeration.md
@@ -0,0 +1,204 @@
+---
+description: "Learn more about: CorDebugRegister Enumeration"
+title: "CorDebugRegister Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugRegister"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugRegister"
+helpviewer_keywords:
+ - "CorDebugRegister enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugRegister Enumeration
+
+Specifies the registers associated with a given processor architecture.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugRegister {
+
+ REGISTER_INSTRUCTION_POINTER = 0,
+ REGISTER_STACK_POINTER,
+ REGISTER_FRAME_POINTER,
+
+ REGISTER_X86_EIP = 0,
+ REGISTER_X86_ESP,
+ REGISTER_X86_EBP,
+
+ REGISTER_X86_EAX,
+ REGISTER_X86_ECX,
+ REGISTER_X86_EDX,
+ REGISTER_X86_EBX,
+
+ REGISTER_X86_ESI,
+ REGISTER_X86_EDI,
+
+ REGISTER_X86_FPSTACK_0,
+ REGISTER_X86_FPSTACK_1,
+ REGISTER_X86_FPSTACK_2,
+ REGISTER_X86_FPSTACK_3,
+ REGISTER_X86_FPSTACK_4,
+ REGISTER_X86_FPSTACK_5,
+ REGISTER_X86_FPSTACK_6,
+ REGISTER_X86_FPSTACK_7,
+
+ REGISTER_AMD64_RIP = 0,
+ REGISTER_AMD64_RSP,
+ REGISTER_AMD64_RBP,
+ REGISTER_AMD64_RAX,
+ REGISTER_AMD64_RCX,
+ REGISTER_AMD64_RDX,
+ REGISTER_AMD64_RBX,
+ REGISTER_AMD64_RSI,
+ REGISTER_AMD64_RDI,
+ REGISTER_AMD64_R8,
+ REGISTER_AMD64_R9,
+ REGISTER_AMD64_R10,
+ REGISTER_AMD64_R11,
+ REGISTER_AMD64_R12,
+ REGISTER_AMD64_R13,
+ REGISTER_AMD64_R14,
+ REGISTER_AMD64_R15,
+
+ REGISTER_AMD64_XMM0,
+ REGISTER_AMD64_XMM1,
+ REGISTER_AMD64_XMM2,
+ REGISTER_AMD64_XMM3,
+ REGISTER_AMD64_XMM4,
+ REGISTER_AMD64_XMM5,
+ REGISTER_AMD64_XMM6,
+ REGISTER_AMD64_XMM7,
+ REGISTER_AMD64_XMM8,
+ REGISTER_AMD64_XMM9,
+ REGISTER_AMD64_XMM10,
+ REGISTER_AMD64_XMM11,
+ REGISTER_AMD64_XMM12,
+ REGISTER_AMD64_XMM13,
+ REGISTER_AMD64_XMM14,
+ REGISTER_AMD64_XMM15,
+
+ REGISTER_IA64_BSP = REGISTER_FRAME_POINTER,
+ REGISTER_IA64_R0 = REGISTER_IA64_BSP + 1,
+ REGISTER_IA64_F0 = REGISTER_IA64_R0 + 128,
+ REGISTER_ARM_PC = 0,
+ REGISTER_ARM_SP,
+ REGISTER_ARM_R0,
+ REGISTER_ARM_R1,
+ REGISTER_ARM_R2,
+ REGISTER_ARM_R3,
+ REGISTER_ARM_R4,
+ REGISTER_ARM_R5,
+ REGISTER_ARM_R6,
+ REGISTER_ARM_R7,
+ REGISTER_ARM_R8,
+ REGISTER_ARM_R9,
+ REGISTER_ARM_R10,
+ REGISTER_ARM_R11,
+ REGISTER_ARM_R12,
+ REGISTER_ARM_LR,
+
+} CorDebugRegister;
+```
+
+## Members
+
+| Member | Description |
+|--------------------------------|----------------------------------------------------------------|
+| `REGISTER_INSTRUCTION_POINTER` | An instruction pointer register on any processor. |
+| `REGISTER_STACK_POINTER` | A stack pointer register on any processor. |
+| `REGISTER_FRAME_POINTER` | A frame pointer register on any processor. |
+| `REGISTER_X86_EIP` | The instruction pointer register on the x86 processor. |
+| `REGISTER_X86_ESP` | The stack pointer register on the x86 processor. |
+| `REGISTER_X86_EBP` | The base pointer register on the x86 processor. |
+| `REGISTER_X86_EAX` | The A data register on the x86 processor. |
+| `REGISTER_X86_ECX` | The C data register on the x86 processor. |
+| `REGISTER_X86_EDX` | The D data register on the x86 processor. |
+| `REGISTER_X86_EBX` | The B data register on the x86 processor. |
+| `REGISTER_X86_ESI` | The source index register on the x86 processor. |
+| `REGISTER_X86_EDI` | The destination index register on the x86 processor. |
+| `REGISTER_X86_FPSTACK_0` | The stack register 0 on the x86 floating-point (FP) processor. |
+| `REGISTER_X86_FPSTACK_1` | The #1 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_2` | The #2 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_3` | The #3 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_4` | The #4 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_5` | The #5 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_6` | The #6 stack register on the x86 FP processor. |
+| `REGISTER_X86_FPSTACK_7` | The #7 stack register on the x86 FP processor. |
+| `REGISTER_AMD64_RIP` | The instruction pointer register on the AMD64 processor. |
+| `REGISTER_AMD64_RSP` | The stack pointer register on the AMD64 processor. |
+| `REGISTER_AMD64_RBP` | The base pointer register on the AMD64 processor. |
+| `REGISTER_AMD64_RAX` | The A data register on the AMD64 processor. |
+| `REGISTER_AMD64_RCX` | The C data register on the AMD64 processor. |
+| `REGISTER_AMD64_RDX` | The D data register on the AMD64 processor. |
+| `REGISTER_AMD64_RBX` | The B data register on the AMD64 processor. |
+| `REGISTER_AMD64_RSI` | The source index register on the AMD64 processor. |
+| `REGISTER_AMD64_RDI` | The destination index register on the AMD64 processor. |
+| `REGISTER_AMD64_R8` | The #8 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R9` | The #9 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R10` | The #10 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R11` | The #11 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R12` | The #12 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R13` | The #13 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R14` | The #14 data register on the AMD64 processor. |
+| `REGISTER_AMD64_R15` | The #15 data register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM0` | The #0 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM1` | The #1 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM2` | The #2 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM3` | The #3 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM4` | The #4 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM5` | The #5 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM6` | The #6 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM7` | The #7 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM8` | The #8 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM9` | The #9 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM10` | The #10 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM11` | The #11 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM12` | The #12 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM13` | The #13 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM14` | The #14 multimedia register on the AMD64 processor. |
+| `REGISTER_AMD64_XMM15` | The #15 multimedia register on the AMD64 processor. |
+| `REGISTER_IA64_BSP` | The stack pointer register on the IA-64 processor. |
+| `REGISTER_IA64_R0` | The #0 data register on the IA-64 processor. |
+| `REGISTER_IA64_F0` | The #0 FP data register on the IA-64 processor. |
+| `REGISTER_ARM_PC` | The program counter register (R15) on the ARM processor. |
+| `REGISTER_ARM_SP` | The stack pointer register (R13) on the ARM processor. |
+| `REGISTER_ARM_R0` | Data register R0 on the ARM processor. |
+| `REGISTER_ARM_R1` | Data register R1 on the ARM processor. |
+| `REGISTER_ARM_R2` | Data register R2 on the ARM processor. |
+| `REGISTER_ARM_R3` | Data register R3 on the ARM processor. |
+| `REGISTER_ARM_R4` | Register R4 on the ARM processor. |
+| `REGISTER_ARM_R5` | Register R5 on the ARM processor. |
+| `REGISTER_ARM_R6` | Register R6 on the ARM processor. |
+| `REGISTER_ARM_R7` | Register R7 (the THUMB frame pointer) on the ARM processor. |
+| `REGISTER_ARM_R8` | Register R8 on the ARM processor. |
+| `REGISTER_ARM_R9` | Register R9 on the ARM processor. |
+| `REGISTER_ARM_R10` | Register R10 on the ARM processor. |
+| `REGISTER_ARM_R11` | The frame pointer on the ARM processor. |
+| `REGISTER_ARM_R12` | Register R12 on the ARM processor. |
+| `REGISTER_ARM_LR` | The link register (R14) on the ARM processor. |
+
+## Remarks
+
+There are 128 general-purpose data registers and 128 floating-point data registers on the IA-64 processor, but only values `REGISTER_IA64_R0` and `REGISTER_IA64_F0` are provided. The other values can be determined as follows:
+
+- Add the register number to `REGISTER_IA64_R0` for values `REGISTER_IA64_R1` through `REGISTER_IA64_R127`, which correspond to the #1 data register through the #127 data register on the IA-64 processor.
+- Add the register number to `REGISTER_IA64_F0` for values `REGISTER_IA64_F1` through `REGISTER_IA64_F127`, which correspond to the #1 FP data register through the #127 FP data register on the IA-64 processor.
+
+For example, if you need to specify the #83 data register on the IA-64 processor, use `REGISTER_IA64_R0` + 83.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugsetcontextflag-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugsetcontextflag-enumeration.md
new file mode 100644
index 0000000000000..fe188322181df
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugsetcontextflag-enumeration.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: CorDebugSetContextFlag Enumeration"
+title: "CorDebugSetContextFlag Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugSetContextFlag"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugSetContextFlag"
+helpviewer_keywords:
+ - "CorDebugSetContextFlag enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugSetContextFlag Enumeration
+
+Indicates whether the context is from the active (or leaf) frame on the stack or has been computed by unwinding from another frame.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugSetContextFlag
+{
+ SET_CONTEXT_FLAG_ACTIVE_FRAME = 1
+ SET_CONTEXT_FLAG_UNWIND_FRAME = 2
+} CorDebugSetContextFlag;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|SET_CONTEXT_FLAG_ACTIVE_FRAME|The context is the thread’s active context.|
+|SET_CONTEXT_FLAG_UNWIND_FRAME|The context has been computed by unwinding from another frame.|
+
+## Remarks
+
+ `CorDebugSetContextFlag` provides values that are used by the [ICorDebugStackWalk::SetContext](icordebugstackwalk-setcontext-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugstatechange-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugstatechange-enumeration.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/cordebugstatechange-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugstatechange-enumeration.md
index 6fe5b87e12a67..6762cbc5b6825 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugstatechange-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugstatechange-enumeration.md
@@ -8,7 +8,6 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: 1d4424ab-5143-4e50-a84a-ceeb4ddf3bba
topic_type:
- "apiref"
---
@@ -39,15 +38,10 @@ typedef enum CorDebugStateChange
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugstepreason-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugstepreason-enumeration.md
new file mode 100644
index 0000000000000..cf2d3fd5af89c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugstepreason-enumeration.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: CorDebugStepReason Enumeration"
+title: "CorDebugStepReason Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugStepReason"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugStepReason"
+helpviewer_keywords:
+ - "CorDebugStepReason enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugStepReason Enumeration
+
+Indicates the outcome of an individual step.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugStepReason {
+ STEP_NORMAL,
+ STEP_RETURN,
+ STEP_CALL,
+ STEP_EXCEPTION_FILTER,
+ STEP_EXCEPTION_HANDLER,
+ STEP_INTERCEPT,
+ STEP_EXIT
+} CorDebugStepReason;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`STEP_NORMAL`|Stepping completed normally, within the same function.|
+|`STEP_RETURN`|Stepping continued normally, after the function returned.|
+|`STEP_CALL`|Stepping continued normally, at the beginning of a newly called function.|
+|`STEP_EXCEPTION_FILTER`|An exception was generated and control was passed to an exception filter.|
+|`STEP_EXCEPTION_HANDLER`|An exception was generated and control was passed to an exception handler.|
+|`STEP_INTERCEPT`|Control was passed to an interceptor.|
+|`STEP_EXIT`|The thread exited before the step was completed.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [StepComplete Method](icordebugmanagedcallback-stepcomplete-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/cordebugthreadstate-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugthreadstate-enumeration.md
new file mode 100644
index 0000000000000..a9c1cb1ea65e9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugthreadstate-enumeration.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: CorDebugThreadState Enumeration"
+title: "CorDebugThreadState Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorDebugThreadState"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorDebugThreadState"
+helpviewer_keywords:
+ - "CorDebugThreadState enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# CorDebugThreadState Enumeration
+
+Specifies the state of a thread for debugging.
+
+## Syntax
+
+```cpp
+typedef enum CorDebugThreadState {
+ THREAD_RUN,
+ THREAD_SUSPEND
+} CorDebugThreadState;
+```
+
+## Members
+
+|Member|Description|
+|------------|-----------------|
+|`THREAD_RUN`|The thread runs freely, unless a debug event occurs.|
+|`THREAD_SUSPEND`|The thread cannot run.|
+
+## Remarks
+
+ The debugger uses the `CorDebugThreadState` enumeration to control a thread's execution. The state of a thread can be set by using the [ICorDebugThread::SetDebugState](icordebugthread-setdebugstate-method.md) or [ICorDebugController::SetAllThreadsDebugState](icordebugcontroller-setallthreadsdebugstate-method.md) method.
+
+ A callback provided to the [hosting API](../../../../framework/unmanaged-api/hosting/index.md) enables message pumping, so an interrupted state is not needed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebugunmappedstop-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebugunmappedstop-enumeration.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/cordebugunmappedstop-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebugunmappedstop-enumeration.md
index b5418a101fc54..626b997a4f2dc 100644
--- a/docs/framework/unmanaged-api/debugging/cordebugunmappedstop-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebugunmappedstop-enumeration.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugUnmappedStop"
helpviewer_keywords:
- - "CorDebugUnmappedStop enumeration [.NET Framework debugging]"
-ms.assetid: a684f7d7-d0c2-4690-b721-639e613f11f8
+ - "CorDebugUnmappedStop enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -52,14 +51,10 @@ typedef enum CorDebugUnmappedStop {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/cordebuguserstate-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/cordebuguserstate-enumeration.md
similarity index 85%
rename from docs/framework/unmanaged-api/debugging/cordebuguserstate-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/cordebuguserstate-enumeration.md
index 099fe26589070..1643670f205b7 100644
--- a/docs/framework/unmanaged-api/debugging/cordebuguserstate-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/cordebuguserstate-enumeration.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "CorDebugUserState"
helpviewer_keywords:
- - "CorDebugUserState enumeration [.NET Framework debugging]"
-ms.assetid: 5f6c2bcd-8102-4e3b-abc5-86ab0bd62def
+ - "CorDebugUserState enumeration [.NET debugging]"
topic_type:
- "apiref"
---
@@ -58,14 +57,10 @@ typedef enum CorDebugUserState {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/corgcreferencetype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/corgcreferencetype-enumeration.md
new file mode 100644
index 0000000000000..0cd686411d962
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/corgcreferencetype-enumeration.md
@@ -0,0 +1,79 @@
+---
+title: "CorGCReferenceType Enumeration"
+description: "Learn more about: CorGCReferenceType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorGCReferenceType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorGCReferenceType"
+helpviewer_keywords:
+ - "CorGCReferenceType"
+topic_type:
+ - "apiref"
+---
+# CorGCReferenceType Enumeration
+
+Identifies the source of an object to be garbage-collected.
+
+## Syntax
+
+```cpp
+typedef enum {
+ CorHandleStrong = 1,
+ CorHandleStrongPinning = 2,
+ CorHandleWeakShort = 4,
+ CorHandleWeakRefCount = 8,
+ CorHandleStrongRefCount = 32,
+ CorHandleStrongDependent = 64,
+ CorHandleStrongAsyncPinned = 128,
+ CorHandleStrongSizedByref = 256,
+ CorHandleWeakWinRT = 512,
+
+ CorReferenceStack = 0x80000001,
+ CorReferenceFinalizer = 80000002, // Note the constant is decimal, not hexadecimal
+
+ CorHandleStrongOnly = 0x1E3,
+ CorHandleWeakOnly = 0xC,
+ CorHandleAll = 0x7FFFFFFF
+} CorGCReferenceType;
+```
+
+## Members
+
+| Member name | Description |
+|------------------------------|---------------------------------------------------------------------------|
+| `CorHandleStrong` | A handle to a strong reference from the object handle table. |
+| `CorHandleStrongPinning` | A handle to a pinned strong reference from the object handle table. |
+| `CorHandleWeakShort` | A handle to a weak reference from the object handle table. |
+| `CorHandleWeakRefCount` | A handle to a weak reference-counted object from the object handle table. |
+| `CorHandleStrongRefCount` | A handle to a reference-counted object from the object handle table. |
+| `CorHandleStrongDependent` | A handle to a dependent object from the object handle table. |
+| `CorHandleStrongAsyncPinned` | An asynchronous pinned object from the object handle table. |
+|`CorHandleStrongSizedByref`|A strong handle that keeps an approximate size of the collective closure of all objects and object roots at garbage collection time.|
+|`CorHandleWeakWinRT`|A weak handle to a RCW (Runtime Callable Wrapper). An RCW is a managed object that proxies calls to an underlying COM object.|
+|`CorReferenceStack`|A reference from the managed stack.|
+|`CorReferenceFinalizer`|A reference from the finalizer queue.|
+|CorHandleStrongOnly|Return only strong references from the handle table. This value is used by the [ICorDebugProcess5::EnumerateHandles](icordebugprocess5-enumeratehandles-method.md) method only.|
+|`CorHandleWeakOnly`|Return only weak references from the handle table. This value is used by the [ICorDebugProcess5::EnumerateHandles](icordebugprocess5-enumeratehandles-method.md) method only.|
+|`CorHandleAll`|Return all references from the handle table. This value is used by the [ICorDebugProcess5::EnumerateHandles](icordebugprocess5-enumeratehandles-method.md) method only.|
+
+## Remarks
+
+ The `CorGCReferenceType` enumeration is used as follows:
+
+- As the value of the `type` field of the [COR_GC_REFERENCE](cor-gc-reference-structure.md) structure, it indicates the source of a reference or handle.
+- As the `types` argument to the [ICorDebugProcess5::EnumerateHandles](icordebugprocess5-enumeratehandles-method.md) method, it specifies the types of handles to include in the enumeration.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-canlaunchorattach-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-canlaunchorattach-method.md
new file mode 100644
index 0000000000000..ecd7c40e6735e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-canlaunchorattach-method.md
@@ -0,0 +1,67 @@
+---
+description: "Learn more about: ICorDebug::CanLaunchOrAttach Method"
+title: "ICorDebug::CanLaunchOrAttach Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.CanLaunchOrAttach"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::CanLaunchOrAttach"
+helpviewer_keywords:
+ - "ICorDebug::CanLaunchOrAttach method [.NET debugging]"
+ - "CanLaunchOrAttach method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::CanLaunchOrAttach Method
+
+Returns an HRESULT that indicates whether launching a new process or attaching to the specified existing process is possible within the context of the current machine and runtime configuration.
+
+## Syntax
+
+```cpp
+HRESULT CanLaunchOrAttach (
+ [in] DWORD dwProcessId,
+ [in] BOOL win32DebuggingEnabled
+);
+```
+
+## Parameters
+
+ `dwProcessId`
+ [in] The ID of an existing process.
+
+ `win32DebuggingEnabled`
+ [in] Pass in `true` if you plan to launch with Win32 debugging enabled, or to attach with Win32 debugging enabled; otherwise, pass `false`.
+
+## Return Value
+
+S_OK if the debugging services determine that launching a new process or attaching to the given process is possible, given the information about the current machine and runtime configuration. Possible HRESULT values are:
+
+- S_OK
+- CORDBG_E_DEBUGGING_NOT_POSSIBLE
+- CORDBG_E_KERNEL_DEBUGGER_PRESENT
+- CORDBG_E_KERNEL_DEBUGGER_ENABLED
+
+## Remarks
+
+This method is purely informational. The interface will not stop you from launching or attaching to a process, regardless of the value returned by `CanLaunchOrAttach`.
+
+If you plan to launch with Win32 debugging enabled or attach with Win32 debugging enabled, pass `true` for `win32DebuggingEnabled`. The HRESULT returned by `CanLaunchOrAttach` might differ if you use this option.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebug-createprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-createprocess-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebug-createprocess-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebug-createprocess-method.md
index 25489ba943124..b891f05193699 100644
--- a/docs/framework/unmanaged-api/debugging/icordebug-createprocess-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-createprocess-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebug::CreateProcess"
helpviewer_keywords:
- - "ICorDebug::CreateProcess method [.NET Framework debugging]"
- - "CreateProcess method, ICorDebugProcess interface [.NET Framework debugging]"
-ms.assetid: b6128694-11ed-46e7-bd4e-49ea1914c46a
+ - "ICorDebug::CreateProcess method [.NET debugging]"
+ - "CreateProcess method, ICorDebugProcess interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -80,23 +79,23 @@ HRESULT CreateProcess (
## Remarks
- The parameters of this method are the same as those of the Win32 `CreateProcess` method.
+The parameters of this method are the same as those of the Win32 `CreateProcess` method.
- To enable unmanaged mixed-mode debugging, set `dwCreationFlags` to DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. If you want to use only managed debugging, do not set these flags.
+To enable unmanaged mixed-mode debugging, set `dwCreationFlags` to DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. If you want to use only managed debugging, do not set these flags.
- If the debugger and the process to be debugged (the attached process) share a single console, and if interop debugging is used, it is possible for the attached process to hold console locks and stop at a debug event. The debugger will then block any attempt to use the console. To avoid this problem, set the CREATE_NEW_CONSOLE flag in the `dwCreationFlags` parameter.
+If the debugger and the process to be debugged (the attached process) share a single console, and if interop debugging is used, it is possible for the attached process to hold console locks and stop at a debug event. The debugger will then block any attempt to use the console. To avoid this problem, set the CREATE_NEW_CONSOLE flag in the `dwCreationFlags` parameter.
- Interop debugging is not supported on Win9x and non-x86 platforms such as IA-64-based and AMD64-based platforms.
+Interop debugging is not supported on Win9x and non-x86 platforms such as IA-64-based and AMD64-based platforms.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-debugactiveprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-debugactiveprocess-method.md
new file mode 100644
index 0000000000000..5e5b6089757d8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-debugactiveprocess-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebug::DebugActiveProcess Method"
+title: "ICorDebug::DebugActiveProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.DebugActiveProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::DebugActiveProcess"
+helpviewer_keywords:
+ - "DebugActiveProcess method [.NET debugging]"
+ - "ICorDebug::DebugActiveProcess method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::DebugActiveProcess Method
+
+Attaches the debugger to an existing process.
+
+## Syntax
+
+```cpp
+HRESULT DebugActiveProcess (
+ [in] DWORD id,
+ [in] BOOL win32Attach,
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `id`
+ [in] The ID of the process to which the debugger is to be attached.
+
+ `win32Attach`
+ [in] Boolean value that is set to `true` if the debugger should behave as the Win32 debugger for the process and dispatch the unmanaged callbacks; otherwise, `false`.
+
+ `ppProcess`
+ [out] A pointer to the address of an "ICorDebugProcess" object that represents the process to which the debugger has been attached.
+
+## Remarks
+
+Interop debugging is not supported on Win9x and non-x86 platforms, such as IA-64-based and AMD64-based platforms.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-enumerateprocesses-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-enumerateprocesses-method.md
new file mode 100644
index 0000000000000..94f8b14425db9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-enumerateprocesses-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebug::EnumerateProcesses Method"
+title: "ICorDebug::EnumerateProcesses Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.EnumerateProcesses"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "EnumerateProcesses"
+helpviewer_keywords:
+ - "EnumerateProcesses method [.NET debugging]"
+ - "ICorDebug::EnumerateProcesses method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::EnumerateProcesses Method
+
+Gets an enumerator for the processes that are being debugged.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateProcesses (
+ [out] ICorDebugProcessEnum **ppProcess
+);
+```
+
+## Parameters
+
+ `ppProcess`
+A pointer to the address of an ICorDebugProcessEnum object that is the enumerator for the processes being debugged.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-getprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-getprocess-method.md
new file mode 100644
index 0000000000000..50f4d623695c4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-getprocess-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebug::GetProcess Method"
+title: "ICorDebug::GetProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.GetProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::GetProcess"
+helpviewer_keywords:
+ - "GetProcess method, ICorDebug interface [.NET debugging]"
+ - "ICorDebug::GetProcess method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::GetProcess Method
+
+Gets a pointer to the "ICorDebugProcess" instance for the specified process.
+
+## Syntax
+
+```cpp
+HRESULT GetProcess (
+ [in] DWORD dwProcessId,
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `dwProcessId`
+ [in] The ID of the process.
+
+ `ppProcess`
+ [out] A pointer to the address of a `ICorDebugProcess` instance for the specified process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-initialize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-initialize-method.md
new file mode 100644
index 0000000000000..2113a216b2c3a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-initialize-method.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebug::Initialize Method"
+title: "ICorDebug::Initialize Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.Initialize"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::Initialize"
+helpviewer_keywords:
+ - "Initialize method, ICorDebug interface [.NET debugging]"
+ - "ICorDebug::Initialize method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::Initialize Method
+
+Initializes the `ICorDebug` object.
+
+## Syntax
+
+```cpp
+HRESULT Initialize ();
+```
+
+## Remarks
+
+The debugger must call `Initialize` at creation time to initialize the debugging services. This method must be called before any other method on `ICorDebug` is called.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-interface.md
new file mode 100644
index 0000000000000..4a9e59aa53514
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-interface.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebug Interface"
+title: "ICorDebug Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug"
+helpviewer_keywords:
+ - "ICorDebug interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug Interface
+
+Provides methods that allow developers to debug applications in the common language runtime (CLR) environment.
+
+> [!NOTE]
+> Mixed-mode (managed and native code) debugging is not supported on non-x86 platforms (such as IA64 and AMD64).
+
+## Methods
+
+| Method | Description |
+|-------------------------------------------------------------------|-------------|
+| [CanLaunchOrAttach Method](icordebug-canlaunchorattach-method.md) | Determines whether launching a new process or attaching to the given process is possible within the context of the current machine and runtime configuration. |
+|[CreateProcess Method](icordebug-createprocess-method.md)|Launches a process and its primary thread under the control of the debugger.|
+|[DebugActiveProcess Method](icordebug-debugactiveprocess-method.md)|Attaches the debugger to an existing process.|
+|[EnumerateProcesses Method](icordebug-enumerateprocesses-method.md)|Gets an enumerator for the processes that are being debugged.|
+|[GetProcess Method](icordebug-getprocess-method.md)|Returns the "ICorDebugProcess" object with the given process ID.|
+|[Initialize Method](icordebug-initialize-method.md)|Initializes the `ICorDebug` object.|
+|[SetManagedHandler Method](icordebug-setmanagedhandler-method.md)|Specifies the event handler object for managed events.|
+|[SetUnmanagedHandler Method](icordebug-setunmanagedhandler-method.md)|Specifies the event handler object for unmanaged events.|
+|[Terminate Method](icordebug-terminate-method.md)|Terminates the `ICorDebug` object.|
+
+## Remarks
+
+ `ICorDebug` represents an event processing loop for a debugger process. The debugger must wait for the [ICorDebugManagedCallback::ExitProcess](icordebugmanagedcallback-exitprocess-method.md) callback from all processes being debugged before releasing this interface.
+
+The `ICorDebug` object must be created by the [CreateDebuggingInterfaceFromVersion function](../createdebugginginterfacefromversion-function.md) function, which allows clients to get a specific implementation of `ICorDebug` that emulates a specific version of the debugging API.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-setmanagedhandler-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-setmanagedhandler-method.md
new file mode 100644
index 0000000000000..00b48b2b78a83
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-setmanagedhandler-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebug::SetManagedHandler Method"
+title: "ICorDebug::SetManagedHandler Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.SetManagedHandler"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::SetManagedHandler"
+helpviewer_keywords:
+ - "ICorDebug::SetManagedHandler method [.NET debugging]"
+ - "SetManagedHandler method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::SetManagedHandler Method
+
+Specifies the event handler object for managed events.
+
+## Syntax
+
+```cpp
+HRESULT SetManagedHandler (
+ [in] ICorDebugManagedCallback *pCallback
+);
+```
+
+## Parameters
+
+ `pCallback`
+ [in] A pointer to an [ICorDebugManagedCallback](icordebugmanagedcallback-interface.md) object, which is the event handler object.
+
+## Remarks
+
+ `SetManagedHandler` must be called at creation time.
+
+If the `ICorDebugManagedCallback` implementation does not contain sufficient interfaces to handle debugging events for the application that is being debugged, `SetManagedHandler` returns an HRESULT of E_NOINTERFACE.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-setunmanagedhandler-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-setunmanagedhandler-method.md
new file mode 100644
index 0000000000000..9e9e1db69f969
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-setunmanagedhandler-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebug::SetUnmanagedHandler Method"
+title: "ICorDebug::SetUnmanagedHandler Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.SetUnmanagedHandler"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::SetUnmanagedHandler"
+helpviewer_keywords:
+ - "SetUnmanagedHandler method [.NET debugging]"
+ - "ICorDebug::SetUnmanagedHandler method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::SetUnmanagedHandler Method
+
+Specifies the event handler object for unmanaged events.
+
+## Syntax
+
+```cpp
+HRESULT SetUnmanagedHandler (
+ [in] ICorDebugUnmanagedCallback *pCallback
+);
+```
+
+## Parameters
+
+ `pCallback`
+ [in] A pointer to an [ICorDebugUnmanagedCallback](icordebugunmanagedcallback-interface.md) object that represents the event handler for unmanaged events.
+
+## Remarks
+
+The event handler object for unmanaged events must be set after a call to [ICorDebug::Initialize](icordebug-initialize-method.md) and before any calls to [ICorDebug::CreateProcess](icordebug-createprocess-method.md) or [ICorDebug::DebugActiveProcess](icordebug-debugactiveprocess-method.md). However, for legacy purposes, you are not required to set the event handler object for unmanaged events until the first native debug event is raised. Specifically, if `ICorDebug::CreateProcess` has set the CREATE_SUSPENDED flag, native debug events cannot be dispatched until the main thread is resumed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebug-terminate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebug-terminate-method.md
new file mode 100644
index 0000000000000..6100a1bd0635c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebug-terminate-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebug::Terminate Method"
+title: "ICorDebug::Terminate Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebug.Terminate"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebug::Terminate"
+helpviewer_keywords:
+ - "Terminate method, ICorDebug interface [.NET debugging]"
+ - "ICorDebug::Terminate method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebug::Terminate Method
+
+Terminates the `ICorDebug` object.
+
+> [!NOTE]
+> `Terminate` should not be called until an [ICorDebugManagedCallback::ExitProcess](icordebugmanagedcallback-exitprocess-method.md) callback has been received for all processes being debugged.
+
+## Syntax
+
+```cpp
+HRESULT Terminate ();
+```
+
+## Remarks
+
+ `Terminate` must be called when the `ICorDebug` object is no longer needed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-attach-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-attach-method.md
new file mode 100644
index 0000000000000..a4de2382c9562
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-attach-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugAppDomain::Attach Method"
+title: "ICorDebugAppDomain::Attach Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.Attach"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::Attach"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::Attach method [.NET debugging]"
+ - "Attach method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::Attach Method
+
+Attaches the debugger to the application domain.
+
+## Syntax
+
+```cpp
+HRESULT Attach ();
+```
+
+## Remarks
+
+The debugger must be attached to the application domain to receive events and to enable debugging of the application domain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumerateassemblies-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumerateassemblies-method.md
new file mode 100644
index 0000000000000..de459c84e0705
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumerateassemblies-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugAppDomain::EnumerateAssemblies Method"
+title: "ICorDebugAppDomain::EnumerateAssemblies Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.EnumerateAssemblies"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::EnumerateAssemblies"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::EnumerateAssemblies method [.NET debugging]"
+ - "EnumerateAssemblies method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::EnumerateAssemblies Method
+
+Gets an enumerator for the assemblies in the application domain.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateAssemblies (
+ [out] ICorDebugAssemblyEnum **ppAssemblies
+);
+```
+
+## Parameters
+
+ `ppAssemblies`
+ [out] A pointer to the address of an ICorDebugAssemblyEnum object that is the enumerator for the assemblies in the application domain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratebreakpoints-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratebreakpoints-method.md
new file mode 100644
index 0000000000000..4ee7d5c7d5848
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratebreakpoints-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAppDomain::EnumerateBreakpoints Method"
+title: "ICorDebugAppDomain::EnumerateBreakpoints Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.EnumerateBreakpoints"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::EnumerateBreakpoints"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::EnumerateBreakpoints method [.NET debugging]"
+ - "EnumerateBreakpoints method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::EnumerateBreakpoints Method
+
+Gets an enumerator for all active breakpoints in the application domain.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateBreakpoints (
+ [out] ICorDebugBreakpointEnum **ppBreakpoints
+);
+```
+
+## Parameters
+
+ `ppBreakpoints`
+ [out] A pointer to the address of an ICorDebugBreakpointEnum object that is the enumerator for all active breakpoints in the application domain.
+
+## Remarks
+
+The enumerator includes all types of breakpoints, including function breakpoints and data breakpoints.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratesteppers-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratesteppers-method.md
new file mode 100644
index 0000000000000..b825caf6ac00f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-enumeratesteppers-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugAppDomain::EnumerateSteppers Method"
+title: "ICorDebugAppDomain::EnumerateSteppers Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.EnumerateSteppers"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::EnumerateSteppers"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::EnumerateSteppers method [.NET debugging]"
+ - "EnumerateSteppers method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::EnumerateSteppers Method
+
+Gets an enumerator for all active steppers in the application domain.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateSteppers (
+ [out] ICorDebugStepperEnum **ppSteppers
+);
+```
+
+## Parameters
+
+ `ppSteppers`
+ [out] A pointer to the address of an ICorDebugStepperEnum object that is the enumerator for all active steppers in the application domain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getid-method.md
new file mode 100644
index 0000000000000..ada16e05ad8df
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getid-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAppDomain::GetId Method"
+title: "ICorDebugAppDomain::GetId Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.GetId"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::GetId"
+helpviewer_keywords:
+ - "GetId method, ICorDebugAppDomain interface [.NET debugging]"
+ - "ICorDebugAppDomain::GetId method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::GetId Method
+
+Gets the unique identifier of the application domain.
+
+## Syntax
+
+```cpp
+HRESULT GetID (
+ [out] ULONG32 *pId
+);
+```
+
+## Parameters
+
+ `pId`
+ [out] The unique identifier of the application domain.
+
+## Remarks
+
+The identifier for the application domain is unique within the containing process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getmodulefrommetadatainterface-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getmodulefrommetadatainterface-method.md
new file mode 100644
index 0000000000000..06959f758ca2a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getmodulefrommetadatainterface-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAppDomain::GetModuleFromMetaDataInterface Method"
+title: "ICorDebugAppDomain::GetModuleFromMetaDataInterface Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.GetModuleFromMetaDataInterface"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::GetModuleFromMetaDataInterface"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::GetModuleFromMetaDatainterface method [.NET debugging]"
+ - "GetModuleFromMetaDatainterface method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::GetModuleFromMetaDataInterface Method
+
+Gets the module that corresponds to the given metadata interface.
+
+## Syntax
+
+```cpp
+HRESULT GetModuleFromMetaDataInterface (
+ [in] IUnknown *pIMetaData,
+ [out] ICorDebugModule **ppModule
+);
+```
+
+## Parameters
+
+ `pIMetaData`
+ [in] A pointer to an object that is one of the [Metadata interfaces](../../metadata/interfaces/metadata-interfaces.md).
+
+ `ppModule`
+ [out] A pointer to the address of an ICorDebugModule object that represents the module corresponding to the given metadata interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getname-method.md
new file mode 100644
index 0000000000000..6e22219e51d58
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getname-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugAppDomain::GetName Method"
+title: "ICorDebugAppDomain::GetName Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.GetName"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::GetName"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::GetName method [.NET debugging]"
+ - "GetName method, ICorDebugAppDomain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::GetName Method
+
+Gets the name of the application domain.
+
+## Syntax
+
+```cpp
+HRESULT GetName (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)]
+ WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The size of the `szName` array. Set this value to zero to put this method in query mode.
+
+ `pcchName`
+ [out] A pointer to the size of the name or the number of characters actually returned in `szName`. In query mode, this value lets the caller know how large a buffer to allocate for the name.
+
+ `szName`
+ [out] An array that stores the name of the application domain.
+
+## Remarks
+
+A debugger calls the `GetName` method once to get the size of a buffer needed for the name. The debugger allocates the buffer, and then calls the method a second time to fill the buffer. The first call, to get the size of the name, is referred to as *query mode*.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getobject-method.md
new file mode 100644
index 0000000000000..9bb9f77ca58ca
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getobject-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugAppDomain::GetObject Method"
+title: "ICorDebugAppDomain::GetObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.GetObject"
+api_location:
+ - "corguids.lib"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::GetObject"
+helpviewer_keywords:
+ - "ICorDebugAppDomain::GetObject method [.NET debugging]"
+ - "GetObject method, ICorDebugAppDomain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::GetObject Method
+
+Gets an interface pointer to the common language runtime (CLR) application domain.
+
+## Syntax
+
+```cpp
+HRESULT GetObject (
+ [out] ICorDebugValue **ppObject
+);
+```
+
+## Parameters
+
+ `ppObject`
+ [out] A pointer to the address of an ICorDebugValue interface object that represents the CLR application domain.
+
+## Return Value
+
+If a managed object hasn't been constructed for this application domain, the method returns `S_FALSE` and places `NULL` in `*ppObject`.
+
+## Remarks
+
+Each application domain in a process may have a managed object in the runtime that represents it. This function gets an ICorDebugValue interface object that corresponds to this managed object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getprocess-method.md
new file mode 100644
index 0000000000000..1b3822583b9e1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-getprocess-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugAppDomain::GetProcess Method"
+title: "ICorDebugAppDomain::GetProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.GetProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::GetProcess"
+helpviewer_keywords:
+ - "GetProcess method, ICorDebugAppDomain interface [.NET debugging]"
+ - "ICorDebugAppDomain::GetProcess method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::GetProcess Method
+
+Gets the process containing the application domain.
+
+## Syntax
+
+```cpp
+HRESULT GetProcess (
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `ppProcess`
+ [out] A pointer to the address of an ICorDebugProcess object that represents the process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugappdomain-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-interface.md
similarity index 84%
rename from docs/framework/unmanaged-api/debugging/icordebugappdomain-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-interface.md
index e6e0387039881..053ca9c30b037 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugappdomain-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugAppDomain"
helpviewer_keywords:
- - "ICorDebugAppDomain interface [.NET Framework debugging]"
-ms.assetid: be7ae711-1217-4a44-be40-166e29641b77
+ - "ICorDebugAppDomain interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -42,14 +41,10 @@ Provides methods for debugging application domains. This interface is a subclass
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-isattached-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-isattached-method.md
new file mode 100644
index 0000000000000..eae72ce7a46eb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain-isattached-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAppDomain::IsAttached Method"
+title: "ICorDebugAppDomain::IsAttached Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain.IsAttached"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain::IsAttached"
+helpviewer_keywords:
+ - "IsAttached method [.NET debugging]"
+ - "ICorDebugAppDomain::IsAttached method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain::IsAttached Method
+
+Gets a value that indicates whether the debugger is attached to the application domain.
+
+## Syntax
+
+```cpp
+HRESULT IsAttached (
+ [out] BOOL *pbAttached
+);
+```
+
+## Parameters
+
+ `pbAttached`
+ [out] `true` if the debugger is attached to the application domain; otherwise, `false`.
+
+## Remarks
+
+The ICorDebugController methods cannot be used until the debugger attaches to the application domain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getarrayorpointertype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getarrayorpointertype-method.md
new file mode 100644
index 0000000000000..89bcefe6d5192
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getarrayorpointertype-method.md
@@ -0,0 +1,68 @@
+---
+description: "Learn more about: ICorDebugAppDomain2::GetArrayOrPointerType Method"
+title: "ICorDebugAppDomain2::GetArrayOrPointerType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain2.GetArrayOrPointerType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain2::GetArrayOrPointerType"
+helpviewer_keywords:
+ - "GetArrayOrPointerType method [.NET debugging]"
+ - "ICorDebugAppDomain2::GetArrayOrPointerType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain2::GetArrayOrPointerType Method
+
+Gets an array of the specified type, or a pointer or reference to the specified type.
+
+## Syntax
+
+```cpp
+HRESULT GetArrayOrPointerType (
+ [in] CorElementType elementType,
+ [in] ULONG32 nRank,
+ [in] ICorDebugType *pTypeArg,
+ [out] ICorDebugType **ppType
+);
+```
+
+## Parameters
+
+ `elementType`
+ [in] A value of the CorElementType enumeration that specifies the underlying native type (an array, pointer, or reference) to be created.
+
+ `nRank`
+ [in] The rank (that is, number of dimensions) of the array. This value must be 0 if `elementType` specifies a pointer or reference type.
+
+ `pTypeArg`
+ [in] A pointer to an ICorDebugType object that represents the type of array, pointer, or reference to be created.
+
+ `ppType`
+ [out] A pointer to the address of an `ICorDebugType` object that represents the constructed array, pointer type, or reference type.
+
+## Remarks
+
+The value of *elementType* must be one of the following:
+
+- ELEMENT_TYPE_PTR
+
+- ELEMENT_TYPE_BYREF
+
+- ELEMENT_TYPE_ARRAY or ELEMENT_TYPE_SZARRAY
+
+If the value of *elementType* is ELEMENT_TYPE_PTR or ELEMENT_TYPE_BYREF, *nRank* must be zero.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getfunctionpointertype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getfunctionpointertype-method.md
new file mode 100644
index 0000000000000..361ccb4859b2c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-getfunctionpointertype-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugAppDomain2::GetFunctionPointerType Method"
+title: "ICorDebugAppDomain2::GetFunctionPointerType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain2.GetFunctionPointerType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain2::GetFunctionPointerType"
+helpviewer_keywords:
+ - "ICorDebugAppDomain2::GetFunctionPointerType method [.NET debugging]"
+ - "GetFunctionPointerType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain2::GetFunctionPointerType Method
+
+Gets a pointer to a function that has a given signature.
+
+## Syntax
+
+```cpp
+HRESULT GetFunctionPointerType (
+ [in] ULONG32 nTypeArgs,
+ [in, size_is(nTypeArgs)] ICorDebugType *ppTypeArgs[],
+ [out] ICorDebugType **ppType
+);
+```
+
+## Parameters
+
+ `nTypeArgs`
+ [in] The number of type arguments for the function.
+
+ `ppTypeArgs`
+ [in] An array of pointers, each of which points to an ICorDebugType object that represents a type argument of the function. The first element is the return type; each of the other elements is a parameter type.
+
+ `ppType`
+ [out] A pointer to the address of an `ICorDebugType` object that represents the pointer to the function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-interface.md
new file mode 100644
index 0000000000000..56f95c19842a9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain2-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugAppDomain2 Interface"
+title: "ICorDebugAppDomain2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain2"
+helpviewer_keywords:
+ - "ICorDebugAppDomain2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain2 Interface
+
+Provides methods to work with arrays, pointers, function pointers, and reference types. This interface is an extension of the ICorDebugAppDomain interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetArrayOrPointerType Method](icordebugappdomain2-getarrayorpointertype-method.md)|Gets an array of the specified type, or a pointer or reference to the specified type.|
+|[GetFunctionPointerType](icordebugappdomain2-getfunctionpointertype-method.md)|Gets a pointer to a function that has a given signature.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypes-method.md
new file mode 100644
index 0000000000000..82b84c18170ae
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypes-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAppDomain3::GetCachedWinRTTypes Method"
+title: "ICorDebugAppDomain3::GetCachedWinRTTypes Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain3.GetCachedWinRTTypes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain3::GetCachedWinRTTypes"
+helpviewer_keywords:
+ - "ICorDebugAppDomain3::GetCachedWinRTTypes method [.NET debugging]"
+ - "GetCachedWinRTTypes method, ICorDebugAppDomain3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain3::GetCachedWinRTTypes Method
+
+Gets an enumerator for all cached Windows Runtime types.
+
+## Syntax
+
+```cpp
+HRESULT GetCachedWinRTTypes (
+ [out] ICorDebugGuidToTypeEnum **ppGuidToTypeEnum)
+;
+```
+
+## Parameters
+
+ `ppGuidToTypeEnum`
+ [out] A pointer to an [ICorDebugGuidToTypeEnum](icordebugguidtotypeenum-interface.md) interface object that can enumerate the managed representations of Windows Runtime types currently loaded in the application domain.
+
+## Requirements
+
+ **Platforms:** Windows Runtime
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugAppDomain3 Interface](icordebugappdomain3-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugappdomain3-getcachedwinrttypesforiids-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypesforiids-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugappdomain3-getcachedwinrttypesforiids-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypesforiids-method.md
index 374fdd1a07810..731f2cf22f9c5 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugappdomain3-getcachedwinrttypesforiids-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-getcachedwinrttypesforiids-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugAppDomain3::GetCachedWinRTTypesForIIDs"
helpviewer_keywords:
- - "ICorDebugAppDomain3::GetCachedWinRTTypesForIIDs method, [.NET Framework debugging]"
- - "GetCachedWinRTTypesForIIDs method, ICorDebugAppDomain3 interface [.NET Framework debugging]"
-ms.assetid: 23682ca0-1bcf-48e6-996e-69f7ba337682
+ - "ICorDebugAppDomain3::GetCachedWinRTTypesForIIDs method, [.NET debugging]"
+ - "GetCachedWinRTTypesForIIDs method, ICorDebugAppDomain3 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -44,7 +43,7 @@ HRESULT GetCachedWinRTTypesForIIDs (
## Remarks
- If the method fails to retrieve information for a specific interface identifier, the corresponding entry in the "ICorDebugTypeEnum" collection will have a type of `ELEMENT_TYPE_END` for errors due to data retrieval issues, or `ELEMENT_TYPE_VOID` for unknown interface identifiers.
+If the method fails to retrieve information for a specific interface identifier, the corresponding entry in the "ICorDebugTypeEnum" collection will have a type of `ELEMENT_TYPE_END` for errors due to data retrieval issues, or `ELEMENT_TYPE_VOID` for unknown interface identifiers.
## Requirements
@@ -54,7 +53,7 @@ HRESULT GetCachedWinRTTypesForIIDs (
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-interface.md
new file mode 100644
index 0000000000000..7af7c7742cab8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain3-interface.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugAppDomain3 Interface"
+title: "ICorDebugAppDomain3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomain3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomain3"
+helpviewer_keywords:
+ - "ICorDebugAppDomain3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomain3 Interface
+
+Provides methods to retrieve information about the managed representations of Windows Runtime types currently loaded in an application domain. This interface is an extension of the ICorDebugAppDomain and ICorDebugAppDomain2 interfaces.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[ICorDebugAppDomain3::GetCachedWinRTTypes](icordebugappdomain3-getcachedwinrttypes-method.md)|Gets an enumerator for all cached Windows Runtime types.|
+|[ICorDebugAppDomain3::GetCachedWinRTTypesForIIDs](icordebugappdomain3-getcachedwinrttypesforiids-method.md)|Gets an enumerator for cached Windows Runtime types in an application domain based on their interface identifiers.|
+
+## Remarks
+
+This interface is meant to be used by a debugger in conjunction with a function evaluation call to `M:System.Runtime.InteropServices.Marshal.GetInspectableIIDs(System.Object)`. When the method retrieves the interface identifiers supported by a Windows Runtime server object, the debugger may use the methods defined in this interface to map them to managed types that correspond to those interfaces.
+
+To retrieve an instance of this interface, run `QueryInterface` on an instance of the ICorDebugAppDomain or ICorDebugAppDomain2 interface.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** Windows Runtime
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-getobjectforccw-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-getobjectforccw-method.md
new file mode 100644
index 0000000000000..544744ea30888
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-getobjectforccw-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugAppDomain4::GetObjectForCCW Method"
+title: "ICorDebugAppDomain4::GetObjectForCCW Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugAppDomain4::GetObjectForCCW Method
+
+Gets a managed object from a COM callable wrapper (CCW) pointer.
+
+## Syntax
+
+```cpp
+HRESULT GetObjectForCCW(
+ [in]CORDB_ADDRESS ccwPointer,
+ [out]ICorDebugValue **ppManagedObject
+);
+```
+
+## Parameters
+
+ `ccwPointer`
+ [in] A COM callable wrapper (CCW) pointer.
+
+ `ppManagedObject`
+ [out] A pointer to the address of an "ICorDebugValue" object that represents the managed object that corresponds to the given CCW pointer.
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugAppDomain4 Interface](icordebugappdomain4-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-interface.md
new file mode 100644
index 0000000000000..1ebfca32ec0be
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomain4-interface.md
@@ -0,0 +1,26 @@
+---
+description: "Learn more about: ICorDebugAppDomain4 Interface"
+title: "ICorDebugAppDomain4 Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugAppDomain4 Interface
+
+Logically extends the ICorDebugAppDomain interface to get a managed object from a COM callable wrapper.
+
+## Method
+
+|Method|Description|
+|------------|-----------------|
+|[GetObjectForCCW Method](icordebugappdomain4-getobjectforccw-method.md)|Gets a managed object from a COM callable wrapper (CCW) pointer.|
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-interface.md
new file mode 100644
index 0000000000000..942be60c2e346
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugAppDomainEnum Interface"
+title: "ICorDebugAppDomainEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomainEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomainEnum"
+helpviewer_keywords:
+ - "ICorDebugAppDomainEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomainEnum Interface
+
+Provides the `Next` method, which returns a specified number of `ICorDebugAppDomainEnum` values starting at the next location in the enumeration. This interface is a subclass of "ICorDebugEnum".
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugappdomainenum-next-method.md)|Gets the specified number of application domains from the collection, starting at the current cursor position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-next-method.md
new file mode 100644
index 0000000000000..2601c576d8e92
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugappdomainenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugAppDomainEnum::Next Method"
+title: "ICorDebugAppDomainEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAppDomainEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAppDomainEnum::Next method"
+helpviewer_keywords:
+ - "ICorDebugAppDomainEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugAppDomainEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAppDomainEnum::Next Method
+
+Gets the specified number of application domains from the collection, starting at the current cursor position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugAppDomain *values[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of application domains to be retrieved.
+
+ `values`
+ [out] An array of pointers, each of which points to an ICorDebugAppDomain object that represents an application domain.
+
+ `pceltFetched`
+ [out] A pointer to the number of application domains actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getbaseindicies-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getbaseindicies-method.md
new file mode 100644
index 0000000000000..11350e9fb8509
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getbaseindicies-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetBaseIndicies Method"
+title: "ICorDebugArrayValue::GetBaseIndicies Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetBaseIndicies"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetBaseIndicies"
+helpviewer_keywords:
+ - "ICorDebugArrayValue::GetBaseIndicies method [.NET debugging]"
+ - "GetBaseIndicies method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetBaseIndicies Method
+
+Gets the base index of each dimension in the array.
+
+## Syntax
+
+```cpp
+HRESULT GetBaseIndicies (
+ [in] ULONG32 cdim,
+ [out, size_is(cdim), length_is(cdim)]
+ ULONG32 indicies[]
+);
+```
+
+## Parameters
+
+ `cdim`
+ [in] The number of dimensions of this `ICorDebugArrayValue` object. This value is also the size of the `indicies` array because its size is equal to the number of dimensions of the `ICorDebugArrayValue` object.
+
+ `indicies`
+ [out] An array of integers, each of which is the base index (that is, the starting index) of a dimension of this `ICorDebugArrayValue` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getcount-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getcount-method.md
new file mode 100644
index 0000000000000..274732cd839f8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getcount-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetCount Method"
+title: "ICorDebugArrayValue::GetCount Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetCount"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetCount"
+helpviewer_keywords:
+ - "ICorDebugArrayValue::GetCount method [.NET debugging]"
+ - "GetCount method, ICorDebugArrayValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetCount Method
+
+Gets the total number of elements in the array.
+
+## Syntax
+
+```cpp
+HRESULT GetCount (
+ [out] ULONG32 *pnCount
+);
+```
+
+## Parameters
+
+ `pnCount`
+ [out] A pointer to the total number of elements in the array.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getdimensions-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getdimensions-method.md
new file mode 100644
index 0000000000000..ae6c2e2a2687a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getdimensions-method.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetDimensions Method"
+title: "ICorDebugArrayValue::GetDimensions Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetDimensions"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetDimensions"
+helpviewer_keywords:
+ - "ICorDebugArrayValue::GetDimensions method [.NET debugging]"
+ - "GetDimensions method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetDimensions Method
+
+Gets the number of elements in each dimension of this array.
+
+## Syntax
+
+```cpp
+HRESULT GetDimensions (
+ [in] ULONG32 cdim,
+ [out, size_is(cdim), length_is(cdim)]
+ ULONG32 dims[]
+);
+```
+
+## Parameters
+
+ `cdim`
+ [in] The number of dimensions of this ICorDebugArrayValue object.
+
+This value is also the size of the `dims` array because its size is equal to the number of dimensions of the `ICorDebugArrayValue` object.
+
+ `dims`
+ [out] An array of integers, each of which specifies the number of elements in a dimension in this `ICorDebugArrayValue` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelement-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelement-method.md
new file mode 100644
index 0000000000000..129c80e1ad3eb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelement-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetElement Method"
+title: "ICorDebugArrayValue::GetElement Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetElement"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetElement"
+helpviewer_keywords:
+ - "GetElement method [.NET debugging]"
+ - "ICorDebugArrayValue::GetElement method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetElement Method
+
+Gets the value of the given array element.
+
+## Syntax
+
+```cpp
+HRESULT GetElement (
+ [in] ULONG32 cdim,
+ [in, size_is(cdim), length_is(cdim)]
+ ULONG32 indices[],
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `cdim`
+ [in] The number of dimensions of this `ICorDebugArrayValue` object.
+
+This value is also the size of the `indices` array because its size is equal to the number of dimensions of the `ICorDebugArrayValue` object.
+
+ `indices`
+ [in] An array of index values, each of which specifies a position within a dimension of the `ICorDebugArrayValue` object.
+
+This value must not be null.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the value of the specified element.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementatposition-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementatposition-method.md
new file mode 100644
index 0000000000000..bdd22ab0f5ffc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementatposition-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetElementAtPosition Method"
+title: "ICorDebugArrayValue::GetElementAtPosition Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetElementAtPosition"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetElementAtPosition"
+helpviewer_keywords:
+ - "GetElementAtPosition method [.NET debugging]"
+ - "ICorDebugArrayValue::GetElementAtPosition method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetElementAtPosition Method
+
+Gets the element at the given position, treating the array as a zero-based, single-dimensional array.
+
+## Syntax
+
+```cpp
+HRESULT GetElementAtPosition (
+ [in] ULONG32 nPosition,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `nPosition`
+ [in] The position of the element to be retrieved.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the value of the element.
+
+## Remarks
+
+The layout of a multi-dimension array follows the C++ style of array layout.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementtype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementtype-method.md
new file mode 100644
index 0000000000000..5fb95f27a4a15
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getelementtype-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetElementType Method"
+title: "ICorDebugArrayValue::GetElementType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetElementType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetElementType"
+helpviewer_keywords:
+ - "ICorDebugArrayValue::GetElementType method [.NET debugging]"
+ - "GetElementType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetElementType Method
+
+Gets a value that indicates the simple type of the elements in the array.
+
+## Syntax
+
+```cpp
+HRESULT GetElementType (
+ [out] CorElementType *pType
+);
+```
+
+## Parameters
+
+ `pType`
+ [out] A pointer to a value of the CorElementType enumeration that indicates the type.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getrank-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getrank-method.md
new file mode 100644
index 0000000000000..28edb4d00125c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-getrank-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugArrayValue::GetRank Method"
+title: "ICorDebugArrayValue::GetRank Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.GetRank"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::GetRank"
+helpviewer_keywords:
+ - "ICorDebugArrayValue::GetRank method [.NET debugging]"
+ - "GetRank method, ICorDebugArrayValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::GetRank Method
+
+Gets the number of dimensions in the array.
+
+## Syntax
+
+```cpp
+HRESULT GetRank (
+ [out] ULONG32 *pnRank
+);
+```
+
+## Parameters
+
+ `pnRank`
+ [out] A pointer to the number of dimensions in this `ICorDebugArrayValue` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-hasbaseindicies-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-hasbaseindicies-method.md
new file mode 100644
index 0000000000000..d7ac657553cc9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-hasbaseindicies-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugArrayValue::HasBaseIndicies Method"
+title: "ICorDebugArrayValue::HasBaseIndicies Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugArrayValue.HasBaseIndicies"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugArrayValue::HasBaseIndicies"
+helpviewer_keywords:
+ - "HasBaseIndicies method [.NET debugging]"
+ - "ICorDebugArrayValue::HasBaseIndicies method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugArrayValue::HasBaseIndicies Method
+
+Gets a value that indicates whether any dimensions of this array have a base index of non-zero.
+
+## Syntax
+
+```cpp
+HRESULT HasBaseIndicies (
+ [out] BOOL *pbHasBaseIndicies
+);
+```
+
+## Parameters
+
+ `pbHasBaseIndicies`
+ [out] A pointer to a Boolean value that is `true` if one or more dimensions of this `ICorDebugArrayValue` object have a base index of non-zero; otherwise, the Boolean value is `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.1
diff --git a/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-interface.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/icordebugarrayvalue-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-interface.md
index 101da9bc0ce9d..3ba132e009138 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugarrayvalue-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugarrayvalue-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugArrayValue interface"
helpviewer_keywords:
- - "ICorDebugArrayValue interface [.NET Framework debugging]"
-ms.assetid: dc437751-7093-44e2-bfdc-191d9ce3c192
+ - "ICorDebugArrayValue interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -42,14 +41,10 @@ A subclass of ICorDebugHeapValue that represents a single-dimensional or multi-d
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-enumeratemodules-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-enumeratemodules-method.md
new file mode 100644
index 0000000000000..a4c3de97c23e9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-enumeratemodules-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugAssembly::EnumerateModules Method"
+title: "ICorDebugAssembly::EnumerateModules Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly.EnumerateModules"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly::EnumerateModules"
+helpviewer_keywords:
+ - "ICorDebugAssembly::EnumerateModules method [.NET debugging]"
+ - "EnumerateModules method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly::EnumerateModules Method
+
+Gets an enumerator for the modules contained in the `ICorDebugAssembly`.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateModules (
+ [out] ICorDebugModuleEnum **ppModules
+);
+```
+
+## Parameters
+
+ `ppModules`
+ [out] A pointer to the address of the ICorDebugModuleEnum interface that is the enumerator.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getappdomain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getappdomain-method.md
new file mode 100644
index 0000000000000..dd89ff5cf60cd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getappdomain-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAssembly::GetAppDomain Method"
+title: "ICorDebugAssembly::GetAppDomain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly.GetAppDomain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly::GetAppDomain"
+helpviewer_keywords:
+ - "ICorDebugAssembly::GetAppDomain method [.NET debugging]"
+ - "GetAppDomain method, ICorDebugAssembly interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly::GetAppDomain Method
+
+Gets an interface pointer to the application domain that contains this `ICorDebugAssembly` instance.
+
+## Syntax
+
+```cpp
+HRESULT GetAppDomain (
+ [out] ICorDebugAppDomain **ppAppDomain
+);
+```
+
+## Parameters
+
+ `ppAppDomain`
+ [out] A pointer to the address of an ICorDebugAppDomain interface that represents the application domain.
+
+## Remarks
+
+If this assembly is the system assembly, `GetAppDomain` returns null.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getcodebase-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getcodebase-method.md
new file mode 100644
index 0000000000000..c8dd92be79068
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getcodebase-method.md
@@ -0,0 +1,32 @@
+---
+description: "Learn more about: ICorDebugAssembly::GetCodeBase Method"
+title: "ICorDebugAssembly::GetCodeBase Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly.GetCodeBase"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly::GetCodeBase"
+helpviewer_keywords:
+ - "GetCodeBase method [.NET debugging]"
+ - "ICorDebugAssembly::GetCodeBase method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly::GetCodeBase Method
+
+This method is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetCodeBase (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)]
+ WCHAR szName[]
+);
+```
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getname-method.md
new file mode 100644
index 0000000000000..27c6aa381a559
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getname-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugAssembly::GetName Method"
+title: "ICorDebugAssembly::GetName Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly.GetName"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly::GetName"
+helpviewer_keywords:
+ - "ICorDebugAssembly::GetName method [.NET debugging]"
+ - "GetName method, ICorDebugAssembly interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly::GetName Method
+
+Gets the name of the assembly that this `ICorDebugAssembly` instance represents.
+
+## Syntax
+
+```cpp
+HRESULT GetName (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)] WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The size of the `szName` array.
+
+ `pcchName`
+ [out] A pointer to an integer that specifies the actual length of the name.
+
+ `szName`
+ [out] An array that stores the name.
+
+## Remarks
+
+The `GetName` method returns the full path and file name of the assembly.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getprocess-method.md
new file mode 100644
index 0000000000000..37a7af664cb3c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-getprocess-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugAssembly::GetProcess Method"
+title: "ICorDebugAssembly::GetProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly.GetProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly::GetProcess"
+helpviewer_keywords:
+ - "ICorDebugAssembly::GetProcess method [.NET debugging]"
+ - "GetProcess method, ICorDebugAssembly interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly::GetProcess Method
+
+Gets an interface pointer to the process in which this ICorDebugAssembly instance is running.
+
+## Syntax
+
+```cpp
+HRESULT GetProcess (
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `ppProcess`
+ [out] A pointer to an ICorDebugProcess interface that represents the process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-interface.md
new file mode 100644
index 0000000000000..c549a91086113
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugAssembly Interface"
+title: "ICorDebugAssembly Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly"
+helpviewer_keywords:
+ - "ICorDebugAssembly interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly Interface
+
+Represents an assembly.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateModules Method](icordebugassembly-enumeratemodules-method.md)|Gets an enumerator for the modules contained in the assembly.|
+|[GetAppDomain Method](icordebugassembly-getappdomain-method.md)|Gets an interface pointer to the application domain that contains this `ICorDebugAssembly` instance.|
+|[GetCodeBase Method](icordebugassembly-getcodebase-method.md)|Not implemented.|
+|[GetName Method](icordebugassembly-getname-method.md)|Gets the name of the assembly.|
+|[GetProcess Method](icordebugassembly-getprocess-method.md)|Gets the ICorDebugProcess instance in which the assembly is running.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-interface.md
new file mode 100644
index 0000000000000..917f88c396be4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugAssembly2 Interface"
+title: "ICorDebugAssembly2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly2"
+helpviewer_keywords:
+ - "ICorDebugAssembly2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly2 Interface
+
+Represents an assembly. This interface is an extension of the ICorDebugAssembly interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[IsFullyTrusted Method](icordebugassembly2-isfullytrusted-method.md)|Gets a value that indicates whether the assembly has been granted full trust by the runtime security system.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-isfullytrusted-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-isfullytrusted-method.md
new file mode 100644
index 0000000000000..5f2cb3f90d1e6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly2-isfullytrusted-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugAssembly2::IsFullyTrusted Method"
+title: "ICorDebugAssembly2::IsFullyTrusted Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssembly2.IsFullyTrusted"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssembly2::IsFullyTrusted"
+helpviewer_keywords:
+ - "ICorDebugAssembly2::IsFullyTrusted method [.NET debugging]"
+ - "IsFullyTrusted method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssembly2::IsFullyTrusted Method
+
+Gets a value that indicates whether the assembly has been granted full trust by the runtime security system.
+
+## Syntax
+
+```cpp
+HRESULT IsFullyTrusted(
+ [out] BOOL *pbFullyTrusted
+);
+```
+
+## Parameters
+
+ `pbFullyTrusted`
+ [out] `true` if the assembly has been granted full trust by the runtime security system; otherwise, `false`.
+
+## Remarks
+
+This method returns an HRESULT of CORDBG_E_NOTREADY if the security policy for the assembly has not yet been resolved, that is, if no code in the assembly has been run yet.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-enumeratecontainedassemblies-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-enumeratecontainedassemblies-method.md
new file mode 100644
index 0000000000000..96815c047f771
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-enumeratecontainedassemblies-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugAssembly3::EnumerateContainedAssemblies Method"
+title: "ICorDebugAssembly3::EnumerateContainedAssemblies Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugAssembly3::EnumerateContainedAssemblies Method
+
+Gets an enumerator for the assemblies contained in this assembly.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateContainedAssemblies(
+ ICorDebugAssemblyEnum **ppAssemblies
+);
+```
+
+## Parameters
+
+ `ppAssemblies`
+ [out] A pointer to the address of an ICorDebugAssemblyEnum interface object that is the enumerator.
+
+## Return Value
+
+ `S_OK` if this `ICorDebugAssembly3` object is a container; otherwise, `S_FALSE`, and the enumeration is empty.
+
+## Remarks
+
+Symbols are needed to enumerate the contained assemblies. If they aren't present, the method returns `S_FALSE`, and no valid enumerator is provided.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugAssembly3 Interface](icordebugassembly3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-getcontainerassembly-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-getcontainerassembly-method.md
new file mode 100644
index 0000000000000..96d9efb381b08
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-getcontainerassembly-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugAssembly3::GetContainerAssembly Method"
+title: "ICorDebugAssembly3::GetContainerAssembly Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugAssembly3::GetContainerAssembly Method
+
+Returns the container assembly of this `ICorDebugAssembly3` object.
+
+## Syntax
+
+```cpp
+HRESULT GetContainerAssembly(
+ ICorDebugAssembly **ppAssembly
+);
+```
+
+## Parameters
+
+ `ppAssembly`
+A pointer to the address of an ICorDebugAssembly object that represents the container assembly, or **null** if the method call fails.
+
+## Return Value
+
+ `S_OK` if the method call succeeds; otherwise, `S_FALSE`, and `ppAssembly` is **null**.
+
+## Remarks
+
+If this assembly has been merged with others inside a single container assembly, this method returns the container assembly. For more information and terminology, see the [ICorDebugProcess6::EnableVirtualModuleSplitting](icordebugprocess6-enablevirtualmodulesplitting-method.md) topic.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugAssembly3 Interface](icordebugassembly3-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugassembly3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugassembly3-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-interface.md
index 85c2796a83ea0..9bdfe82c5ff65 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugassembly3-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassembly3-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugAssembly3 Interface"
title: "ICorDebugAssembly3 Interface"
ms.date: "03/30/2017"
-ms.assetid: 17fc5d76-75a9-4933-83f0-594de7f973f3
---
# ICorDebugAssembly3 Interface
@@ -22,15 +21,10 @@ Logically extends the ICorDebugAssembly interface to provide support for contain
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-interface.md
new file mode 100644
index 0000000000000..4db2f51294cac
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugAssemblyEnum Interface"
+title: "ICorDebugAssemblyEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssemblyEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssemblyEnum"
+helpviewer_keywords:
+ - "ICorDebugAssemblyEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssemblyEnum Interface
+
+Implements ICorDebugEnum methods and enumerates ICorDebugAssembly arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugassemblyenum-next-method.md)|Gets the specified number of `ICorDebugAssembly` instances in the enumeration, starting from the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-next-method.md
new file mode 100644
index 0000000000000..35fb19fff91cf
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugassemblyenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugAssemblyEnum::Next Method"
+title: "ICorDebugAssemblyEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugAssemblyEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugAssemblyEnum::Next method"
+helpviewer_keywords:
+ - "ICorDebugAssemblyEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugAssemblyEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugAssemblyEnum::Next Method
+
+Gets the specified number of assemblies from the collection, starting at the current cursor position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugAssembly *values[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of assemblies to be retrieved.
+
+ `values`
+ [out] An array of pointers, each of which points to an ICorDebugAssembly object that represents an assembly.
+
+ `pceltFetched`
+ [out] A pointer to the number of assemblies actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-interface.md
new file mode 100644
index 0000000000000..cad7cbc72cea8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-interface.md
@@ -0,0 +1,43 @@
+---
+description: "Learn more about: ICorDebugBlockingObjectEnum Interface"
+title: "ICorDebugBlockingObjectEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBlockingObjectEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBlockingObjectEnum"
+helpviewer_keywords:
+ - "ICorDebugBlockingObjectEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBlockingObjectEnum Interface
+
+Provides an enumerator for a list of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures. This interface is a subclass of the ICorDebugEnum interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugblockingobjectenum-next-method.md)|Enumerates through a list of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures.|
+
+## Remarks
+
+Each `CorDebugBlockingObject` structure represents an object that is blocking a thread.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-next-method.md
new file mode 100644
index 0000000000000..606e130840312
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugblockingobjectenum-next-method.md
@@ -0,0 +1,73 @@
+---
+description: "Learn more about: ICorDebugBlockingObjectEnum::Next Method"
+title: "ICorDebugBlockingObjectEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBlockingObjectEnum.Next Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBlockingObjectEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugBlockingObjectEnum interface [.NET debugging]"
+ - "ICorDebugBlockingObjectEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBlockingObjectEnum::Next Method
+
+Gets the specified number of [CorDebugBlockingObject](cordebugblockingobject-structure.md) objects from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next([in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ CorDebugBlockingObject values[],
+ [out] ULONG *pceltFetched;
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of objects to retrieve.
+
+ `values`
+ [out] An array of pointers to [CorDebugBlockingObject](cordebugblockingobject-structure.md) objects.
+
+ `pceltFetched`
+ [out] A pointer to the number of objects that were retrieved.
+
+## Return Value
+
+This method returns the following specific HRESULTs.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The method completed successfully.|
+|S_FALSE|`pceltFetched` does not equal `celt`.|
+
+## Remarks
+
+This method functions like a typical COM enumerator.
+
+The input array values must be at least of size `celt`. The array will be filled with either the next `celt` values in the enumeration or with all remaining values if fewer than `celt` remain. When this method returns, `pceltFetched` will be filled with the number of values that were retrieved. If `values` contains invalid pointers or points to a buffer that is smaller than `celt`, or if `pceltFetched` is an invalid pointer, the result is undefined.
+
+> [!NOTE]
+> Although the [CorDebugBlockingObject](cordebugblockingobject-structure.md) structure does not need to be released, the "ICorDebugValue" interface inside of it does need to be released.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugDataTarget Interface](icordebugdatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-getobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-getobject-method.md
new file mode 100644
index 0000000000000..1948caccacbd1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-getobject-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugBoxValue::GetObject Method"
+title: "ICorDebugBoxValue::GetObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBoxValue.GetObject"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBoxValue::GetObject"
+helpviewer_keywords:
+ - "ICorDebugBoxValue::GetObject method [.NET debugging]"
+ - "GetObject method, ICorDebugBoxValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBoxValue::GetObject Method
+
+Gets the boxed value.
+
+## Syntax
+
+```cpp
+HRESULT GetObject (
+ [out] ICorDebugObjectValue **ppObject
+);
+```
+
+## Parameters
+
+ `ppObject`
+ [out] A pointer to the address of an ICorDebugObjectValue object that represents the boxed value.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-interface.md
new file mode 100644
index 0000000000000..fa3a2c50e9011
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugboxvalue-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugBoxValue Interface"
+title: "ICorDebugBoxValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBoxValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBoxValue"
+helpviewer_keywords:
+ - "ICorDebugBoxValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBoxValue Interface
+
+A subclass of "ICorDebugHeapValue" that represents a boxed value class object.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetObject Method](icordebugboxvalue-getobject-method.md)|Gets an interface pointer to the boxed "ICorDebugObjectValue" instance.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-activate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-activate-method.md
new file mode 100644
index 0000000000000..ec8d674d9473b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-activate-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugBreakpoint::Activate Method"
+title: "ICorDebugBreakpoint::Activate Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBreakpoint.Activate"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBreakpoint::Activate"
+helpviewer_keywords:
+ - "ICorDebugBreakpoint::Activate method [.NET debugging]"
+ - "Activate method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBreakpoint::Activate Method
+
+Sets the active state of this `ICorDebugBreakpoint`.
+
+## Syntax
+
+```cpp
+HRESULT Activate (
+ [in] BOOL bActive
+);
+```
+
+## Parameters
+
+ `bActive`
+ [in] Set this value to `true` to specify the state as active; otherwise, set this value to `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-interface.md
new file mode 100644
index 0000000000000..bc4bc1aef784b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-interface.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugBreakpoint Interface"
+title: "ICorDebugBreakpoint Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBreakpoint Interface
+
+Represents a breakpoint in a function, or a watch point on a value.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Activate Method](icordebugbreakpoint-activate-method.md)|Sets the active state of this `ICorDebugBreakpoint`.|
+|[IsActive Method](icordebugbreakpoint-isactive-method.md)|Gets a value that indicates whether this `ICorDebugBreakpoint` is active.|
+
+## Remarks
+
+Breakpoints do not directly support conditional expressions. If such functionality is desired, a debugger must implement it on top of `ICorDebugBreakpoint`.
+
+The ICorDebugFunctionBreakpoint interface extends `ICorDebugBreakpoint` to support breakpoints within functions.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-isactive-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-isactive-method.md
new file mode 100644
index 0000000000000..b22252b7f8bb8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpoint-isactive-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugBreakpoint::IsActive Method"
+title: "ICorDebugBreakpoint::IsActive Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBreakpoint.IsActive"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBreakpoint::IsActive"
+helpviewer_keywords:
+ - "ICorDebugBreakpoint::IsActive method [.NET debugging]"
+ - "IsActive method, ICorDebugBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBreakpoint::IsActive Method
+
+Gets a value that indicates whether this `ICorDebugBreakpoint` is active.
+
+## Syntax
+
+```cpp
+HRESULT IsActive (
+ [out] BOOL *pbActive
+);
+```
+
+## Parameters
+
+ `pbActive`
+ [out] `true` if this breakpoint is active; otherwise, `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-interface.md
new file mode 100644
index 0000000000000..540c807989d73
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugBreakpointEnum Interface"
+title: "ICorDebugBreakpointEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBreakpointEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBreakpointEnum"
+helpviewer_keywords:
+ - "ICorDebugBreakpointEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBreakpointEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates ICorDebugBreakpoint arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugbreakpointenum-next-method.md)|Gets the specified number of `ICorDebugBreakpoint` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-next-method.md
new file mode 100644
index 0000000000000..daaf76c882d8f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugbreakpointenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugBreakpointEnum::Next Method"
+title: "ICorDebugBreakpointEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugBreakpointEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugBreakpointEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugBreakpointEnum interface [.NET debugging]"
+ - "ICorDebugBreakpointEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugBreakpointEnum::Next Method
+
+Gets the specified number of ICorDebugBreakpoint instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugBreakpoint *breakpoints[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugBreakpoint` instances to be retrieved.
+
+ `breakpoints`
+ [out] An array of pointers, each of which points to an `ICorDebugBreakpoint` object that represents a breakpoint.
+
+ `pceltFetched`
+ [out] A pointer to the number of `ICorDebugBreakpoint` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-enumerateframes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-enumerateframes-method.md
new file mode 100644
index 0000000000000..c4b4f072460ba
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-enumerateframes-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugChain::EnumerateFrames Method"
+title: "ICorDebugChain::EnumerateFrames Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.EnumerateFrames"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::EnumerateFrames method"
+helpviewer_keywords:
+ - "EnumerateFrames method [.NET debugging]"
+ - "ICorDebugChain::EnumerateFrames method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::EnumerateFrames Method
+
+Gets an enumerator that contains all the managed stack frames in the chain, starting with the most recent frame.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateFrames (
+ [out] ICorDebugFrameEnum **ppFrames
+);
+```
+
+## Parameters
+
+ `ppFrames`
+ [out] A pointer to the address of an ICorDebugFrameEnum object that is the enumerator for the stack frames.
+
+## Remarks
+
+The chain represents the physical call stack for the thread.
+
+The `EnumerateFrames` method should be called only for managed chains. The debugging API does not provide methods for obtaining frames contained in unmanaged chains. The debugger must use other means to obtain this information.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getactiveframe-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getactiveframe-method.md
new file mode 100644
index 0000000000000..352304de28787
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getactiveframe-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugChain::GetActiveFrame Method"
+title: "ICorDebugChain::GetActiveFrame Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetActiveFrame"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetActiveFrame"
+helpviewer_keywords:
+ - "ICorDebugChain::GetActiveFrame method [.NET debugging]"
+ - "GetActiveFrame method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetActiveFrame Method
+
+Gets the active (that is, most recent) frame on the chain.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveFrame (
+ [out] ICorDebugFrame **ppFrame
+);
+```
+
+## Parameters
+
+ `ppFrame`
+ [out] A pointer to the address of an ICorDebugFrame object that represents the active (that is, most recent) frame on the chain.
+
+## Remarks
+
+If no managed stack frame is available, `ppFrame` is set to null.
+
+If the active frame is not available, the call will succeed and `ppFrame` will be null. Active frames will not be available for chains initiated due to CHAIN_ENTER_UNMANAGED, and for some chains initiated due to CHAIN_CLASS_INIT. See the CorDebugChainReason enumeration.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcallee-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcallee-method.md
new file mode 100644
index 0000000000000..d9a4237ac6ec3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcallee-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugChain::GetCallee Method"
+title: "ICorDebugChain::GetCallee Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetCallee"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetCallee method"
+helpviewer_keywords:
+ - "ICorDebugChain::GetCallee method [.NET debugging]"
+ - "GetCallee method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetCallee Method
+
+Gets the chain that was called by this chain.
+
+## Syntax
+
+```cpp
+HRESULT GetCallee (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the called chain. If this chain is currently executing (that is, if this chain is not waiting for a called chain to return), `ppChain` will be null.
+
+## Remarks
+
+This chain will wait for the called chain to return before it resumes execution. The called chain may be on another thread in the case of cross-thread marshalled calls.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcaller-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcaller-method.md
new file mode 100644
index 0000000000000..5a83dad575862
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcaller-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugChain::GetCaller Method"
+title: "ICorDebugChain::GetCaller Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetCaller"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetCaller"
+helpviewer_keywords:
+ - "ICorDebugChain::GetCaller method [.NET debugging]"
+ - "GetCaller method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetCaller Method
+
+Gets the chain that called this chain.
+
+## Syntax
+
+```cpp
+HRESULT GetCaller (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the calling chain.
+
+If this chain was spontaneously called (as would be the case if this chain or the debugger initialized the call stack), `ppChain` will be null.
+
+## Remarks
+
+The calling chain may be on a different thread, if the call was marshalled across threads.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcontext-method.md
new file mode 100644
index 0000000000000..18c0bfc5f6b12
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getcontext-method.md
@@ -0,0 +1,29 @@
+---
+description: "Learn more about: ICorDebugChain::GetContext Method"
+title: "ICorDebugChain::GetContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetContext"
+helpviewer_keywords:
+ - "ICorDebugChain::GetContext method [.NET debugging]"
+ - "GetContext method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetContext Method
+
+This method is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetContext (
+ [out] ICorDebugContext **ppContext
+);
+```
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getnext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getnext-method.md
new file mode 100644
index 0000000000000..1169a84a7b496
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getnext-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::GetNext Method"
+title: "ICorDebugChain::GetNext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetNext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetNext"
+helpviewer_keywords:
+ - "GetNext method [.NET debugging]"
+ - "ICorDebugChain::GetNext method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetNext Method
+
+Gets the next chain of frames for the thread.
+
+## Syntax
+
+```cpp
+HRESULT GetNext (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the next chain of frames for the thread. If this chain is the last chain, `ppChain` is null.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getprevious-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getprevious-method.md
new file mode 100644
index 0000000000000..31d406521c3ad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getprevious-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::GetPrevious Method"
+title: "ICorDebugChain::GetPrevious Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetPrevious"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetPrevious"
+helpviewer_keywords:
+ - "ICorDebugChain::GetPrevious method [.NET debugging]"
+ - "GetPrevious method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetPrevious Method
+
+Gets the previous chain of frames for the thread.
+
+## Syntax
+
+```cpp
+HRESULT GetPrevious (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the previous chain of frames for this thread. If this chain is the first chain, `ppChain` is null.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getreason-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getreason-method.md
new file mode 100644
index 0000000000000..d15bcad466fa2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getreason-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::GetReason Method"
+title: "ICorDebugChain::GetReason Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetReason"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "GetReason"
+helpviewer_keywords:
+ - "GetReason method [.NET debugging]"
+ - "ICorDebugChain::GetReason method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetReason Method
+
+Gets the reason for the genesis of this calling chain.
+
+## Syntax
+
+```cpp
+HRESULT GetReason (
+ [out] CorDebugChainReason *pReason
+);
+```
+
+## Parameters
+
+ `pReason`
+ [out] A pointer to a value (a bitwise combination) of the CorDebugChainReason enumeration that indicates the reason for the genesis of this calling chain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getregisterset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getregisterset-method.md
new file mode 100644
index 0000000000000..3ea1b23f3662d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getregisterset-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::GetRegisterSet Method"
+title: "ICorDebugChain::GetRegisterSet Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetRegisterSet"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetRegisterSet"
+helpviewer_keywords:
+ - "ICorDebugChain::GetRegisterSet method [.NET debugging]"
+ - "GetRegisterSet method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetRegisterSet Method
+
+Gets the register set for the active part of this chain.
+
+## Syntax
+
+```cpp
+HRESULT GetRegisterSet (
+ [out] ICorDebugRegisterSet **ppRegisters
+);
+```
+
+## Parameters
+
+ `ppRegisters`
+ [out] A pointer to the address of an [ICorDebugRegisterSet](icordebugregisterset-interface.md) object that represents the register set for the active part of this chain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getstackrange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getstackrange-method.md
new file mode 100644
index 0000000000000..025fbb2d0bce5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getstackrange-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugChain::GetStackRange Method"
+title: "ICorDebugChain::GetStackRange Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetStackRange"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetStackRange"
+helpviewer_keywords:
+ - "ICorDebugChain::GetStackRange method [.NET debugging]"
+ - "GetStackRange method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetStackRange Method
+
+Gets the address range of the stack segment for this chain.
+
+## Syntax
+
+```cpp
+HRESULT GetStackRange (
+ [out] CORDB_ADDRESS *pStart,
+ [out] CORDB_ADDRESS *pEnd
+);
+```
+
+## Parameters
+
+ `pStart`
+ [out] A pointer to a `CORDB_ADDRESS` value that is the starting address of the stack segment.
+
+ `pEnd`
+ [out] A pointer to a `CORDB_ADDRESS` value that is the ending address of the stack segment.
+
+## Remarks
+
+The numeric range is meaningful only for comparison of stack frame locations. You cannot make any assumptions about what is actually stored on the stack.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getthread-method.md
new file mode 100644
index 0000000000000..290977f90ba8f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-getthread-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::GetThread Method"
+title: "ICorDebugChain::GetThread Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.GetThread"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::GetThread"
+helpviewer_keywords:
+ - "GetThread method, ICorDebugChain interface [.NET debugging]"
+ - "ICorDebugChain::GetThread method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::GetThread Method
+
+Gets the physical thread this call chain is part of.
+
+## Syntax
+
+```cpp
+HRESULT GetThread (
+ [out] ICorDebugThread **ppThread
+);
+```
+
+## Parameters
+
+ `ppThread`
+ [out] A pointer to an ICorDebugThread object that represents the physical thread this call chain is part of.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugchain-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-interface.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugchain-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugchain-interface.md
index 9e65654d967f7..59ab9bd7ad760 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugchain-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugChain"
helpviewer_keywords:
- - "ICorDebugChain interface [.NET Framework debugging]"
-ms.assetid: f671f519-1cb3-4ae5-b9f1-abc5e783459f
+ - "ICorDebugChain interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -39,21 +38,17 @@ Represents a segment of a physical or logical call stack.
## Remarks
- The stack frames in a chain occupy contiguous stack space and share the same thread and context. A chain may represent either managed or unmanaged code chains. An empty `ICorDebugChain` instance represents an unmanaged code chain.
+The stack frames in a chain occupy contiguous stack space and share the same thread and context. A chain may represent either managed or unmanaged code chains. An empty `ICorDebugChain` instance represents an unmanaged code chain.
> [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-ismanaged-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-ismanaged-method.md
new file mode 100644
index 0000000000000..69ebfd2c05307
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchain-ismanaged-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugChain::IsManaged Method"
+title: "ICorDebugChain::IsManaged Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChain.IsManaged"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChain::IsManaged"
+helpviewer_keywords:
+ - "ICorDebugChain::IsManaged method [.NET debugging]"
+ - "IsManaged method, ICorDebugChain interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChain::IsManaged Method
+
+Gets a value that indicates whether this chain is running managed code.
+
+## Syntax
+
+```cpp
+HRESULT IsManaged (
+ [out] BOOL *pManaged
+);
+```
+
+## Parameters
+
+ `pManaged`
+ [out] `true` if this chain is running managed code; otherwise, `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-interface.md
new file mode 100644
index 0000000000000..d92fa426ef09e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugChainEnum Interface"
+title: "ICorDebugChainEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChainEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChainEnum"
+helpviewer_keywords:
+ - "ICorDebugChainEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChainEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates ICorDebugChain arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugchainenum-next-method.md)|Gets the specified number of `ICorDebugChain` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-next-method.md
new file mode 100644
index 0000000000000..bd23ff6b96793
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugchainenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugChainEnum::Next Method"
+title: "ICorDebugChainEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugChainEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugChainEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugChainEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugChainEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugChainEnum::Next Method
+
+Gets the specified number of ICorDebugChain instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugChain *chains[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugChain` instances to be retrieved.
+
+ `chains`
+ [out] An array of pointers, each of which points to an `ICorDebugChain` object that represents a chain.
+
+ `pceltFetched`
+ [out] A pointer to the number of `ICorDebugChain` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getmodule-method.md
new file mode 100644
index 0000000000000..2d9be89e7474f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getmodule-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugClass::GetModule Method"
+title: "ICorDebugClass::GetModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugClass.GetModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugClass::GetModule"
+helpviewer_keywords:
+ - "GetModule method, ICorDebugClass interface [.NET debugging]"
+ - "ICorDebugClass::GetModule method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugClass::GetModule Method
+
+Gets the module that defines this class.
+
+## Syntax
+
+```cpp
+HRESULT GetModule (
+ [out] ICorDebugModule **pModule
+);
+```
+
+## Parameters
+
+ `pModule`
+ [out] A pointer to the address of an ICorDebugModule object that represents the module in which this class is defined.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getstaticfieldvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getstaticfieldvalue-method.md
new file mode 100644
index 0000000000000..abad044f6777a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-getstaticfieldvalue-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugClass::GetStaticFieldValue Method"
+title: "ICorDebugClass::GetStaticFieldValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugClass.GetStaticFieldValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugClass::GetStaticFieldValue"
+helpviewer_keywords:
+ - "GetStaticFieldValue method, ICorDebugClass interface [.NET debugging]"
+ - "ICorDebugClass::GetStaticFieldValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugClass::GetStaticFieldValue Method
+
+Gets the value of the specified static field.
+
+## Syntax
+
+```cpp
+HRESULT GetStaticFieldValue (
+ [in] mdFieldDef fieldDef,
+ [in] ICorDebugFrame *pFrame,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `fieldDef`
+ [in] A field `Def` token that references the field to be retrieved.
+
+ `pFrame`
+ [in] A pointer to an ICorDebugFrame object that represents the frame to be used to disambiguate among thread, context, or application domain statics.
+
+If the static field is relative to a thread, a context, or an application domain, the frame will determine the proper value.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the value of the static field.
+
+## Remarks
+
+For parameterized types, the value of a static field is relative to the particular instantiation. Therefore, if the class constructor takes parameters of type , call [ICorDebugType::GetStaticFieldValue](icordebugtype-getstaticfieldvalue-method.md) instead of `ICorDebugClass::GetStaticFieldValue`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-gettoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-gettoken-method.md
new file mode 100644
index 0000000000000..6b81533f1f20b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-gettoken-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugClass::GetToken Method"
+title: "ICorDebugClass::GetToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugClass.GetToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugClass::GetToken"
+helpviewer_keywords:
+ - "GetToken method, ICorDebugClass interface [.NET debugging]"
+ - "ICorDebugClass::GetToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugClass::GetToken Method
+
+Gets the `TypeDef` metadata token that references the definition of this class.
+
+## Syntax
+
+```cpp
+HRESULT GetToken (
+ [out] mdTypeDef *pTypeDef
+);
+```
+
+## Parameters
+
+ `pTypeDef`
+ [out] A pointer to an `mdTypeDef` token that references the definition of this class.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [Metadata interfaces](../../metadata/interfaces/metadata-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-interface.md
new file mode 100644
index 0000000000000..6350b9c009710
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass-interface.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: ICorDebugClass Interface"
+title: "ICorDebugClass Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugClass"
+helpviewer_keywords:
+ - "ICorDebugClass interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugClass Interface
+
+Represents a type, which can be either basic or complex (that is, user-defined). If the type is generic, `ICorDebugClass` represents the uninstantiated generic type.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetModule Method](icordebugclass-getmodule-method.md)|Gets the module that defines this class.|
+|[GetStaticFieldValue Method](icordebugclass-getstaticfieldvalue-method.md)|Gets the value of the specified static field.|
+|[GetToken Method](icordebugclass-gettoken-method.md)|Gets the `TypeDef` metadata token for this class.|
+
+## Remarks
+
+The `ICorDebugClass` interface represents an uninstantiated generic type. The `ICorDebugType` interface represents an instantiated generic type. For example, `Hashtable` would be represented by `ICorDebugClass`, whereas `Hashtable` would be represented by `ICorDebugType`.
+
+Non-generic types are represented by both `ICorDebugClass` and `ICorDebugType`. The latter interface was introduced in .NET Framework 2.0 to deal with type instantiation.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-getparameterizedtype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-getparameterizedtype-method.md
new file mode 100644
index 0000000000000..fd47f9d9300c0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-getparameterizedtype-method.md
@@ -0,0 +1,68 @@
+---
+description: "Learn more about: ICorDebugClass2::GetParameterizedType Method"
+title: "ICorDebugClass2::GetParameterizedType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugClass2.GetParameterizedType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugClass2::GetParameterizedType"
+helpviewer_keywords:
+ - "GetParameterizedType method [.NET debugging]"
+ - "ICorDebugClass2::GetParameterizedType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugClass2::GetParameterizedType Method
+
+Gets the type declaration for this class.
+
+## Syntax
+
+```cpp
+HRESULT GetParameterizedType (
+ [in] CorElementType elementType,
+ [in] ULONG32 nTypeArgs,
+ [in, size_is(nTypeArgs)] ICorDebugType *ppTypeArgs[],
+ [out] ICorDebugType **ppType
+);
+```
+
+## Parameters
+
+ `elementType`
+ [in] A value of the CorElementType enumeration that specifies the element type for this class: Set this value to ELEMENT_TYPE_VALUETYPE if this ICorDebugClass2 represents a value type. Set this value to ELEMENT_TYPE_CLASS if this `ICorDebugClass2` represents a complex type.
+
+ `nTypeArgs`
+ [in] The number of type parameters, if the type is generic. The number of type parameters (if any) must match the number required by the class.
+
+ `ppTypeArgs`
+ [in] An array of pointers, each of which points to an ICorDebugType object that represents a type parameter. If the class is non-generic, this value is null.
+
+ `ppType`
+ [out] A pointer to the address of an `ICorDebugType` object that represents the type declaration. This object is equivalent to a object in managed code.
+
+## Remarks
+
+If the class is non-generic, that is, if it has no type parameters, `GetParameterizedType` simply gets the runtime type object corresponding to the class. The `elementType` parameter should be set to the correct element type for the class: ELEMENT_TYPE_VALUETYPE if the class is a value type; otherwise, ELEMENT_TYPE_CLASS.
+
+If the class accepts type parameters (for example, `ArrayList`), you can use `GetParameterizedType` to construct a type object for an instantiated type such as `ArrayList`.
+
+## Background Information
+
+.NET Framework version 2.0 introduced the `ICorDebugType` interface. For a generic type, an `ICorDebugClass` or `ICorDebugClass2` object represents the uninstantiated type (`SortedList`), and an `ICorDebugType` object represents the various instantiated types. Given an `ICorDebugClass` or `ICorDebugClass2` object, you can create an `ICorDebugType` object for any instantiation by calling the `ICorDebugClass2::GetParameterizedType` method. You can also create an `ICorDebugType` object for a simple type, such as Int32, or for a non-generic type.
+
+The introduction of the `ICorDebugType` object to represent the run-time notion of a type has a ripple effect throughout the API. Functions that previously took an `ICorDebugClass` or `ICorDebugClass2` object or even a `CorElementType` value are generalized to take an `ICorDebugType` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugclass2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugclass2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-interface.md
index 697b2ef2b6fa6..0e6243f059cc8 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugclass2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugclass2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugClass2"
helpviewer_keywords:
- - "ICorDebugClass2 interface [.NET Framework debugging]"
-ms.assetid: 5416de70-43f2-4cdf-a11f-d570759c9c0c
+ - "ICorDebugClass2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -34,15 +33,14 @@ Represents a generic class or a class with a method parameter of type [!WARNING]
+> The `ICorDebugCode3::GetReturnValueLiveOffset` and [ICorDebugILFrame3::GetReturnValueForILOffset](icordebugilframe3-getreturnvalueforiloffset-method.md) methods allow you to get return value information for reference types only. Retrieving return value information from value types (that is, all types that derive from ) is not supported.
+
+The function returns the `HRESULT` values shown in the following table.
+
+|`HRESULT` value|Description|
+|---------------------|-----------------|
+|`S_OK`|Success.|
+|`CORDBG_E_INVALID_OPCODE`|The given IL offset site is not a call instruction, or the function returns `void`.|
+|`CORDBG_E_UNSUPPORTED`|The given IL offset is a proper call, but the return type is unsupported for getting a return value.|
+
+The `ICorDebugCode3::GetReturnValueLiveOffset` method is available only on x86-based and AMD64 systems.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.1
+
+## See also
+
+- [GetReturnValueForILOffset Method](icordebugilframe3-getreturnvalueforiloffset-method.md)
+- [ICorDebugCode3 Interface](icordebugcode3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcode3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode3-interface.md
new file mode 100644
index 0000000000000..90e79df0e204b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode3-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugCode3 Interface"
+title: "ICorDebugCode3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugCode3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugCode3"
+helpviewer_keywords:
+ - "ICorDebugCode3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugCode3 Interface
+
+Provides a method that extends "ICorDebugCode" and "ICorDebugCode2" to provide information about a managed return value.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetReturnValueLiveOffset Method](icordebugcode3-getreturnvalueliveoffset-method.md)|For a specified IL offset, gets the native offsets where a breakpoint should be placed so that the debugger can obtain the return value from a function.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.1
+
+## See also
+
+- [ICorDebugILFrame3 Interface](icordebugilframe3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-enumeratevariablehomes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-enumeratevariablehomes-method.md
new file mode 100644
index 0000000000000..e3d9df459aac9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-enumeratevariablehomes-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugCode4::EnumerateVariableHomes Method"
+title: "ICorDebugCode4::EnumerateVariableHomes Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugCode4.EnumerateVariableHomes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugCode4::EnumerateVariableHomes"
+helpviewer_keywords:
+ - "EnumerateVariableHomes method [.NET debugging]"
+ - "ICorDebugCode4::EnumerateVariableHomes method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugCode4::EnumerateVariableHomes Method
+
+Gets an enumerator to the local variables and arguments in a function.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateVariableHomes(
+ [out] ICorDebugVariableHomeEnum **ppEnum
+);
+```
+
+## Parameters
+
+ `ppEnum`
+A pointer to the address of an [ICorDebugVariableHomeEnum](icordebugvariablehomeenum-interface.md) interface object that is an enumerator for the local variables and arguments in a function.
+
+## Remarks
+
+The [ICorDebugVariableHomeEnum](icordebugvariablehomeenum-interface.md) interface object is a standard enumerator derived from the "ICorDebugEnum" interface that allows you to enumerate [ICorDebugVariableHome](icordebugvariablehome-interface.md) objects. The collection may include multiple [ICorDebugVariableHome](icordebugvariablehome-interface.md) objects for the same slot or argument index if they have different homes at different points in the function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugCode4 Interface](icordebugcode4-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-interface.md
new file mode 100644
index 0000000000000..e51f519e9fb9c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcode4-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugCode4 Interface"
+title: "ICorDebugCode4 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugCode4"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugCode4"
+helpviewer_keywords:
+ - "ICorDebugCode4 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugCode4 Interface
+
+Provides a method that enables a debugger to enumerate the local variables and arguments in a function.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateVariableHomes Method](icordebugcode4-enumeratevariablehomes-method.md)|Gets an enumerator to the local variables and arguments in a function.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugCode3 Interface](icordebugcode3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-interface.md
new file mode 100644
index 0000000000000..38ef49091fbfe
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugCodeEnum Interface"
+title: "ICorDebugCodeEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugCodeEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugCodeEnum"
+helpviewer_keywords:
+ - "ICorDebugCodeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugCodeEnum Interface
+
+Implements "ICorDebugEnum" methods, and enumerates "ICorDebugCode" arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugcodeenum-next-method.md)|Gets the specified number of `ICorDebugCode` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-next-method.md
new file mode 100644
index 0000000000000..343f99aa72a4f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcodeenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugCodeEnum::Next Method"
+title: "ICorDebugCodeEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugCodeEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugCodeEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugCodeEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugCodeEnum::Next Method
+
+Gets the specified number of "ICorDebugCode" instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugCode *values[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+`celt`
+[in] The number of `ICorDebugCode` instances to be retrieved.
+
+`values`
+[out] An array of pointers, each of which points to an `ICorDebugCode` object.
+
+`pceltFetched`
+[out] A pointer to the number of `ICorDebugCode` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacepointers-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacepointers-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacepointers-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacepointers-method.md
index c51a52da07e04..d5ecb2a6ebc0b 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacepointers-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacepointers-method.md
@@ -9,9 +9,8 @@ api_location:
f1_keywords:
- "ICorDebugComObjectValue::GetCachedInterfacePointers"
helpviewer_keywords:
- - "ICorDebugComObjectValue::GetCachedInterfacePointers method [.NET Framework debugging]"
- - "GetCachedInterfacePointers method, ICorDebugComObjectValue interface [.NET Framework debugging]"
-ms.assetid: 08dbd558-bd39-4263-94c2-71e70687aaf0
+ - "ICorDebugComObjectValue::GetCachedInterfacePointers method [.NET debugging]"
+ - "GetCachedInterfacePointers method, ICorDebugComObjectValue interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -41,21 +40,20 @@ HRESULT GetCachedInterfacePointers(
[out] A pointer to the number of `CORDB_ADDRESS` values actually returned in `ptrs`.
`ptrs`
- A pointer to the starting address of an array of `CORDB_ADDRESS` values that contain the addresses of cached interface objects.
+A pointer to the starting address of an array of `CORDB_ADDRESS` values that contain the addresses of cached interface objects.
## Remarks
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
- [ICorDebugComObjectValue Interface](icordebugcomobjectvalue-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacetypes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacetypes-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacetypes-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacetypes-method.md
index 11b28b097158d..e724ef8b90009 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugcomobjectvalue-getcachedinterfacetypes-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-getcachedinterfacetypes-method.md
@@ -9,9 +9,8 @@ api_location:
f1_keywords:
- "ICorDebugComObjectValue::GetCachedInterfaceTypes"
helpviewer_keywords:
- - "GetCachedInterface method, ICorDebugComObjectValue interface [.NET Framework debugging]"
- - "ICorDebugComObjectValue::GetCachedInterface method [.NET Framework debugging]"
-ms.assetid: d492284f-d3c5-4614-adb8-d718d5042500
+ - "GetCachedInterface method, ICorDebugComObjectValue interface [.NET debugging]"
+ - "ICorDebugComObjectValue::GetCachedInterface method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -39,15 +38,14 @@ HRESULT GetCachedInterfaceTypes(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
- [ICorDebugComObjectValue Interface](icordebugcomobjectvalue-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-interface.md
new file mode 100644
index 0000000000000..4981b76ff8065
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcomobjectvalue-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugComObjectValue Interface"
+title: "ICorDebugComObjectValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugComObjectValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugComObjectValue"
+helpviewer_keywords:
+ - "ICorDebugComObjectValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugComObjectValue Interface
+
+Provides methods to retrieve information associated with a runtime callable wrapper (RCW).
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetCachedInterfacePointers Method](icordebugcomobjectvalue-getcachedinterfacepointers-method.md)|Gets the raw interface pointers cached on the current RCW.|
+|[GetCachedInterfaceTypes Method](icordebugcomobjectvalue-getcachedinterfacetypes-method.md)|Provides an enumerator for the interface types that the current object has been cased to or used as.|
+
+## Remarks
+
+To check whether an instance of an "ICorDebugValue" interface represents an RCW, a debugger calls `QueryInterface` on "ICorDebugValue" with `IID_ICorDebugComObjectValue`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontext-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontext-interface.md
new file mode 100644
index 0000000000000..68f76d3709654
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontext-interface.md
@@ -0,0 +1,35 @@
+---
+description: "Learn more about: ICorDebugContext Interface"
+title: "ICorDebugContext Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugContext"
+helpviewer_keywords:
+ - "ICorDebugContext interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugContext Interface
+
+Represents a context object. This interface has not been implemented yet.
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-cancommitchanges-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-cancommitchanges-method.md
new file mode 100644
index 0000000000000..77965ebcc8d3c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-cancommitchanges-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugController::CanCommitChanges Method"
+title: "ICorDebugController::CanCommitChanges Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.CanCommitChanges"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::CanCommitChanges"
+helpviewer_keywords:
+ - "ICorDebugController::CanCommitChanges method [.NET debugging]"
+ - "CanCommitChanges method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::CanCommitChanges Method
+
+`CanCommitChanges` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-commitchanges-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-commitchanges-method.md
new file mode 100644
index 0000000000000..a49503676cd48
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-commitchanges-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugController::CommitChanges Method"
+title: "ICorDebugController::CommitChanges Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.CommitChanges"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::CommitChanges"
+helpviewer_keywords:
+ - "ICorDebugController::CommitChanges method [.NET debugging]"
+ - "CommitChanges method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::CommitChanges Method
+
+`CommitChanges` is obsolete. Do not call this method.
diff --git a/docs/framework/unmanaged-api/debugging/icordebugcontroller-continue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-continue-method.md
similarity index 81%
rename from docs/framework/unmanaged-api/debugging/icordebugcontroller-continue-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-continue-method.md
index 4d8a43bf626c7..f157c93e02abf 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugcontroller-continue-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-continue-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugController::Continue"
helpviewer_keywords:
- - "Continue method [.NET Framework debugging]"
- - "ICorDebugController::Continue method [.NET Framework debugging]"
-ms.assetid: 8684cd06-ad3e-48ef-832e-15320e1f43a2
+ - "Continue method [.NET debugging]"
+ - "ICorDebugController::Continue method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -31,7 +30,7 @@ HRESULT Continue (
## Parameters
-`fIsOutOfBand`
+`fIsOutOfBand`
[in] Set to `true` if continuing from an out-of-band event; otherwise, set to `false`.
## Remarks
@@ -46,10 +45,10 @@ An *out-of-band event* is an unmanaged event during which interaction with the m
## Requirements
-**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
-**.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+**.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-detach-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-detach-method.md
new file mode 100644
index 0000000000000..d4cb294cb5b71
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-detach-method.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugController::Detach Method"
+title: "ICorDebugController::Detach Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.Detach"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::Detach"
+helpviewer_keywords:
+ - "Detach method, ICorDebugController interface [.NET debugging]"
+ - "ICorDebugController::Detach method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::Detach Method
+
+Detaches the debugger from the process or application domain.
+
+## Syntax
+
+```cpp
+HRESULT Detach ();
+```
+
+## Remarks
+
+The process or application domain continues execution normally, but the `ICorDebugProcess` or `ICorDebugAppDomain` object is no longer valid and no further callbacks will occur.
+
+If unmanaged debugging is enabled, this method will fail due to operating system limitations.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-enumeratethreads-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-enumeratethreads-method.md
new file mode 100644
index 0000000000000..4300066e04f7b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-enumeratethreads-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugController::EnumerateThreads Method"
+title: "ICorDebugController::EnumerateThreads Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.EnumerateThreads"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::EnumerateThreads"
+helpviewer_keywords:
+ - "ICorDebugController::EnumerateThreads method [.NET debugging]"
+ - "EnumerateThreads method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::EnumerateThreads Method
+
+Gets an enumerator for the active managed threads in the process.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateThreads (
+ [out] ICorDebugThreadEnum **ppThreads
+);
+```
+
+## Parameters
+
+ `ppThreads`
+ [out] A pointer to the address of an "ICorDebugThreadEnum" object that represents an enumerator for all managed threads that are active in the process.
+
+## Remarks
+
+A thread is considered active after the [ICorDebugManagedCallback::CreateThread](icordebugmanagedcallback-createthread-method.md) callback has been dispatched and before the [ICorDebugManagedCallback::ExitThread](icordebugmanagedcallback-exitthread-method.md) callback has been dispatched. A managed thread may not necessarily have any managed frames on its stack. Threads can be enumerated even before the [ICorDebugManagedCallback::CreateProcess](icordebugmanagedcallback-createprocess-method.md) callback. The enumeration will naturally be empty.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-hasqueuedcallbacks-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-hasqueuedcallbacks-method.md
new file mode 100644
index 0000000000000..596d60e09ea7e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-hasqueuedcallbacks-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugController::HasQueuedCallbacks Method"
+title: "ICorDebugController::HasQueuedCallbacks Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.HasQueuedCallbacks"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::HasQueuedCallbacks"
+helpviewer_keywords:
+ - "HasQueuedCallbacks method [.NET debugging]"
+ - "ICorDebugController::HasQueuedCallbacks method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::HasQueuedCallbacks Method
+
+Gets a value that indicates whether any managed callbacks are currently queued for the specified thread.
+
+## Syntax
+
+```cpp
+HRESULT HasQueuedCallbacks (
+ [in] ICorDebugThread *pThread,
+ [out] BOOL *pbQueued
+);
+```
+
+## Parameters
+
+ `pThread`
+ [in] A pointer to an "ICorDebugThread" object that represents the thread.
+
+ `pbQueued`
+ [out] A pointer to a value that is `true` if any managed callbacks are currently queued for the specified thread; otherwise, `false`.
+
+If null is specified for the `pThread` parameter, `HasQueuedCallbacks` will return `true` if there are currently managed callbacks queued for any thread.
+
+## Remarks
+
+Callbacks will be dispatched one at a time, each time [ICorDebugController::Continue](icordebugcontroller-continue-method.md) is called. The debugger can check this flag if it wants to report multiple debugging events that occur simultaneously.
+
+When debugging events are queued, they have already occurred, so the debugger must drain the entire queue to be sure of the state of the debuggee. (Call `ICorDebugController::Continue` to drain the queue.) For example, if the queue contains two debugging events on thread *X*, and the debugger suspends thread *X* after the first debugging event and then calls `ICorDebugController::Continue`, the second debugging event for thread *X* will be dispatched although the thread has been suspended.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugcontroller-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-interface.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugcontroller-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-interface.md
index 52150ccc57dda..0eddee77ce8a1 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugcontroller-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugController"
helpviewer_keywords:
- - "ICorDebugController interface [.NET Framework debugging]"
-ms.assetid: dbb1c4dc-269a-459b-ab1d-6c70788782ce
+ - "ICorDebugController interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -37,21 +36,17 @@ Represents a scope, either a or an [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-isrunning-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-isrunning-method.md
new file mode 100644
index 0000000000000..484066989dbb1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-isrunning-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugController::IsRunning Method"
+title: "ICorDebugController::IsRunning Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.IsRunning"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::IsRunning"
+helpviewer_keywords:
+ - "IsRunning method [.NET debugging]"
+ - "ICorDebugController::IsRunning method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::IsRunning Method
+
+Gets a value that indicates whether the threads in the process are currently running freely.
+
+## Syntax
+
+```cpp
+HRESULT IsRunning (
+ [out] BOOL *pbRunning
+);
+```
+
+## Parameters
+
+ `pbRunning`
+ [out] A pointer to a value that is `true` if the threads in the process are running freely; otherwise, `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-setallthreadsdebugstate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-setallthreadsdebugstate-method.md
new file mode 100644
index 0000000000000..728b9bfb764ff
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-setallthreadsdebugstate-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugController::SetAllThreadsDebugState Method"
+title: "ICorDebugController::SetAllThreadsDebugState Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.SetAllThreadsDebugState"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::SetAllThreadsDebugState"
+helpviewer_keywords:
+ - "SetAllThreadsDebugState method [.NET debugging]"
+ - "ICorDebugController::SetAllThreadsDebugState method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::SetAllThreadsDebugState Method
+
+Sets the debug state of all managed threads in the process.
+
+## Syntax
+
+```cpp
+HRESULT SetAllThreadsDebugState (
+ [in] CorDebugThreadState state,
+ [in] ICorDebugThread *pExceptThisThread
+);
+```
+
+## Parameters
+
+ `state`
+ [in] A value of the "CorDebugThreadState" enumeration that specifies the state of the thread for debugging.
+
+ `pExceptThisThread`
+ [in] A pointer to an "ICorDebugThread" object that represents a thread to be exempted from the debug state setting. If this value is null, no thread is exempted.
+
+## Remarks
+
+The `SetAllThreadsDebugState` method may affect threads that are not visible via [EnumerateThreads Method](icordebugcontroller-enumeratethreads-method.md), so threads that were suspended with the `SetAllThreadsDebugState` method will need to be resumed with the `SetAllThreadsDebugState` method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-stop-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-stop-method.md
new file mode 100644
index 0000000000000..36c6b48f707a5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-stop-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugController::Stop Method"
+title: "ICorDebugController::Stop Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.Stop"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::Stop"
+helpviewer_keywords:
+ - "Stop method, ICorDebugController interface [.NET debugging]"
+ - "ICorDebugController::Stop method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::Stop Method
+
+Performs a cooperative stop on all threads that are running managed code in the process.
+
+## Syntax
+
+```cpp
+HRESULT Stop (
+ [in] DWORD dwTimeoutIgnored
+);
+```
+
+## Parameters
+
+ `dwTimeoutIgnored`
+Not used.
+
+## Remarks
+
+ `Stop` performs a cooperative stop on all threads running managed code in the process. During a managed-only debugging session, unmanaged threads may continue to run (but will be blocked when trying to call managed code). During an interop debugging session, unmanaged threads will also be stopped. The `dwTimeoutIgnored` value is currently ignored and treated as INFINITE (-1). If the cooperative stop fails due to a deadlock, all threads are suspended and E_TIMEOUT is returned.
+
+> [!NOTE]
+> `Stop` is the only synchronous method in the debugging API. When `Stop` returns S_OK, the process is stopped. No callback is given to notify listeners of the stop. The debugger must call [ICorDebugController::Continue](icordebugcontroller-continue-method.md) to allow the process to resume.
+
+The debugger maintains a stop counter. When the counter goes to zero, the controller is resumed. Each call to `Stop` or each dispatched callback increments the counter. Each call to `ICorDebugController::Continue` decrements the counter.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-terminate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-terminate-method.md
new file mode 100644
index 0000000000000..0b64e4f2a342f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugcontroller-terminate-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugController::Terminate Method"
+title: "ICorDebugController::Terminate Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugController.Terminate"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugController::Terminate"
+helpviewer_keywords:
+ - "Terminate method, ICorDebugController interface [.NET debugging]"
+ - "ICorDebugController::Terminate method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugController::Terminate Method
+
+Terminates the process with the specified exit code.
+
+> [!NOTE]
+> This method is a wrapper for the Win32 `TerminateProcess` function. Thus, `Terminate` uses the exit code in the same way that the Win32 `TerminateProcess` function uses it.
+
+## Syntax
+
+```cpp
+HRESULT Terminate (
+ [in] UINT exitCode
+);
+```
+
+## Parameters
+
+ `exitCode`
+ [in] A numeric value that is the exit code. The valid numeric values are defined in Winbase.h.
+
+## Remarks
+
+If the process is stopped when `Terminate` is called, the process should be continued by using the [ICorDebugController::Continue](icordebugcontroller-continue-method.md) method so that the debugger receives confirmation of the termination through the [ICorDebugManagedCallback::ExitProcess](icordebugmanagedcallback-exitprocess-method.md) or [ICorDebugManagedCallback::ExitAppDomain](icordebugmanagedcallback-exitappdomain-method.md) callback.
+
+> [!NOTE]
+> This method is not implemented by an application domain. That is, it is not implemented at the level.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getplatform-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getplatform-method.md
new file mode 100644
index 0000000000000..6e08e73012406
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getplatform-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugDataTarget::GetPlatform Method"
+title: "ICorDebugDataTarget::GetPlatform Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugDataTarget.GetPlatform Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugDataTarget::GetPlatform"
+helpviewer_keywords:
+ - "GetPlatform method [.NET debugging]"
+ - "ICorDebugDataTarget::GetPlatform method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugDataTarget::GetPlatform Method
+
+Provides information about the platform, including processor architecture and operating system, on which the target process is running.
+
+## Syntax
+
+```cpp
+HRESULT GetPlatform([out] CorDebugPlatform * pTargetPlatform);
+```
+
+## Parameters
+
+ `pTargetPlatform`
+ [out] A pointer to a [CorDebugPlatformEnum](cordebugplatform-enumeration.md) enumeration that describes the target platform.
+
+## Remarks
+
+The `CorDebugPlatformEnum` enumeration return value is used by the [ICorDebug](icordebug-interface.md) interface to determine details of the target process such as its pointer size, address space layout, register set, instruction format, context layout, and calling conventions.
+
+The `pTargetPlatform` value may refer to a platform that is being emulated for the target instead of specifying the actual hardware in use. For example, a process that is running in the Windows on Windows (WOW) environment on a 64-bit edition of the Windows operating system should use the `CORDB_PLATFORM_WINDOWS_X86` value of the [CorDebugPlatformEnum](cordebugplatform-enumeration.md) enumeration.
+
+This method must succeed. If it fails, the target platform is unusable. The method may fail for the following reasons:
+
+- The platform that is being emulated for the target is unusable.
+
+- The actual hardware on the target platform is unusable.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugDataTarget Interface](icordebugdatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getthreadcontext-method.md
new file mode 100644
index 0000000000000..df328d173fedc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-getthreadcontext-method.md
@@ -0,0 +1,63 @@
+---
+description: "Learn more about: ICorDebugDataTarget::GetThreadContext Method"
+title: "ICorDebugDataTarget::GetThreadContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugDataTarget.GetThreadContext Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugDataTarget::GetThreadContext"
+helpviewer_keywords:
+ - "ICorDebugDataTarget::GetThreadContext method [.NET debugging]"
+ - "GetThreadContext method, ICorDebugDataTarget interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugDataTarget::GetThreadContext Method
+
+Returns the current thread context for the specified thread.
+
+## Syntax
+
+```cpp
+HRESULT GetThreadContext(
+ [in] DWORD dwThreadID,
+ [in] ULONG32 contextFlags,
+ [in] ULONG32 contextSize,
+ [out, size_is(contextSize)] BYTE * pContext);
+```
+
+## Parameters
+
+ `dwThreadID`
+ [in] The identifier of the thread whose context is to be retrieved. The identifier is defined by the operating system.
+
+ `contextFlags`
+ [in] A bitwise combination of platform-dependent flags that indicate which portions of the context should be read.
+
+ `contextSize`
+ [in] The size of `pContext`.
+
+ `pContext`
+ [out] The buffer where the thread context will be stored.
+
+## Remarks
+
+On Windows platforms, `pContext` must be a `CONTEXT` structure (defined in WinNT.h) that is appropriate for the machine type specified by the [ICorDebugDataTarget::GetPlatform](icordebugdatatarget-getplatform-method.md) method. `contextFlags` must have the same values as the `ContextFlags` field of the `CONTEXT` structure. The `CONTEXT` structure is processor-specific; refer to the WinNT.h file for details.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugDataTarget Interface](icordebugdatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-interface.md
new file mode 100644
index 0000000000000..3901e53856ec7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-interface.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugDataTarget Interface"
+title: "ICorDebugDataTarget Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugDataTarget"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugDataTarget"
+helpviewer_keywords:
+ - "ICorDebugDataTarget interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugDataTarget Interface
+
+Provides a callback interface that provides access to a particular target process.
+
+## Methods
+
+| Method | Description |
+|--------|-------------|
+|[GetPlatform Method](icordebugdatatarget-getplatform-method.md)|Provides information about the platform, including processor architecture and operating system, on which the target process is running.|
+|[ReadVirtual Method](icordebugdatatarget-readvirtual-method.md)|Gets a block of contiguous memory starting at the specified address, and returns it in the supplied buffer.|
+|[GetThreadContext Method](icordebugdatatarget-getthreadcontext-method.md)|Requests the current thread context for the specified thread.|
+
+## Remarks
+
+ `ICorDebugDataTarget` and its methods have the following characteristics:
+
+- The debugging services call methods on this interface to access memory and other data in the target process.
+- The debugger client must implement this interface as appropriate for the particular target (for example, a live process or a memory dump).
+- The `ICorDebugDataTarget` methods can be invoked only from within methods implemented in other `ICorDebug*` interfaces. This ensures that the debugger client has control over which thread it is invoked on, and when.
+- The `ICorDebugDataTarget` implementation must always return up-to-date information about the target.
+
+The target process should be stopped and not changed in any way while `ICorDebug*` interfaces (and therefore `ICorDebugDataTarget` methods) are being called. If the target is a live process and its state changes, the [ICLRDebugging::OpenVirtualProcess](../../../../framework/unmanaged-api/debugging/iclrdebugging-openvirtualprocess-method.md) method has to be called again to provide a replacement `ICorDebugProcess` instance.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-readvirtual-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-readvirtual-method.md
new file mode 100644
index 0000000000000..b1958e8034072
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget-readvirtual-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugDataTarget::ReadVirtual Method"
+title: "ICorDebugDataTarget::ReadVirtual Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugDataTarget.ReadVirtual Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugDataTarget::ReadVirtual"
+helpviewer_keywords:
+ - "ICorDebugDataTarget::ReadVirtual method [.NET debugging]"
+ - "ReadVirtual method, ICorDebugDataTarget interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugDataTarget::ReadVirtual Method
+
+Gets a block of contiguous memory starting at the specified address, and returns it in the supplied buffer.
+
+## Syntax
+
+```cpp
+HRESULT ReadVirtual(
+ [in] CORDB_ADDRESS address,
+ [out, size_is(bytesRequested), length_is(*pBytesRead)]
+ BYTE * pBuffer,
+ [in] ULONG32 bytesRequested,
+ [out] ULONG32 * pBytesRead);
+```
+
+## Parameters
+
+ `address`
+ [in] The start address of requested memory.
+
+ `pbuffer`
+ [out] The buffer where the memory will be stored.
+
+ `bytesRequested`
+ [in] The number of bytes to get from the target address.
+
+ `pBytesRead`
+ [out] The number of bytes actually read from the target address. This can be fewer than `bytesRequested`.
+
+## Remarks
+
+If the first byte (at the specified start address) can be read, the call should return success (to support efficient reading of data structures with self-describing length, like null-terminated strings).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugDataTarget Interface](icordebugdatatarget-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-createvirtualunwinder-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-createvirtualunwinder-method.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/icordebugdatatarget2-createvirtualunwinder-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-createvirtualunwinder-method.md
index b640480313ea5..abc3b7cde9c18 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-createvirtualunwinder-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-createvirtualunwinder-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugDataTarget2::CreateVirtualUnwinder Method"
title: "ICorDebugDataTarget2::CreateVirtualUnwinder Method"
ms.date: "03/30/2017"
-ms.assetid: 354c8b4c-7d23-45c6-a7d7-3be4c2a5b772
---
# ICorDebugDataTarget2::CreateVirtualUnwinder Method
@@ -22,19 +21,19 @@ HRESULT CreateVirtualUnwinder(
## Parameters
- nativeThreadID
+nativeThreadID
[in] The native thread ID of the thread whose stack is to be unwound.
- contextFlags
+contextFlags
[in] Flags that specify which parts of the context are defined in `initialContext`.
- cbContext
+cbContext
[in] The size of `initialContext`.
- initialContext
+initialContext
[in] The data in the context.
- ppUnwinder
+ppUnwinder
[out] A pointer to the address of an ICorDebugVirtualUnwinder interface object.
## Return Value
@@ -48,15 +47,14 @@ HRESULT CreateVirtualUnwinder(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugDataTarget2 Interface](icordebugdatatarget2-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-enumeratethreadids-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-enumeratethreadids-method.md
new file mode 100644
index 0000000000000..9f2a060dff590
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-enumeratethreadids-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugDataTarget2::EnumerateThreadIDs Method"
+title: "ICorDebugDataTarget2::EnumerateThreadIDs Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDataTarget2::EnumerateThreadIDs Method
+
+Returns a list of active thread IDs.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateThreadIDs(
+ [in] ULONG32 cThreadIds,
+ [out] ULONG32 *pcThreadIds,
+ [out, size_is(cThreadIds), length_is(*pcThreadIds)] ULONG32 pThreadIds[]
+);
+```
+
+## Parameters
+
+cThreadIDs
+ [in] The maximum number of threads whose IDs can be returned.
+
+pcThreadIds
+ [out] A pointer to a `ULONG32` that indicates the actual number of thread IDs written to the `pThreadIds` array.
+
+pThreadIDs
+An array of thread identifiers.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).**Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDataTarget2 Interface](icordebugdatatarget2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagefrompointer-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagefrompointer-method.md
new file mode 100644
index 0000000000000..1fa008968a8e3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagefrompointer-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugDataTarget2::GetImageFromPointer Method"
+title: "ICorDebugDataTarget2::GetImageFromPointer Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDataTarget2::GetImageFromPointer Method
+
+Returns the module base address and size from an address in that module.
+
+## Syntax
+
+```cpp
+HRESULT GetImageFromPointer(
+ [in] CORDB_ADDRESS addr,
+ [out] CORDB_ADDRESS *pImageBase,
+ [out] ULONG32 *pSize
+);
+```
+
+## Parameters
+
+`addr`\
+A [CORDB_ADDRESS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that represents an address in a module.
+
+`pImageBase`\
+[out] A [CORDB_ADDRESS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that represents the module's base address.
+
+`pSize`\
+A pointer to the module size.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDataTarget2 Interface](icordebugdatatarget2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagelocation-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagelocation-method.md
new file mode 100644
index 0000000000000..ba38fe326bd68
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getimagelocation-method.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugDataTarget2::GetImageLocation Method"
+title: "ICorDebugDataTarget2::GetImageLocation Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDataTarget2::GetImageLocation Method
+
+Returns the path of a module from the module's base address.
+
+## Syntax
+
+```cpp
+HRESULT GetImageLocation( [in] CORDB_ADDRESS baseAddress,
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)] WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `baseAddress`
+ [in] A [CORDB_ADDRESS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that represents the module's base address.
+
+ `cchName`
+ [in] The number of characters in the buffer that is to receive the module path.
+
+ `pcchName`
+ [out] A pointer to the number of characters written to the `szName` buffer.
+
+ `szName`
+ [out] The path of the module.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDataTarget2 Interface](icordebugdatatarget2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getsymbolproviderforimage-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getsymbolproviderforimage-method.md
new file mode 100644
index 0000000000000..287161cd40ac3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-getsymbolproviderforimage-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugDataTarget2::GetSymbolProviderForImage Method"
+title: "ICorDebugDataTarget2::GetSymbolProviderForImage Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDataTarget2::GetSymbolProviderForImage Method
+
+Returns the symbol-provider for a module from the base address of that module.
+
+## Syntax
+
+```cpp
+HRESULT GetSymbolProviderForImage(
+ [in] CORDB_ADDRESS imageBaseAddress,
+ [out] ICorDebugSymbolProvider **ppSymProvider
+);
+```
+
+## Parameters
+
+ `imageBaseAddress`
+ [in] A [CORDB_ADDRESS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that represents the base address of a module.
+
+ `ppSymProvider`
+ [out] A pointer to the address of an [ICorDebugSymbolProvider](icordebugsymbolprovider-interface.md) object.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDataTarget2 Interface](icordebugdatatarget2-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-interface.md
similarity index 81%
rename from docs/framework/unmanaged-api/debugging/icordebugdatatarget2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-interface.md
index 443d2de7ac301..ea2790a1ba05d 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugdatatarget2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget2-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugDataTarget2 Interface"
title: "ICorDebugDataTarget2 Interface"
ms.date: "03/30/2017"
-ms.assetid: 13f11388-2f91-48d8-98d6-6a4a63cb5746
---
# ICorDebugDataTarget2 Interface
@@ -25,15 +24,10 @@ Logically extends the [ICorDebugDataTarget](icordebugdatatarget-interface.md)int
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/icordebugdatatarget3-getloadedmodules-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-getloadedmodules-method.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/icordebugdatatarget3-getloadedmodules-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-getloadedmodules-method.md
index a2bf80be2d5c0..1f4c2147ecf04 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugdatatarget3-getloadedmodules-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-getloadedmodules-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugDataTarget3::GetLoadedModules Method"
title: "ICorDebugDataTarget3::GetLoadedModules Method"
ms.date: "03/30/2017"
-ms.assetid: 9a48c05b-1949-416e-933c-52549b6fcf5e
---
# ICorDebugDataTarget3::GetLoadedModules Method
@@ -36,15 +35,14 @@ HRESULT GetLoadedModules(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugDataTarget3 Interface](icordebugdatatarget3-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-interface.md
new file mode 100644
index 0000000000000..2389e92664e48
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdatatarget3-interface.md
@@ -0,0 +1,29 @@
+---
+description: "Learn more about: ICorDebugDataTarget3 Interface"
+title: "ICorDebugDataTarget3 Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugDataTarget3 Interface
+
+Logically extends the [ICorDebugDataTarget](icordebugdatatarget-interface.md) interface to provide information about loaded modules.
+
+## Method
+
+|Method|Description|
+|------------|-----------------|
+|[GetLoadedModules Method](icordebugdatatarget3-getloadedmodules-method.md)|Gets a list of the modules that have been loaded so far.|
+
+## Remarks
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-geteventkind-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-geteventkind-method.md
new file mode 100644
index 0000000000000..db2f0a27ed7c1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-geteventkind-method.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugDebugEvent::GetEventKind Method"
+title: "ICorDebugDebugEvent::GetEventKind Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDebugEvent::GetEventKind Method
+
+Indicates what kind of event this `ICorDebugDebugEvent` object represents.
+
+## Syntax
+
+```cpp
+HRESULT GetEventKind(
+ [out]CorDebugDebugEventKind *pDebugEventKind
+);
+```
+
+## Parameters
+
+pDebugEventKind
+A pointer to a [CorDebugDebugEventKind](cordebugdebugeventkind-enumeration.md) enumeration member that indicates the type of event.
+
+## Remarks
+
+Based on the value of `pDebugEventKind`, you can call `QueryInterface` to get a more precise debug event interface that has additional data.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDebugEvent Interface](icordebugdebugevent-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-getthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-getthread-method.md
new file mode 100644
index 0000000000000..1ccc7bc63dbcb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-getthread-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugDebugEvent::GetThread Method"
+title: "ICorDebugDebugEvent::GetThread Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugDebugEvent::GetThread Method
+
+Gets the thread on which the event occurred.
+
+## Syntax
+
+```cpp
+HRESULT GetThread(
+ [out]ICorDebugThread **ppThread
+);
+```
+
+## Parameters
+
+ppThread
+ [out] A pointer to the address of an ICorDebugThread object that represents the thread on which the event occurred.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugDebugEvent Interface](icordebugdebugevent-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-interface.md
new file mode 100644
index 0000000000000..e1409c18d07dd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugdebugevent-interface.md
@@ -0,0 +1,35 @@
+---
+description: "Learn more about: ICorDebugDebugEvent Interface"
+title: "ICorDebugDebugEvent Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugDebugEvent Interface
+
+Defines the base interface from which all `ICorDebug` debug events derive.
+
+## Methods
+
+| Method | Description |
+|--------|-------------|
+|[GetEventKind Method](icordebugdebugevent-geteventkind-method.md)|Indicates what kind of event this `ICorDebugDebugEvent` object represents.|
+|[GetThread Method](icordebugdebugevent-getthread-method.md)|Gets the thread on which the event occurred.|
+
+## Remarks
+
+The following interfaces are derived from the `ICorDebugDebugEvent` interface:
+
+- [ICorDebugExceptionDebugEvent](icordebugexceptiondebugevent-interface.md)
+- [ICorDebugModuleDebugEvent](icordebugmoduledebugevent-interface.md)
+
+> [!NOTE]
+> The interface is available with .NET Native only. Attempting to call `QueryInterface` to retrieve an interface pointer returns `E_NOINTERFACE` for ICorDebug scenarios outside of .NET Native.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-geterrorcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-geterrorcode-method.md
new file mode 100644
index 0000000000000..031348f2953f5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-geterrorcode-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueErrorInfo::GetErrorCode Method"
+title: "ICorDebugEditAndContinueErrorInfo::GetErrorCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueErrorInfo.GetErrorCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueErrorInfo::GetErrorCode"
+helpviewer_keywords:
+ - "GetErrorCode method [.NET debugging]"
+ - "ICorDebugEditAndContinueErrorInfo::GetErrorCode method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueErrorInfo::GetErrorCode Method
+
+`GetErrorCode` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getmodule-method.md
new file mode 100644
index 0000000000000..ef52a3f01d166
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getmodule-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueErrorInfo::GetModule Method"
+title: "ICorDebugEditAndContinueErrorInfo::GetModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueErrorInfo.GetModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueErrorInfo::GetModule"
+helpviewer_keywords:
+ - "GetModule method, ICorDebugEditAndContinueErrorInfo interface [.NET debugging]"
+ - "ICorDebugEditAndContinueErrorInfo::GetModule method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueErrorInfo::GetModule Method
+
+`GetModule` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getstring-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getstring-method.md
new file mode 100644
index 0000000000000..8fa905cbefad4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-getstring-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueErrorInfo::GetString Method"
+title: "ICorDebugEditAndContinueErrorInfo::GetString Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueErrorInfo.GetString"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueErrorInfo::GetString"
+helpviewer_keywords:
+ - "ICorDebugEditAndContinueErrorInfo::GetString method [.NET debugging]"
+ - "GetString method, ICorDebugEditAndContinueErrorInfo interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueErrorInfo::GetString Method
+
+`GetString` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-gettoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-gettoken-method.md
new file mode 100644
index 0000000000000..1bd8931cece33
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-gettoken-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueErrorInfo::GetToken Method"
+title: "ICorDebugEditAndContinueErrorInfo::GetToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueErrorInfo.GetToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueErrorInfo::GetToken"
+helpviewer_keywords:
+ - "GetToken method, ICorDebugEditAndContinueErrorInfo interface [.NET debugging]"
+ - "ICorDebugEditAndContinueErrorInfo::GetToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueErrorInfo::GetToken Method
+
+`GetToken` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-interface.md
new file mode 100644
index 0000000000000..4e9176cae1fad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinueerrorinfo-interface.md
@@ -0,0 +1,20 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueErrorInfo Interface"
+title: "ICorDebugEditAndContinueErrorInfo Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueErrorInfo"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueErrorInfo"
+helpviewer_keywords:
+ - "ICorDebugEditAndContinueErrorInfo interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueErrorInfo Interface
+
+`ICorDebugEditAndContinueErrorInfo` is obsolete. Do not use this interface.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-copymetadata-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-copymetadata-method.md
new file mode 100644
index 0000000000000..84505aa8942b5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-copymetadata-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::CopyMetaData Method"
+title: "ICorDebugEditAndContinueSnapshot::CopyMetaData Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.CopyMetaData"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::CopyMetaData"
+helpviewer_keywords:
+ - "ICorDebugEditAndContinueSnapshot::CopyMetaData method [.NET debugging]"
+ - "CopyMetaData method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::CopyMetaData Method
+
+`CopyMetaData` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getmvid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getmvid-method.md
new file mode 100644
index 0000000000000..f933913614390
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getmvid-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::GetMvid Method"
+title: "ICorDebugEditAndContinueSnapshot::GetMvid Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.GetMvid"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::GetMvid"
+helpviewer_keywords:
+ - "ICorDebugEditAndContinueSnapshot::GetMvid method [.NET debugging]"
+ - "GetMvid method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::GetMvid Method
+
+`GetMvid` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrodatarva-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrodatarva-method.md
new file mode 100644
index 0000000000000..236c7a16b306a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrodatarva-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::GetRoDataRVA Method"
+title: "ICorDebugEditAndContinueSnapshot::GetRoDataRVA Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.GetRoDataRVA"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::GetRoDataRVA"
+helpviewer_keywords:
+ - "GetRoDataRVA method [.NET debugging]"
+ - "ICorDebugEditAndContinueSnapshot::GetRoDataRVA method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::GetRoDataRVA Method
+
+`GetRoDataRVA` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrwdatarva-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrwdatarva-method.md
new file mode 100644
index 0000000000000..71377c4e4ef2a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-getrwdatarva-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::GetRwDataRVA Method"
+title: "ICorDebugEditAndContinueSnapshot::GetRwDataRVA Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.GetRwDataRVA"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::GetRwDataRVA"
+helpviewer_keywords:
+ - "GetRwDataRVA method [.NET debugging]"
+ - "ICorDebugEditAndContinueSnapshot::GetRwDataRVA method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::GetRwDataRVA Method
+
+`GetRwDataRVA` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-interface.md
new file mode 100644
index 0000000000000..8ce1250571f09
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-interface.md
@@ -0,0 +1,20 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot Interface"
+title: "ICorDebugEditAndContinueSnapshot Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot"
+helpviewer_keywords:
+ - "ICorDebugEditAndContinueSnapshot interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot Interface
+
+`ICorDebugEditAndContinueSnapshot` is obsolete. Do not use this interface.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setilmap-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setilmap-method.md
new file mode 100644
index 0000000000000..25d098b3baa7f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setilmap-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::SetILMap Method"
+title: "ICorDebugEditAndContinueSnapshot::SetILMap Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.SetILMap"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::SetILMap"
+helpviewer_keywords:
+ - "SetILMap method [.NET debugging]"
+ - "ICorDebugEditAndContinueSnapshot::SetILMap method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::SetILMap Method
+
+`SetILMap` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpebytes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpebytes-method.md
new file mode 100644
index 0000000000000..b6f9e35c38376
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpebytes-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::SetPEBytes Method"
+title: "ICorDebugEditAndContinueSnapshot::SetPEBytes Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.SetPEBytes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::SetPEBytes"
+helpviewer_keywords:
+ - "SetPEBytes method [.NET debugging]"
+ - "ICorDebugEditAndContinueSnapshot::SetPEBytes method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::SetPEBytes Method
+
+`SetPEBytes` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpesymbolbytes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpesymbolbytes-method.md
new file mode 100644
index 0000000000000..9a2ef36651687
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeditandcontinuesnapshot-setpesymbolbytes-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugEditAndContinueSnapshot::SetPESymbolBytes Method"
+title: "ICorDebugEditAndContinueSnapshot::SetPESymbolBytes Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEditAndContinueSnapshot.SetPESymbolBytes"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEditAndContinueSnapshot::SetPESymbolBytes"
+helpviewer_keywords:
+ - "SetPESymbolBytes method [.NET debugging]"
+ - "ICorDebugEditAndContinueSnapshot::SetPESymbolBytes method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEditAndContinueSnapshot::SetPESymbolBytes Method
+
+`SetPESymbolBytes` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-clone-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-clone-method.md
new file mode 100644
index 0000000000000..e1d9945a2b1f2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-clone-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugEnum::Clone Method"
+title: "ICorDebugEnum::Clone Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEnum.Clone"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEnum::Clone"
+helpviewer_keywords:
+ - "Clone method, ICorDebugEnum interface [.NET debugging]"
+ - "ICorDebugEnum::Clone method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEnum::Clone Method
+
+Creates a copy of this ICorDebugEnum object.
+
+## Syntax
+
+```cpp
+HRESULT Clone (
+ [out] ICorDebugEnum **ppEnum
+);
+```
+
+## Parameters
+
+ `ppEnum`
+ [out] A pointer to the address of an `ICorDebugEnum` object that is a copy of this `ICorDebugEnum` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-getcount-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-getcount-method.md
new file mode 100644
index 0000000000000..2c66569a1bcd7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-getcount-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugEnum::GetCount Method"
+title: "ICorDebugEnum::GetCount Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEnum.GetCount"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEnum::GetCount"
+helpviewer_keywords:
+ - "ICorDebugEnum::GetCount method [.NET debugging]"
+ - "GetCount method, ICorDebugEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEnum::GetCount Method
+
+Gets the number of items in the enumeration.
+
+## Syntax
+
+```cpp
+HRESULT GetCount (
+ [out] ULONG *pcelt
+);
+```
+
+## Parameters
+
+ `pcelt`
+ [out] A pointer to the number of items in the enumeration.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-interface1.md
new file mode 100644
index 0000000000000..af8445daddd84
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-interface1.md
@@ -0,0 +1,68 @@
+---
+description: "Learn more about: ICorDebugEnum Interface"
+title: "ICorDebugEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEnum"
+helpviewer_keywords:
+ - "ICorDebugEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEnum Interface
+
+Serves as the abstract base interface for the enumerators that are used by a debugging application.
+
+## Methods
+
+| Method | Description |
+|-----------------------------------------------------|-------------------------------------------------------|
+| [Clone Method](icordebugenum-clone-method.md) | Creates a copy of this `ICorDebugEnum` object. |
+| [GetCount Method](icordebugenum-getcount-method.md) | Gets the number of items in the enumeration. |
+| [Reset Method](icordebugenum-reset-method.md) | Moves the cursor to the beginning of the enumeration. |
+| [Skip Method](icordebugenum-skip-method.md) | Moves the cursor forward in the enumeration by the specified number of items. |
+
+## Remarks
+
+The following enumerators derive from `ICorDebugEnum`:
+
+- `ICorDebugAppDomainEnum`
+- `ICorDebugAssemblyEnum`
+- [ICorDebugBlockingObjectEnum](icordebugblockingobjectenum-interface.md)
+- `ICorDebugBreakpointEnum`
+- `ICorDebugChainEnum`
+- `ICorDebugCodeEnum`
+- `ICorDebugErrorInfoEnum`
+- [ICorDebugExceptionObjectCallStackEnum](icordebugexceptionobjectcallstackenum-interface.md)
+- `ICorDebugFrameEnum`
+- [ICorDebugGCReferenceEnum](icordebuggcreferenceenum-interface.md)
+- [ICorDebugGuidToTypeEnum](icordebugguidtotypeenum-interface.md)
+- [ICorDebugHeapEnum](icordebugheapenum-interface.md)
+- [ICorDebugHeapSegmentEnum](icordebugheapsegmentenum-interface.md)
+- `ICorDebugModuleEnum`
+- `ICorDebugObjectEnum`
+- `ICorDebugProcessEnum`
+- `ICorDebugStepperEnum`
+- `ICorDebugThreadEnum`
+- `ICorDebugTypeEnum`
+- `ICorDebugValueEnum`
+- [ICorDebugVariableHomeEnum](icordebugvariablehomeenum-interface.md)
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-reset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-reset-method.md
new file mode 100644
index 0000000000000..abf565c60878e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-reset-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugEnum::Reset Method"
+title: "ICorDebugEnum::Reset Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEnum.Reset"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEnum::Reset"
+helpviewer_keywords:
+ - "ICorDebugEnum::Reset method [.NET debugging]"
+ - "Reset method, ICorDebugEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEnum::Reset Method
+
+Moves the cursor to the beginning of the enumeration.
+
+## Syntax
+
+```cpp
+HRESULT Reset ();
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugEnum Interface](icordebugenum-interface1.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-skip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-skip-method.md
new file mode 100644
index 0000000000000..ded7d50c3276f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugenum-skip-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugEnum::Skip Method"
+title: "ICorDebugEnum::Skip Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEnum.Skip"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEnum::Skip"
+helpviewer_keywords:
+ - "ICorDebugEnum::Skip method [.NET debugging]"
+ - "Skip method, ICorDebugEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEnum::Skip Method
+
+Moves the cursor forward in the enumeration by the specified number of items.
+
+## Syntax
+
+```cpp
+HRESULT Skip (
+ [in] ULONG celt
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of items by which to move the cursor forward.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugEnum Interface](icordebugenum-interface1.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-interface.md
new file mode 100644
index 0000000000000..8d0b63be69b4b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-interface.md
@@ -0,0 +1,20 @@
+---
+description: "Learn more about: ICorDebugErrorInfoEnum Interface"
+title: "ICorDebugErrorInfoEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugErrorInfoEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugErrorInfoEnum"
+helpviewer_keywords:
+ - "ICorDebugErrorInfoEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugErrorInfoEnum Interface
+
+`ICorDebugErrorInfoEnum` is obsolete. Do not use this interface.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-next-method.md
new file mode 100644
index 0000000000000..6f1efcd9db33a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugerrorinfoenum-next-method.md
@@ -0,0 +1,21 @@
+---
+description: "Learn more about: ICorDebugErrorInfoEnum::Next Method"
+title: "ICorDebugErrorInfoEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugErrorInfoEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugErrorInfoEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugErrorInfoEnum interface [.NET debugging]"
+ - "ICorDebugErrorInfoEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugErrorInfoEnum::Next Method
+
+`ICorDebugErrorInfoEnum::Next` is obsolete. Do not call this method.
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-abort-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-abort-method.md
new file mode 100644
index 0000000000000..2564980201772
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-abort-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugEval::Abort Method"
+title: "ICorDebugEval::Abort Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.Abort"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::Abort"
+helpviewer_keywords:
+ - "Abort method, ICorDebugEval interface [.NET debugging]"
+ - "ICorDebugEval::Abort method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::Abort Method
+
+Aborts the computation this ICorDebugEval object is currently performing.
+
+## Syntax
+
+```cpp
+HRESULT Abort ();
+```
+
+## Remarks
+
+If the evaluation is nested and it is not the most recent one, the `Abort` method may fail.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-callfunction-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-callfunction-method.md
new file mode 100644
index 0000000000000..cf1f51bd54cb9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-callfunction-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugEval::CallFunction Method"
+title: "ICorDebugEval::CallFunction Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.CallFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::CallFunction"
+helpviewer_keywords:
+ - "ICorDebugEval::CallFunction method [.NET debugging]"
+ - "CallFunction method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::CallFunction Method
+
+Sets up a call to the specified function.
+
+This method is obsolete. Use [ICorDebugEval2::CallParameterizedFunction](icordebugeval2-callparameterizedfunction-method.md) instead.
+
+## Syntax
+
+```cpp
+HRESULT CallFunction (
+ [in] ICorDebugFunction *pFunction,
+ [in] ULONG32 nArgs,
+ [in, size_is(nArgs)] ICorDebugValue *ppArgs[]
+);
+```
+
+## Parameters
+
+`pFunction`\
+[in] Pointer to an ICorDebugFunction object that specifies the function to be called.
+
+`nArgs`\
+[in] The number of arguments for the function.
+
+`ppArgs`\
+[in] An array of pointers, each of which points to an ICorDebugValue object that specifies an argument to be passed to the function.
+
+## Remarks
+
+If the function is virtual, `CallFunction` will perform virtual dispatch. If the function is in a different application domain, a transition will occur as long as all arguments are also in that application domain.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** 1.1, 1.0
+
+## See also
+
+- [CallParameterizedFunction Method](icordebugeval2-callparameterizedfunction-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-createvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-createvalue-method.md
new file mode 100644
index 0000000000000..3e5377abcd05a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-createvalue-method.md
@@ -0,0 +1,67 @@
+---
+description: "Learn more about: ICorDebugEval::CreateValue Method"
+title: "ICorDebugEval::CreateValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.CreateValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::CreateValue"
+helpviewer_keywords:
+ - "ICorDebugEval::CreateValue method [.NET debugging]"
+ - "CreateValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::CreateValue Method
+
+Creates a value of the specified type, with an initial value of zero or null.
+
+This method is obsolete. Use [ICorDebugEval2::CreateValueForType](icordebugeval2-createvaluefortype-method.md) instead.
+
+## Syntax
+
+```cpp
+HRESULT CreateValue (
+ [in] CorElementType elementType,
+ [in] ICorDebugClass *pElementClass,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `elementType`\
+ [in] A value of the [CorElementType](../../metadata/enumerations/corelementtype-enumeration.md) enumeration that specifies the type of the value.
+
+ `pElementClass`\
+ [in] Pointer to an [ICorDebugClass](icordebugclass-interface.md) object that specifies the class of the value, if the type is not a primitive type.
+
+ `ppValue`\
+ [out] Pointer to the address of an "ICorDebugValue" object that represents the value.
+
+## Remarks
+
+ `CreateValue` creates an `ICorDebugValue` object of the given type for the sole purpose of using it in a function evaluation. This value object can be used to pass user constants as parameters.
+
+If the type of the value is a primitive type, its initial value is zero or null. Use [ICorDebugGenericValue::SetValue](icordebuggenericvalue-setvalue-method.md) to set the value of a primitive type.
+
+If the value of `elementType` is ELEMENT_TYPE_CLASS, you get an "ICorDebugReferenceValue" (returned in `ppValue`) representing the null object reference. You can use this object to pass null to a function evaluation that has object reference parameters. You cannot set the `ICorDebugValue` to anything; it always remains null.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
+
+## See also
+
+- [CreateValueForType Method](icordebugeval2-createvaluefortype-method.md)
+- [ICorDebugEval Interface](icordebugeval-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getresult-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getresult-method.md
new file mode 100644
index 0000000000000..cc6c54153f5f2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getresult-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugEval::GetResult Method"
+title: "ICorDebugEval::GetResult Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.GetResult"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::GetResult"
+helpviewer_keywords:
+ - "ICorDebugEval::GetResult method [.NET debugging]"
+ - "GetResult method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::GetResult Method
+
+Gets the results of this evaluation.
+
+## Syntax
+
+```cpp
+HRESULT GetResult (
+ [out] ICorDebugValue **ppResult
+);
+```
+
+## Parameters
+
+ `ppResult`
+ [out] Pointer to the address of an ICorDebugValue object that represents the results of this evaluation, if the evaluation completes normally.
+
+## Remarks
+
+The `GetResult` method is valid only after the evaluation is completed.
+
+If the evaluation completes normally, `ppResult` specifies the results. If it terminates with an exception, the result is the exception thrown. If the evaluation was for a new object, the result is the reference to the new object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getthread-method.md
new file mode 100644
index 0000000000000..0716a75fe28c7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-getthread-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugEval::GetThread Method"
+title: "ICorDebugEval::GetThread Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.GetThread"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::GetThread"
+helpviewer_keywords:
+ - "GetThread method, ICorDebugEval interface [.NET debugging]"
+ - "ICorDebugEval::GetThread method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::GetThread Method
+
+Gets the thread in which this evaluation is executing or will execute.
+
+## Syntax
+
+```cpp
+HRESULT GetThread (
+ [out] ICorDebugThread **ppThread
+);
+```
+
+## Parameters
+
+ `ppThread`
+ [out] A pointer to the address of an ICorDebugThread object that represents the thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-interface.md
new file mode 100644
index 0000000000000..4765ab56455a7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-interface.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugEval Interface"
+title: "ICorDebugEval Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval"
+helpviewer_keywords:
+ - "ICorDebugEval interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval Interface
+
+Provides methods to enable the debugger to execute code within the context of the code being debugged.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Abort Method](icordebugeval-abort-method.md)|Aborts the computation this `ICorDebugEval` object is currently performing.|
+|[CallFunction Method](icordebugeval-callfunction-method.md)|Sets up a call to the specified function. (Obsolete; use [ICorDebugEval2::CallParameterizedFunction](icordebugeval2-callparameterizedfunction-method.md) instead.)|
+|[CreateValue Method](icordebugeval-createvalue-method.md)|Gets an interface pointer to an "ICorDebugValue" object of the specified type, with an initial value of zero or null. (Obsolete; use [ICorDebugEval2::CreateValueForType](icordebugeval2-createvaluefortype-method.md) instead.)|
+|[GetResult Method](icordebugeval-getresult-method.md)|Gets an interface pointer to an `ICorDebugValue` that contains the results of the evaluation.|
+|[GetThread Method](icordebugeval-getthread-method.md)|Gets an interface pointer to the "ICorDebugThread" where this evaluation is executing or will execute.|
+|[IsActive Method](icordebugeval-isactive-method.md)|Gets a value that indicates whether this `ICorDebugEval` object is currently executing.|
+|[NewArray Method](icordebugeval-newarray-method.md)|Allocates a new array of the specified element type and dimensions. (Obsolete; use [ICorDebugEval2::NewParameterizedArray](icordebugeval2-newparameterizedarray-method.md) instead.)|
+|[NewObject Method](icordebugeval-newobject-method.md)|Allocates a new object instance and calls the specified constructor method. (Obsolete; use [ICorDebugEval2::NewParameterizedObject](icordebugeval2-newparameterizedobject-method.md) instead.)|
+|[NewObjectNoConstructor Method](icordebugeval-newobjectnoconstructor-method.md)|Allocates a new object instance of the specified type, without attempting to call a constructor method. (Obsolete; use [ICorDebugEval2::NewParameterizedObjectNoConstructor](icordebugeval2-newparameterizedobjectnoconstructor-method.md) instead.)|
+|[NewString Method](icordebugeval-newstring-method.md)|Allocates a new string object with the specified contents.|
+
+## Remarks
+
+An `ICorDebugEval` object is created in the context of a specific thread that is used to perform the evaluations. All objects and types used in a given evaluation must reside within the same application domain. That application domain need not be the same as the current application domain of the thread. Evaluations can be nested.
+
+The evaluation's operations do not complete until the debugger calls [ICorDebugController::Continue](icordebugcontroller-continue-method.md), and then receives an [ICorDebugManagedCallback::EvalComplete](icordebugmanagedcallback-evalcomplete-method.md) callback. If you need to use the evaluation functionality without allowing other threads to run, suspend the threads by using either [ICorDebugController::SetAllThreadsDebugState](icordebugcontroller-setallthreadsdebugstate-method.md) or [ICorDebugController::Stop](icordebugcontroller-stop-method.md) before calling [ICorDebugController::Continue](icordebugcontroller-continue-method.md).
+
+Because user code is running when the evaluation is in progress, any debug events can occur, including class loads and breakpoints. The debugger will receive callbacks, as normal, for these events. The state of the evaluation will be seen as part of the inspection of the normal program state. The stack chain will be a `CHAIN_FUNC_EVAL` chain (see the "CorDebugStepReason" enumeration and the [ICorDebugChain::GetReason](icordebugchain-getreason-method.md) method). The full debugger API will continue to operate as normal.
+
+If a deadlocked or infinite looping situation arises, the user code may never complete. In such a case, you must call [ICorDebugEval::Abort](icordebugeval-abort-method.md) before resuming the program.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-isactive-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-isactive-method.md
new file mode 100644
index 0000000000000..ce8fde08e7175
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-isactive-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugEval::IsActive Method"
+title: "ICorDebugEval::IsActive Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.IsActive"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::IsActive"
+helpviewer_keywords:
+ - "IsActive method, ICorDebugEval interface [.NET debugging]"
+ - "ICorDebugEval::IsActive method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::IsActive Method
+
+Gets a value that indicates whether this ICorDebugEval object is currently executing.
+
+## Syntax
+
+```cpp
+HRESULT IsActive (
+ [out] BOOL *pbActive
+);
+```
+
+## Parameters
+
+ `pbActive`
+ [out] Pointer to a value that indicates whether this evaluation is active.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newarray-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newarray-method.md
new file mode 100644
index 0000000000000..47f4aaf359296
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newarray-method.md
@@ -0,0 +1,66 @@
+---
+description: "Learn more about: ICorDebugEval::NewArray Method"
+title: "ICorDebugEval::NewArray Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.NewArray"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::NewArray"
+helpviewer_keywords:
+ - "NewArray method [.NET debugging]"
+ - "ICorDebugEval::NewArray method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::NewArray Method
+
+Allocates a new array of the specified element type and dimensions.
+
+This method is obsolete. Use [ICorDebugEval2::NewParameterizedArray](icordebugeval2-newparameterizedarray-method.md) instead.
+
+## Syntax
+
+```cpp
+HRESULT NewArray (
+ [in] CorElementType elementType,
+ [in] ICorDebugClass *pElementClass,
+ [in] ULONG32 rank,
+ [in, size_is(rank)] ULONG32 dims[],
+ [in, size_is(rank)] ULONG32 lowBounds[]
+);
+```
+
+## Parameters
+
+ `elementType`
+ [in] A value of the CorElementType enumeration that specifies the element type of the array.
+
+ `pElementClass`
+ [in] A pointer to a ICorDebugClass object that specifies the class of the element. This value may be null if the element type is a primitive type.
+
+ `rank`
+ [in] The number of dimensions of the array. This value must be 1.
+
+ `dims`
+ [in] The size, in bytes, of each dimension of the array.
+
+ `lowBounds`
+ [in] Optional. The lower bound of each dimension of the array. If this value is omitted, a lower bound of zero is assumed for each dimension.
+
+## Remarks
+
+The array is always created in the application domain in which the thread is currently executing.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobject-method.md
new file mode 100644
index 0000000000000..e42e07422ff6d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobject-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugEval::NewObject Method"
+title: "ICorDebugEval::NewObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.NewObject"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::NewObject"
+helpviewer_keywords:
+ - "NewObject method [.NET debugging]"
+ - "ICorDebugEval::NewObject method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::NewObject Method
+
+Allocates a new object instance and calls the specified constructor method.
+
+This method is obsolete. Use [ICorDebugEval2::NewParameterizedObject](icordebugeval2-newparameterizedobject-method.md) instead.
+
+## Syntax
+
+```cpp
+HRESULT NewObject (
+ [in] ICorDebugFunction *pConstructor,
+ [in] ULONG32 nArgs,
+ [in, size_is(nArgs)] ICorDebugValue *ppArgs[]
+);
+```
+
+## Parameters
+
+ `pConstructor`
+ [in] The constructor to be called.
+
+ `nArgs`
+ [in] The size of the `ppArgs` array.
+
+ `ppArgs`
+ [in] An array of ICorDebugValue objects, each of which represents an argument to be passed to the constructor.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
+
+## See also
+
+- [NewParameterizedObject Method](icordebugeval2-newparameterizedobject-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobjectnoconstructor-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobjectnoconstructor-method.md
new file mode 100644
index 0000000000000..58a65970a890f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newobjectnoconstructor-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugEval::NewObjectNoConstructor Method"
+title: "ICorDebugEval::NewObjectNoConstructor Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.NewObjectNoConstructor"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::NewObjectNoConstructor"
+helpviewer_keywords:
+ - "NewObjectNoConstructor method [.NET debugging]"
+ - "ICorDebugEval::NewObjectNoConstructor method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::NewObjectNoConstructor Method
+
+Allocates a new object instance of the specified type, without attempting to call a constructor method.
+
+This method is obsolete. Use [ICorDebugEval2::NewParameterizedObjectNoConstructor](icordebugeval2-newparameterizedobjectnoconstructor-method.md) instead.
+
+## Syntax
+
+```cpp
+HRESULT NewObjectNoConstructor (
+ [in] ICorDebugClass *pClass
+);
+```
+
+## Parameters
+
+ `pClass`
+ [in] Pointer to an ICorDebugClass object that represents the type of object to be instantiated.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
+
+## See also
+
+- [NewParameterizedObjectNoConstructor Method](icordebugeval2-newparameterizedobjectnoconstructor-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newstring-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newstring-method.md
new file mode 100644
index 0000000000000..93f4a6ab0f024
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval-newstring-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugEval::NewString Method"
+title: "ICorDebugEval::NewString Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval.NewString"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval::NewString"
+helpviewer_keywords:
+ - "NewString method [.NET debugging]"
+ - "ICorDebugEval::NewString method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval::NewString Method
+
+Allocates a new string instance with the specified contents.
+
+## Syntax
+
+```cpp
+HRESULT NewString (
+ [in] LPCWSTR string
+);
+```
+
+## Parameters
+
+ `string`
+ [in] Pointer to the contents for the string.
+
+## Remarks
+
+The string is always created in the application domain in which the thread is currently executing.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-callparameterizedfunction-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-callparameterizedfunction-method.md
new file mode 100644
index 0000000000000..717634d13fa8c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-callparameterizedfunction-method.md
@@ -0,0 +1,68 @@
+---
+description: "Learn more about: ICorDebugEval2::CallParameterizedFunction Method"
+title: "ICorDebugEval2::CallParameterizedFunction Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.CallParameterizedFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::CallParameterizedFunction"
+helpviewer_keywords:
+ - "ICorDebugEval2::CallParameterizedFunction method [.NET debugging]"
+ - "CallParameterizedFunction method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::CallParameterizedFunction Method
+
+Sets up a call to the specified ICorDebugFunction, which can be nested inside a class whose constructor takes parameters, or can itself take parameters.
+
+## Syntax
+
+```cpp
+HRESULT CallParameterizedFunction (
+ [in] ICorDebugFunction *pFunction,
+ [in] ULONG32 nTypeArgs,
+ [in, size_is(nTypeArgs)] ICorDebugType *ppTypeArgs[],
+ [in] ULONG32 nArgs,
+ [in, size_is(nArgs)] ICorDebugValue *ppArgs[]
+);
+```
+
+## Parameters
+
+ `pFunction`
+ [in] A pointer to an `ICorDebugFunction` object that represents the function to be called.
+
+ `nTypeArgs`
+ [in] The number of arguments that the function takes.
+
+ `ppTypeArgs`
+ [in] An array of pointers, each of which points to an ICorDebugType object that represents a function argument.
+
+ `nArgs`
+ [in] The number of values passed in the function.
+
+ `ppArgs`
+ [in] An array of pointers, each of which points to an ICorDebugValue object that represents a value passed in a function argument.
+
+## Remarks
+
+ `CallParameterizedFunction` is like [ICorDebugEval::CallFunction](icordebugeval-callfunction-method.md) except that the function may be inside a class with type parameters, may itself take type parameters, or both. The type arguments should be given first for the class, and then for the function.
+
+If the function is in a different application domain, a transition will occur. However, all type and value arguments must be in the target application domain.
+
+Function evaluation can be performed only in limited scenarios. If `CallParameterizedFunction` or `ICorDebugEval::CallFunction` fails, the returned HRESULT will indicate the most general possible reason for failure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-createvaluefortype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-createvaluefortype-method.md
new file mode 100644
index 0000000000000..4d4fe55956452
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-createvaluefortype-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugEval2::CreateValueForType Method"
+title: "ICorDebugEval2::CreateValueForType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.CreateValueForType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::CreateValueForType"
+helpviewer_keywords:
+ - "CreateValueForType method [.NET debugging]"
+ - "ICorDebugEval2::CreateValueForType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::CreateValueForType Method
+
+Gets a pointer to a new ICorDebugValue of the specified type, with an initial value of zero or null.
+
+## Syntax
+
+```cpp
+HRESULT CreateValueForType (
+ [in] ICorDebugType *pType,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `pType`
+ [in] Pointer to an ICorDebugType object that represents the type.
+
+ `ppValue`
+ [out] Pointer to the address of an `ICorDebugValue` object that represents the value.
+
+## Remarks
+
+ `CreateValueForType` generalizes [ICorDebugEval::CreateValue](icordebugeval-createvalue-method.md) by allowing you to specify an arbitrary object type, including constructed types such as `List`. The only purpose of this method is to generate a value that can be passed to a function evaluation.
+
+The type must be a class or a value type. You cannot use this method to create array values or string values.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugeval2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-interface.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/icordebugeval2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-interface.md
index 93c21d04101e0..6bc55d0e8f34f 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugeval2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugEval2"
helpviewer_keywords:
- - "ICorDebugEval2 interface [.NET Framework debugging]"
-ms.assetid: fce34531-2687-406d-9131-d6ad94f2ce0e
+ - "ICorDebugEval2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -39,14 +38,10 @@ Extends "ICorDebugEval" to provide support for generic types.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedarray-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedarray-method.md
new file mode 100644
index 0000000000000..ce17eb97e7b64
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedarray-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugEval2::NewParameterizedArray Method"
+title: "ICorDebugEval2::NewParameterizedArray Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.NewParameterizedArray"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::NewParameterizedArray"
+helpviewer_keywords:
+ - "ICorDebugEval2::NewParameterizedArray method [.NET debugging]"
+ - "NewParameterizedArray method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::NewParameterizedArray Method
+
+Allocates a new array of the specified element type and dimensions.
+
+## Syntax
+
+```cpp
+HRESULT NewParameterizedArray(
+ [in] ICorDebugType *pElementType,
+ [in] ULONG32 rank,
+ [in, size_is(rank)] ULONG32 dims[],
+ [in, size_is(rank)] ULONG32 lowBounds[]
+);
+```
+
+## Parameters
+
+ `pElementType`
+ [in] A pointer to an ICorDebugType object that represents the type of element stored in the array.
+
+ `rank`
+ [in] The number of dimensions of the array.
+
+ `dims`
+ [in] The size, in bytes, of each dimension of the array.
+
+ `lowBounds`
+ [in] Optional. The lower bound of each dimension of the array. If this value is omitted, a lower bound of zero is assumed for each dimension.
+
+## Remarks
+
+The elements of the array may be instances of a generic type. The array is always created in the application domain in which the thread is currently running.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobject-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedobject-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobject-method.md
index 88db31e690f7b..83f307033243f 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugeval2-newparameterizedobject-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobject-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugEval2::NewParameterizedObject"
helpviewer_keywords:
- - "NewParameterizedObject method [.NET Framework debugging]"
- - "ICorDebugEval2::NewParameterizedObject method [.NET Framework debugging]"
-ms.assetid: 3d705463-e640-4249-8036-4e8206d03cfe
+ - "NewParameterizedObject method [.NET debugging]"
+ - "ICorDebugEval2::NewParameterizedObject method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -52,14 +51,14 @@ HRESULT NewParameterizedObject (
## Remarks
- The object's constructor may take parameters.
+The object's constructor may take parameters.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobjectnoconstructor-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobjectnoconstructor-method.md
new file mode 100644
index 0000000000000..4a5188259bfe7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newparameterizedobjectnoconstructor-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugEval2::NewParameterizedObjectNoConstructor Method"
+title: "ICorDebugEval2::NewParameterizedObjectNoConstructor Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.NewParameterizedObjectNoConstructor"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::NewParameterizedObjectNoConstructor"
+helpviewer_keywords:
+ - "NewParameterizedObjectNoConstructor method [.NET debugging]"
+ - "ICorDebugEval2::NewParameterizedObjectNoConstructor method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::NewParameterizedObjectNoConstructor Method
+
+Instantiates a new parameterized type object of the specified class without attempting to call a constructor method.
+
+## Syntax
+
+```cpp
+HRESULT NewParameterizedObjectNoConstructor (
+ [in] ICorDebugClass *pClass,
+ [in] ULONG32 nTypeArgs,
+ [in, size_is(nTypeArgs)] ICorDebugType *ppTypeArgs[]
+);
+```
+
+## Parameters
+
+ `pClass`
+ [in] A pointer to an ICorDebugClass object that represents the class of the object to be instantiated.
+
+ `nTypeArgs`
+ [in] The number of type arguments passed.
+
+ `ppTypeArgs`
+ [in] An array of pointers, each of which points to an ICorDebugType object that represents a type argument for the object that is being instantiated.
+
+## Remarks
+
+The `NewParameterizedObjectNoConstructor` method will fail if an incorrect number of type arguments or the wrong types of type arguments are passed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newstringwithlength-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newstringwithlength-method.md
new file mode 100644
index 0000000000000..1615f4c90aacb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-newstringwithlength-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugEval2::NewStringWithLength Method"
+title: "ICorDebugEval2::NewStringWithLength Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.NewStringWithLength"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::NewStringWithLength"
+helpviewer_keywords:
+ - "NewStringWithLength method [.NET debugging]"
+ - "ICorDebugEval2::NewStringWithLength method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::NewStringWithLength Method
+
+Creates a string of the specified length, with the specified contents.
+
+## Syntax
+
+```cpp
+HRESULT NewStringWithLength (
+ [in] LPCWSTR string,
+ [in] UINT uiLength
+);
+```
+
+## Parameters
+
+ `string`
+ [in] A pointer to the string value.
+
+ `uiLength`
+ [in] Length of the string.
+
+## Remarks
+
+If the string's trailing null character is expected to be in the managed string, the caller of the `NewStringWithLength` method must ensure that the string length includes the trailing null character.
+
+The string is always created in the application domain in which the thread is currently executing.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-rudeabort-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-rudeabort-method.md
new file mode 100644
index 0000000000000..622a54393d31a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugeval2-rudeabort-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugEval2::RudeAbort Method"
+title: "ICorDebugEval2::RudeAbort Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugEval2.RudeAbort"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugEval2::RudeAbort"
+helpviewer_keywords:
+ - "ICorDebugEval2::RudeAbort method [.NET debugging]"
+ - "RudeAbort method, ICorDebugEval2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugEval2::RudeAbort Method
+
+Aborts the computation that this `ICorDebugEval2` is currently performing.
+
+## Syntax
+
+```cpp
+HRESULT RudeAbort ();
+```
+
+## Remarks
+
+ `RudeAbort` does not release any locks that the evaluator holds, so it leaves the debugging session in an unsafe state. Call this method with extreme caution.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getflags-method.md
new file mode 100644
index 0000000000000..7e277776b4363
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getflags-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugExceptionDebugEvent::GetFlags Method"
+title: "ICorDebugExceptionDebugEvent::GetFlags Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugExceptionDebugEvent::GetFlags Method
+
+Gets a flag that indicates whether the exception can be intercepted.
+
+## Syntax
+
+```cpp
+HRESULT GetFlags(
+ [out] CorDebugExceptionFlags *pdwFlags
+);
+```
+
+## Parameters
+
+ `pdwFlags`
+ [out] A pointer to a [CorDebugExceptionFlags](cordebugexceptionflags-enumeration.md) value that indicates whether the exception can be intercepted.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugExceptionDebugEvent Interface](icordebugexceptiondebugevent-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getnativeip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getnativeip-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getnativeip-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getnativeip-method.md
index df62779cd070e..1eb10caf15b4d 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-getnativeip-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getnativeip-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugExceptionDebugEvent::GetNativeIP Method"
title: "ICorDebugExceptionDebugEvent::GetNativeIP Method"
ms.date: "03/30/2017"
-ms.assetid: 12e6a262-d9ac-49b8-9b80-1e653a2a3819
---
# ICorDebugExceptionDebugEvent::GetNativeIP Method
@@ -23,7 +22,7 @@ HRESULT GetNativeIP(
## Remarks
- The meaning of this instruction pointer depends on the event type, as shown in the following table.
+The meaning of this instruction pointer depends on the event type, as shown in the following table.
|Event type|Meaning of `pStackPointer` value|
|----------------|--------------------------------------|
@@ -32,22 +31,21 @@ HRESULT GetNativeIP(
|[MANAGED_EXCEPTION_CATCH_HANDLER_FOUND](cordebugrecordformat-enumeration.md)|The code address where `catch` handler execution will start in the frame indicated by the [GetStackPointer](icordebugexceptiondebugevent-getstackpointer-method.md) method.|
|[MANAGED_EXCEPTION_UNHANDLED](cordebugrecordformat-enumeration.md)|`pIP` is 0.|
- The event type is available from the [ICorDebugDebugEvent::GetEventKind](icordebugdebugevent-geteventkind-method.md) method.
+The event type is available from the [ICorDebugDebugEvent::GetEventKind](icordebugdebugevent-geteventkind-method.md) method.
> [!NOTE]
> This method is available with .NET Native only.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugExceptionDebugEvent Interface](icordebugexceptiondebugevent-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getstackpointer-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getstackpointer-method.md
new file mode 100644
index 0000000000000..3465ddb7b63bc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-getstackpointer-method.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugExceptionDebugEvent::GetStackPointer Method"
+title: "ICorDebugExceptionDebugEvent::GetStackPointer Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugExceptionDebugEvent::GetStackPointer Method
+
+Gets the stack pointer for this exception debug event.
+
+## Syntax
+
+```cpp
+HRESULT GetStackPointer(
+ [out]CORDB_ADDRESS *pStackPointer
+);
+```
+
+## Parameters
+
+ `pStackPointer`
+ [out] A pointer to the address of the stack pointer for this exception debug event. See the Remarks section for more information.
+
+## Remarks
+
+The meaning of this stack pointer depends on the event type, as shown in the following table.
+
+|Event type|Meaning of `pStackPointer` value|
+|----------------|--------------------------------------|
+|[MANAGED_EXCEPTION_FIRST_CHANCE](cordebugrecordformat-enumeration.md)|The stack pointer for the frame that threw the exception.|
+|[MANAGED_EXCEPTION_USER_FIRST_CHANCE](cordebugrecordformat-enumeration.md)|The stack pointer for the user-code frame closest to the point of the thrown exception.|
+|[MANAGED_EXCEPTION_CATCH_HANDLER_FOUND](cordebugrecordformat-enumeration.md)|The stack pointer for the frame that contains the catch handler.|
+|[MANAGED_EXCEPTION_UNHANDLED](cordebugrecordformat-enumeration.md)|`pStackPointer` is **null**.|
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+The event type is available from the [ICorDebugDebugEvent::GetEventKind](icordebugdebugevent-geteventkind-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugExceptionDebugEvent Interface](icordebugexceptiondebugevent-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-interface.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-interface.md
index 70336bc55ad54..01f97d2c42093 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugexceptiondebugevent-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptiondebugevent-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugExceptionDebugEvent Interface"
title: "ICorDebugExceptionDebugEvent Interface"
ms.date: "03/30/2017"
-ms.assetid: f9ba60d8-b54d-417e-bb3e-fde4b41ca44c
---
# ICorDebugExceptionDebugEvent Interface
@@ -18,14 +17,11 @@ Extends the [ICorDebugDebugEvent](icordebugdebugevent-interface.md) interface to
## Remarks
- The `ICorDebugExceptionDebugEvent` interface is implemented by the following event types:
+The `ICorDebugExceptionDebugEvent` interface is implemented by the following event types:
- [MANAGED_EXCEPTION_FIRST_CHANCE](cordebugrecordformat-enumeration.md)
-
- [MANAGED_EXCEPTION_USER_FIRST_CHANCE](cordebugrecordformat-enumeration.md)
-
- [MANAGED_EXCEPTION_CATCH_HANDLER_FOUND](cordebugrecordformat-enumeration.md)
-
- [MANAGED_EXCEPTION_UNHANDLED](cordebugrecordformat-enumeration.md)
> [!NOTE]
@@ -33,15 +29,10 @@ Extends the [ICorDebugDebugEvent](icordebugdebugevent-interface.md) interface to
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-interface.md
new file mode 100644
index 0000000000000..3c2583b1ff663
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugExceptionObjectCallStackEnum Interface"
+title: "ICorDebugExceptionObjectCallStackEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugExceptionObjectCallStackEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugExceptionObjectCallStackEnum"
+helpviewer_keywords:
+ - "ICorDebugExceptionObjectCallStackEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugExceptionObjectCallStackEnum Interface
+
+Provides an enumerator for call stack information that is embedded in an exception object. This interface is a subclass of the ICorDebugEnum interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[ICorDebugExceptionObjectCallStackEnum::Next](icordebugexceptionobjectcallstackenum-next-method.md)|Gets a specified number of [CorDebugExceptionObjectStackFrame](cordebugexceptionobjectstackframe-structure.md) objects that contain information about an exception object's call stack.|
+
+## Remarks
+
+The `ICorDebugExceptionObjectCallStackEnum` interface implements the ICorDebugEnum interface.
+
+An `ICorDebugExceptionObjectCallStackEnum` instance is populated with [CorDebugExceptionObjectStackFrame](cordebugexceptionobjectstackframe-structure.md) objects by calling the [ICorDebugExceptionObjectValue::EnumerateExceptionCallStack](icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md) method. The call stack items in the collection can be enumerated by calling the [ICorDebugExceptionObjectCallStackEnum::Next](icordebugexceptionobjectcallstackenum-next-method.md) method
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectcallstackenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-next-method.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/icordebugexceptionobjectcallstackenum-next-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-next-method.md
index d6f8347f54316..3f6e5cc93964e 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugexceptionobjectcallstackenum-next-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectcallstackenum-next-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugExceptionObjectCallStackEnum::Next"
helpviewer_keywords:
- - "ICorDebugExceptionObjectCallStackEnum::Next method [.NET Framework debugging]"
- - "Next method, ICorDebugExceptionObjectCallStackEnum interface [.NET Framework debugging]"
-ms.assetid: 3328a2c0-1e48-4a54-802a-9b474cf82c21
+ - "ICorDebugExceptionObjectCallStackEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugExceptionObjectCallStackEnum interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -46,15 +45,14 @@ HRESULT Next(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
- [ICorDebugExceptionObjectCallStackEnum Interface](icordebugexceptionobjectcallstackenum-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md
new file mode 100644
index 0000000000000..b9076e7260c1a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugExceptionObjectValue::EnumerateExceptionCallStack Method"
+title: "ICorDebugExceptionObjectValue::EnumerateExceptionCallStack Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugExceptionObjectValue.EnumerateExceptionCallStack"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugExceptionObjectValue::EnumerateExceptionCallStack"
+helpviewer_keywords:
+ - "EnumerateExceptionCallStack method, ICorDebugExceptionObjectValue interface [.NET debugging]"
+ - "ICorDebugExceptionObjectValue::EnumerateExceptionCallStack method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugExceptionObjectValue::EnumerateExceptionCallStack Method
+
+Gets an enumerator to the call stack embedded in an exception object.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateExceptionCallStack(
+ [out] ICorDebugExceptionObjectCallStackEnum **ppCallStackEnum
+);
+```
+
+## Parameters
+
+ppCallStackEnum
+ [out] A pointer to the address of an [ICorDebugExceptionObjectCallStackEnum](icordebugexceptionobjectcallstackenum-interface.md) interface object that is a stack trace enumerator for a managed exception object.
+
+## Remarks
+
+If no call stack information is available, the method returns `S_OK`, and [ICorDebugExceptionObjectCallStackEnum](icordebugexceptionobjectcallstackenum-interface.md) is a valid enumerator with a length of 0. If the method is unable to retrieve stack trace information, the return value is `E_FAIL` and no enumerator is returned.
+
+The [ICorDebugExceptionObjectCallStackEnum](icordebugexceptionobjectcallstackenum-interface.md) object is responsible for decoding the stack trace data from the `_stackTrace` field of the exception object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugExceptionObjectValue Interface](icordebugexceptionobjectvalue-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-interface.md
new file mode 100644
index 0000000000000..adc0d1404193c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugexceptionobjectvalue-interface.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugExceptionObjectValue Interface"
+title: "ICorDebugExceptionObjectValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugExceptionObjectValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugExceptionObjectValue"
+helpviewer_keywords:
+ - "ICorDebugExceptionObjectValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugExceptionObjectValue Interface
+
+Extends the "ICorDebugObjectValue" interface to provide stack trace information from a managed exception object.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateExceptionCallStack Method](icordebugexceptionobjectvalue-enumerateexceptioncallstack-method.md)|Gets an enumerator to the call stack embedded in an exception object.|
+
+## Remarks
+
+The call to `QueryInterface` will succeed for managed objects that derive from .
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-createstepper-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-createstepper-method.md
new file mode 100644
index 0000000000000..77826e2f7c570
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-createstepper-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFrame::CreateStepper Method"
+title: "ICorDebugFrame::CreateStepper Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.CreateStepper"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::CreateStepper"
+helpviewer_keywords:
+ - "ICorDebugFrame::CreateStepper method [.NET debugging]"
+ - "CreateStepper method, ICorDebugFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::CreateStepper Method
+
+Gets a stepper that allows the debugger to perform stepping operations relative to this ICorDebugFrame.
+
+## Syntax
+
+```cpp
+HRESULT CreateStepper (
+ [out] ICorDebugStepper **ppStepper
+);
+```
+
+## Parameters
+
+ `ppStepper`
+ [out] A pointer to the address of an ICorDebugStepper object that allows the debugger to perform stepping operations relative to the current frame.
+
+## Remarks
+
+If the frame is not active, the stepper object will typically have to return to the frame before the step is completed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcallee-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcallee-method.md
new file mode 100644
index 0000000000000..96e1754cb009d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcallee-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFrame::GetCallee Method"
+title: "ICorDebugFrame::GetCallee Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetCallee"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetCallee"
+helpviewer_keywords:
+ - "ICorDebugFrame::GetCallee method [.NET debugging]"
+ - "GetCallee method, ICorDebugFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetCallee Method
+
+Gets a pointer to the ICorDebugFrame object in the current chain that this frame called.
+
+## Syntax
+
+```cpp
+HRESULT GetCallee (
+ [out] ICorDebugFrame **ppFrame
+);
+```
+
+## Parameters
+
+ `ppFrame`
+ [out] A pointer to the address of an `ICorDebugFrame` object that represents the called frame. This value is null if the calling frame is the innermost frame in the current chain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcaller-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcaller-method.md
new file mode 100644
index 0000000000000..32c529e73806d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcaller-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFrame::GetCaller Method"
+title: "ICorDebugFrame::GetCaller Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetCaller"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetCaller"
+helpviewer_keywords:
+ - "GetCaller method, ICorDebugFrame interface [.NET debugging]"
+ - "ICorDebugFrame::GetCaller method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetCaller Method
+
+Gets a pointer to the ICorDebugFrame object in the current chain that called this frame.
+
+## Syntax
+
+```cpp
+HRESULT GetCaller (
+ [out] ICorDebugFrame **ppFrame
+);
+```
+
+## Parameters
+
+ `ppFrame`
+ [out] A pointer to the address of an `ICorDebugFrame` object that represents the calling frame. This value is null if the called frame is the outermost frame in the current chain.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getchain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getchain-method.md
new file mode 100644
index 0000000000000..c077df96ea5a6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getchain-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFrame::GetChain Method"
+title: "ICorDebugFrame::GetChain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetChain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetChain"
+helpviewer_keywords:
+ - "ICorDebugFrame::GetChain method [.NET debugging]"
+ - "GetChain method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetChain Method
+
+Gets a pointer to the chain this frame is a part of.
+
+## Syntax
+
+```cpp
+HRESULT GetChain (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the chain containing this frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcode-method.md
new file mode 100644
index 0000000000000..6eb5e1ead7d07
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getcode-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFrame::GetCode Method"
+title: "ICorDebugFrame::GetCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetCode"
+helpviewer_keywords:
+ - "GetCode method, ICorDebugFrame interface [.NET debugging]"
+ - "ICorDebugFrame::GetCode method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetCode Method
+
+Gets a pointer to the code associated with this stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetCode (
+ [out] ICorDebugCode **ppCode
+);
+```
+
+## Parameters
+
+ `ppCode`
+ [out] A pointer to the address of an ICorDebugCode object that represents the code associated with this frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunction-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunction-method.md
new file mode 100644
index 0000000000000..dae79ed92564d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunction-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFrame::GetFunction Method"
+title: "ICorDebugFrame::GetFunction Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetFunction"
+helpviewer_keywords:
+ - "GetFunction method, ICorDebugFrame interface [.NET debugging]"
+ - "ICorDebugFrame::GetFunction method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetFunction Method
+
+Gets the function that contains the code associated with this stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetFunction (
+ [out] ICorDebugFunction **ppFunction
+);
+```
+
+## Parameters
+
+ `ppFunction`
+ [out] A pointer to the address of an ICorDebugFunction object that represents the function containing the code associated with this stack frame.
+
+## Remarks
+
+The `GetFunction` method may fail if the frame is not associated with any particular function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunctiontoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunctiontoken-method.md
new file mode 100644
index 0000000000000..6347980d16a1e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getfunctiontoken-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFrame::GetFunctionToken Method"
+title: "ICorDebugFrame::GetFunctionToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetFunctionToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetFunctionToken"
+helpviewer_keywords:
+ - "ICorDebugFrame::GetFunctionToken method [.NET debugging]"
+ - "GetFunctionToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetFunctionToken Method
+
+Gets the metadata token for the function that contains the code associated with this stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetFunctionToken (
+ [out] mdMethodDef *pToken
+);
+```
+
+## Parameters
+
+ `pToken`
+ [out] A pointer to an `mdMethodDef` token that references the metadata for the function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getstackrange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getstackrange-method.md
new file mode 100644
index 0000000000000..47cb4c32518a8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-getstackrange-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugFrame::GetStackRange Method"
+title: "ICorDebugFrame::GetStackRange Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrame.GetStackRange"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrame::GetStackRange"
+helpviewer_keywords:
+ - "GetStackRange method, ICorDebugFrame interface [.NET debugging]"
+ - "ICorDebugFrame::GetStackRange method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrame::GetStackRange Method
+
+Gets the absolute address range of this stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetStackRange (
+ [out] CORDB_ADDRESS *pStart,
+ [out] CORDB_ADDRESS *pEnd
+);
+```
+
+## Parameters
+
+ `pStart`
+ [out] A pointer to a `CORDB_ADDRESS` that specifies the starting address of the stack frame represented by this `ICorDebugFrame` object.
+
+ `pEnd`
+ [out] A pointer to a `CORDB_ADDRESS` that specifies the ending address of the stack frame represented by this `ICorDebugFrame` object.
+
+## Remarks
+
+The address range of the stack is useful for piecing together interleaved stack traces gathered from multiple debugging engines. The numeric range provides no information about the contents of the stack frame. It is meaningful only for comparison of stack frame locations.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugframe-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-interface.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/icordebugframe-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugframe-interface.md
index 78af9ed03ae32..889884775b0cf 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugframe-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframe-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugFrame"
helpviewer_keywords:
- - "ICorDebugFrame interface [.NET Framework debugging]"
-ms.assetid: 0c48f764-3c64-4602-b2f4-4ffc60eb2c65
+ - "ICorDebugFrame interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -40,14 +39,10 @@ Represents a frame on the current stack.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-interface.md
new file mode 100644
index 0000000000000..e59c4de7aad42
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugFrameEnum Interface"
+title: "ICorDebugFrameEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrameEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrameEnum"
+helpviewer_keywords:
+ - "ICorDebugFrameEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrameEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates ICorDebugFrame arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugframeenum-next-method.md)|Gets the specified number of `ICorDebugFrame` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-next-method.md
new file mode 100644
index 0000000000000..d6d39f4acb686
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugframeenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugFrameEnum::Next Method"
+title: "ICorDebugFrameEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFrameEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFrameEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugFrameEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugFrameEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFrameEnum::Next Method
+
+Gets the specified number of ICorDebugFrame instances, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugFrame *frames[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugFrame` instances to be retrieved.
+
+ `frames`
+ [out] An array of pointers, each of which points to an `ICorDebugFrame` object.
+
+ `pceltFetched`
+ [out] A pointer to the number of `ICorDebugFrame` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-createbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-createbreakpoint-method.md
new file mode 100644
index 0000000000000..101ad926faf7b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-createbreakpoint-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunction::CreateBreakpoint Method"
+title: "ICorDebugFunction::CreateBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.CreateBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::CreateBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugFunction::CreateBreakpoint method [.NET debugging]"
+ - "CreateBreakpoint method, ICorDebugFunction interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::CreateBreakpoint Method
+
+Creates a breakpoint at the beginning of this function.
+
+## Syntax
+
+```cpp
+HRESULT CreateBreakpoint (
+ [out] ICorDebugFunctionBreakpoint **ppBreakpoint
+);
+```
+
+## Parameters
+
+ `ppBreakpoint`
+ [out] A pointer to the address of an ICorDebugFunctionBreakpoint object that represents the new breakpoint for the function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getclass-method.md
new file mode 100644
index 0000000000000..16f37568eadad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getclass-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunction::GetClass Method"
+title: "ICorDebugFunction::GetClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetClass"
+helpviewer_keywords:
+ - "GetClass method, ICorDebugFunction interface [.NET debugging]"
+ - "ICorDebugFunction::GetClass method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetClass Method
+
+Gets an ICorDebugClass object that represents the class this function is a member of.
+
+## Syntax
+
+```cpp
+HRESULT GetClass (
+ [out] ICorDebugClass **ppClass
+);
+```
+
+## Parameters
+
+ `ppClass`
+ [out] A pointer to the address of the `ICorDebugClass` object that represents the class, or null, if this function is not a member of a class.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getcurrentversionnumber-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getcurrentversionnumber-method.md
new file mode 100644
index 0000000000000..65459c27f9deb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getcurrentversionnumber-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFunction::GetCurrentVersionNumber Method"
+title: "ICorDebugFunction::GetCurrentVersionNumber Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetCurrentVersionNumber"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetCurrentVersionNumber"
+helpviewer_keywords:
+ - "GetCurrentVersionNumber method [.NET debugging]"
+ - "ICorDebugFunction::GetCurrentVersionNumber method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetCurrentVersionNumber Method
+
+Gets the version number of the latest edit made to the function represented by this ICorDebugFunction object.
+
+## Syntax
+
+```cpp
+HRESULT GetCurrentVersionNumber (
+ [out] ULONG32 *pnCurrentVersion
+);
+```
+
+## Parameters
+
+ `pnCurrentVersion`
+ [out] A pointer to an integer value that is the version number of the latest edit made to this function.
+
+## Remarks
+
+The version number of the latest edit made to this function may be greater than the version number of the function itself. Use either the [ICorDebugFunction2::GetVersionNumber](icordebugfunction2-getversionnumber-method.md) method or the [ICorDebugCode::GetVersionNumber](icordebugcode-getversionnumber-method.md) method to retrieve the version number of the function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getilcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getilcode-method.md
new file mode 100644
index 0000000000000..40928520024f7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getilcode-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFunction::GetILCode Method"
+title: "ICorDebugFunction::GetILCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetILCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetILCode"
+helpviewer_keywords:
+ - "ICorDebugFunction::GetILCode method [.NET debugging]"
+ - "GetILCode method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetILCode Method
+
+Gets the ICorDebugCode instance that represents the common intermediate language (CIL) code associated with this ICorDebugFunction object.
+
+## Syntax
+
+```cpp
+HRESULT GetILCode (
+ [out] ICorDebugCode **ppCode
+);
+```
+
+## Parameters
+
+ `ppCode`
+ [out] A pointer to the `ICorDebugCode` instance, or null, if the function was not compiled into CIL.
+
+## Remarks
+
+If Edit and Continue has been allowed on this function, the `GetILCode` method will get the CIL code corresponding to this function's edited version of the code in the common language runtime (CLR).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getlocalvarsigtoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getlocalvarsigtoken-method.md
new file mode 100644
index 0000000000000..7545c4b673624
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getlocalvarsigtoken-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunction::GetLocalVarSigToken Method"
+title: "ICorDebugFunction::GetLocalVarSigToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetLocalVarSigToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetLocalVarSigToken"
+helpviewer_keywords:
+ - "ICorDebugFunction::GetLocalVarSigToken method [.NET debugging]"
+ - "GetLocalVarSigToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetLocalVarSigToken Method
+
+Gets the metadata token for the local variable signature of the function that is represented by this ICorDebugFunction instance.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalVarSigToken (
+ [out] mdSignature *pmdSig
+);
+```
+
+## Parameters
+
+ `pmdSig`
+ [out] A pointer to the `mdSignature` token for the local variable signature of this function, or `mdSignatureNil`, if this function has no local variables.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getmodule-method.md
new file mode 100644
index 0000000000000..bd8883369e694
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getmodule-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunction::GetModule Method"
+title: "ICorDebugFunction::GetModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetModule"
+helpviewer_keywords:
+ - "ICorDebugFunction::GetModule method [.NET debugging]"
+ - "GetModule method, ICorDebugFunction interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetModule Method
+
+Gets the module in which this function is defined.
+
+## Syntax
+
+```cpp
+HRESULT GetModule (
+ [out] ICorDebugModule **ppModule
+);
+```
+
+## Parameters
+
+ `ppModule`
+ [out] A pointer to the address of an ICorDebugModule object that represents the module in which this function is defined.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getnativecode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getnativecode-method.md
new file mode 100644
index 0000000000000..4803d6afaff6f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-getnativecode-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFunction::GetNativeCode Method"
+title: "ICorDebugFunction::GetNativeCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetNativeCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetNativeCode"
+helpviewer_keywords:
+ - "GetNativeCode method [.NET debugging]"
+ - "ICorDebugFunction::GetNativeCode method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetNativeCode Method
+
+Gets the native code for the function that is represented by this ICorDebugFunction instance.
+
+## Syntax
+
+```cpp
+HRESULT GetNativeCode (
+ [out] ICorDebugCode **ppCode
+);
+```
+
+## Parameters
+
+ `ppCode`
+ [out] A pointer to the ICorDebugCode instance that represents the native code for this function, or null, if this function is common intermediate language (CIL) code that has not been just-in-time (JIT) compiled.
+
+## Remarks
+
+If the function that is represented by this `ICorDebugFunction` instance has been JIT-compiled more than once, as in the case of generic types, `GetNativeCode` returns a random native code object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-gettoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-gettoken-method.md
new file mode 100644
index 0000000000000..5343c6689f66c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-gettoken-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunction::GetToken Method"
+title: "ICorDebugFunction::GetToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction.GetToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction::GetToken"
+helpviewer_keywords:
+ - "ICorDebugFunction::GetToken method [.NET debugging]"
+ - "GetToken method, ICorDebugFunction interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction::GetToken Method
+
+Gets the metadata token for this function.
+
+## Syntax
+
+```cpp
+HRESULT GetToken (
+ [out] mdMethodDef *pMethodDef
+);
+```
+
+## Parameters
+
+ `pMethodDef`
+ [out] A pointer to an `mdMethodDef` token that references the metadata for this function.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-interface1.md
new file mode 100644
index 0000000000000..9de8aaf653294
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction-interface1.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugFunction Interface"
+title: "ICorDebugFunction Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction"
+helpviewer_keywords:
+ - "ICorDebugFunction interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction Interface
+
+Represents a managed function or method.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[CreateBreakpoint Method](icordebugfunction-createbreakpoint-method.md)|Creates a breakpoint at the beginning of this function.|
+|[GetClass Method](icordebugfunction-getclass-method.md)|Gets an ICorDebugClass object that represents the class this function is a member of.|
+|[GetCurrentVersionNumber Method](icordebugfunction-getcurrentversionnumber-method.md)|Gets the version number of the latest edit made to this function.|
+|[GetILCode Method](icordebugfunction-getilcode-method.md)|Gets the common intermediate language (CIL) code for this function.|
+|[GetLocalVarSigToken Method](icordebugfunction-getlocalvarsigtoken-method.md)|Gets the metadata token for the local variable signature of the function that is represented by this `ICorDebugFunction` instance.|
+|[GetModule Method](icordebugfunction-getmodule-method.md)|Gets the module in which this function is defined.|
+|[GetNativeCode Method](icordebugfunction-getnativecode-method.md)|Gets the native code for this function.|
+|[GetToken Method](icordebugfunction-gettoken-method.md)|Gets the metadata token for this function.|
+
+## Remarks
+
+The `ICorDebugFunction` interface does not represent a function with generic type parameters. For example, an `ICorDebugFunction` instance would represent `Func` but not `Func`. Call [ICorDebugILFrame2::EnumerateTypeParameters](icordebugilframe2-enumeratetypeparameters-method.md) to get the generic type parameters.
+
+The relationship between a method's metadata token, `mdMethodDef`, and a method's `ICorDebugFunction` object is dependent upon whether Edit and Continue is allowed on the function:
+
+- If Edit and Continue is not allowed on the function, a one-to-one relationship exists between the `ICorDebugFunction` object and the `mdMethodDef` token. That is, the function has one `ICorDebugFunction` object and one `mdMethodDef` token.
+
+- If Edit and Continue is allowed on the function, a many-to-one relationship exists between the `ICorDebugFunction` object and the `mdMethodDef` token. That is, the function may have many instances of `ICorDebugFunction`, one for each version of the function, but only one `mdMethodDef` token.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-enumeratenativecode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-enumeratenativecode-method.md
new file mode 100644
index 0000000000000..301337ec0a70a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-enumeratenativecode-method.md
@@ -0,0 +1,36 @@
+---
+description: "Learn more about: ICorDebugFunction2::EnumerateNativeCode Method"
+title: "ICorDebugFunction2::EnumerateNativeCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction2.EnumerateNativeCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction2::EnumerateNativeCode"
+helpviewer_keywords:
+ - "ICorDebugFunction2::EnumerateNativeCode method [.NET debugging]"
+ - "EnumerateNativeCode method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction2::EnumerateNativeCode Method
+
+Gets an interface pointer to an ICorDebugCodeEnum object that contains the native code statements in the function referenced by this ICorDebugFunction2 object.
+
+> [!NOTE]
+> `EnumerateNativeCode` is not implemented in the current version of the .NET Framework.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateNativeCode (
+ [out] ICorDebugCodeEnum **ppCodeEnum
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getjmcstatus-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getjmcstatus-method.md
new file mode 100644
index 0000000000000..83961947b4e91
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getjmcstatus-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugFunction2::GetJMCStatus Method"
+title: "ICorDebugFunction2::GetJMCStatus Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction2.GetJMCStatus"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction2::GetJMCStatus"
+helpviewer_keywords:
+ - "ICorDebugFunction2::GetJMCStatus method [.NET debugging]"
+ - "GetJMCStatus method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction2::GetJMCStatus Method
+
+Gets a value that indicates whether the function that is represented by this ICorDebugFunction2 object is marked as user code.
+
+## Syntax
+
+```cpp
+HRESULT GetJMCStatus (
+ [out] BOOL *pbIsJustMyCode
+);
+```
+
+## Parameters
+
+ `pbIsJustMyCode`
+ [out] A pointer to a Boolean value that is `true`, if this function is marked as user code; otherwise, the value is `false`.
+
+## Remarks
+
+If the function represented by this `ICorDebugFunction2` cannot be debugged, `pbIsJustMyCode` will always be `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getversionnumber-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getversionnumber-method.md
new file mode 100644
index 0000000000000..5c6d4f9c51008
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-getversionnumber-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugFunction2::GetVersionNumber Method"
+title: "ICorDebugFunction2::GetVersionNumber Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction2.GetVersionNumber"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction2::GetVersionNumber"
+helpviewer_keywords:
+ - "ICorDebugFunction2::GetVersionNumber method [.NET debugging]"
+ - "GetVersionNumber method, ICorDebugFunction2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction2::GetVersionNumber Method
+
+Gets the Edit and Continue version of this function.
+
+## Syntax
+
+```cpp
+HRESULT GetVersionNumber (
+ [out] ULONG32 *pnVersion
+);
+```
+
+## Parameters
+
+ `pnVersion`
+ [out] A pointer to an integer that is the version number of the function that is represented by this ICorDebugFunction2 object.
+
+## Remarks
+
+The runtime keeps track of the number of edits that have taken place to each module during a debug session. The version number of a function is one more than the number of the edit that introduced the function. The function's original version is version 1. The number is incremented for a module every time [ICorDebugModule2::ApplyChanges](icordebugmodule2-applychanges-method.md) is called on that module. Thus, if a function’s body was replaced in the first and third call to `ICorDebugModule2::ApplyChanges`, `GetVersionNumber` may return version 1, 2, or 4 for that function, but not version 3. (That function would have no version 3.)
+
+The version number is tracked separately for each module. So, if you perform four edits on Module 1, and none on Module 2, your next edit on Module 1 will assign a version number of 6 to all the edited functions in Module 1. If the same edit touches Module 2, the functions in Module 2 will get a version number of 2.
+
+The version number obtained by the `GetVersionNumber` method may be lower than that obtained by [ICorDebugFunction::GetCurrentVersionNumber](icordebugfunction-getcurrentversionnumber-method.md).
+
+The [ICorDebugCode::GetVersionNumber](icordebugcode-getversionnumber-method.md) method performs the same operation as `ICorDebugFunction2::GetVersionNumber`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugfunction2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-interface.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugfunction2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-interface.md
index 21158ff1d507e..9ae4257bade5d 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugfunction2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugFunction2"
helpviewer_keywords:
- - "ICorDebugFunction2 interface [.NET Framework debugging]"
-ms.assetid: 2b936bef-9b75-48bf-859f-42e419c65f1c
+ - "ICorDebugFunction2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -36,14 +35,10 @@ Logically extends the ICorDebugFunction interface to provide support for Just My
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-setjmcstatus-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-setjmcstatus-method.md
new file mode 100644
index 0000000000000..24151b15eaa93
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction2-setjmcstatus-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugFunction2::SetJMCStatus Method"
+title: "ICorDebugFunction2::SetJMCStatus Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction2.SetJMCStatus"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunction2::SetJMCStatus"
+helpviewer_keywords:
+ - "ICorDebugFunction2::SetJMCStatus method [.NET debugging]"
+ - "SetJMCStatus method, ICorDebugFunction2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction2::SetJMCStatus Method
+
+Marks the function represented by this ICorDebugFunction2 for Just My Code stepping.
+
+## Syntax
+
+```cpp
+HRESULT SetJMCStatus (
+ [in] BOOL bIsJustMyCode
+);
+```
+
+## Parameters
+
+ `bIsJustMyCode`
+ [in] Set to `true` to mark the function as user code; otherwise, set to `false`.
+
+## Return Values
+
+|HRESULT|Description|
+|-------------|-----------------|
+|`S_OK`|The function was successfully marked.|
+|`CORDBG_E_FUNCTION_NOT_DEBUGGABLE`|The function could not be marked as user code because it cannot be debugged.|
+
+## Remarks
+
+A Just My Code stepper will skip non-user code. User code must be a subset of debuggable code.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-getactiverejitrequestilcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-getactiverejitrequestilcode-method.md
new file mode 100644
index 0000000000000..3df14dcfb4125
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-getactiverejitrequestilcode-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugFunction3::GetActiveReJitRequestILCode Method"
+title: "ICorDebugFunction3::GetActiveReJitRequestILCode Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugFunction3.GetActiveReJitRequestILCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction3::GetActiveReJitRequestILCode Method
+
+Gets an interface pointer to an [ICorDebugILCode](icordebugilcode-interface.md) that contains the IL from an active ReJIT request.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveReJitRequestILCode(
+ ICorDebugILCode **ppReJitedILCode
+);
+```
+
+## Parameters
+
+`ppReJitedILCode`\
+A pointer to the IL from an active ReJIT request.
+
+## Remarks
+
+If the method represented by this `ICorDebugFunction3` object has an active ReJIT request, `ppReJitedILCode` returns a pointer to its IL. If there is no active request, which is a common case, then `ppReJitedILCode` is **null**.
+
+A ReJIT request becomes active just after execution returns from the [ICorProfilerCallback4::GetReJITParameters](../../../../framework/unmanaged-api/profiling/icorprofilercallback4-getrejitparameters-method.md) method call. It may not yet be JIT-compiled, and threads may still be executing in the original version of the code. A ReJIT request becomes inactive during the profiler's call to the [ICorProfilerInfo4::RequestRevert](../../../../framework/unmanaged-api/profiling/icorprofilerinfo4-requestrevert-method.md) method. Even after the IL is reverted, a thread can still be executing in the JIT-recompiled (ReJIT) code.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugFunction3 Interface](icordebugfunction3-interface.md)
+- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-interface.md
new file mode 100644
index 0000000000000..24b1483345cbb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunction3-interface.md
@@ -0,0 +1,38 @@
+---
+description: "Learn more about: ICorDebugFunction3 Interface"
+title: "ICorDebugFunction3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunction3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunction3 Interface
+
+Logically extends the ICorDebugFunction interface to provide access to code from a ReJIT request.
+
+## Methods
+
+| Method | Description |
+|------------------------------------------------------------------------------------------------|-------------|
+| [GetActiveReJitRequestILCode Method](icordebugfunction3-getactiverejitrequestilcode-method.md) | Gets an interface pointer to an [ICorDebugILCode](icordebugilcode-interface.md) that contains the IL from an active ReJIT request. |
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getfunction-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getfunction-method.md
new file mode 100644
index 0000000000000..ac30428b5ca13
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getfunction-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunctionBreakpoint::GetFunction Method"
+title: "ICorDebugFunctionBreakpoint::GetFunction Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunctionBreakpoint.GetFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunctionBreakpoint::GetFunction"
+helpviewer_keywords:
+ - "ICorDebugFunctionBreakpoint::GetFunction method [.NET debugging]"
+ - "GetFunction method, ICorDebugFunctionBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunctionBreakpoint::GetFunction Method
+
+Gets an interface pointer to an ICorDebugFunction that references the function in which the breakpoint is set.
+
+## Syntax
+
+```cpp
+HRESULT GetFunction (
+ [out] ICorDebugFunction **ppFunction
+);
+```
+
+## Parameters
+
+ `ppFunction`
+ [out] A pointer to the address of the function in which the breakpoint is set.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getoffset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getoffset-method.md
new file mode 100644
index 0000000000000..79da90fe846ad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-getoffset-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugFunctionBreakpoint::GetOffset Method"
+title: "ICorDebugFunctionBreakpoint::GetOffset Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunctionBreakpoint.GetOffset"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunctionBreakpoint::GetOffset"
+helpviewer_keywords:
+ - "ICorDebugFunctionBreakpoint::GetOffset method [.NET debugging]"
+ - "GetOffset method, ICorDebugFunctionBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunctionBreakpoint::GetOffset Method
+
+Gets the offset of the breakpoint within the function.
+
+## Syntax
+
+```cpp
+HRESULT GetOffset (
+ [out] ULONG32 *pnOffset
+);
+```
+
+## Parameters
+
+ `pnOffset`
+ [out] A pointer to the offset of the breakpoint.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-interface.md
new file mode 100644
index 0000000000000..47a84cd54d5bf
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugfunctionbreakpoint-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugFunctionBreakpoint Interface"
+title: "ICorDebugFunctionBreakpoint Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugFunctionBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugFunctionBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugFunctionBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugFunctionBreakpoint Interface
+
+Extends the ICorDebugBreakpoint interface to support breakpoints within functions.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetFunction Method](icordebugfunctionbreakpoint-getfunction-method.md)|Gets an interface pointer to an ICorDebugFunction that references the function in which the breakpoint is set.|
+|[GetOffset Method](icordebugfunctionbreakpoint-getoffset-method.md)|Gets the offset of the breakpoint within the function.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-interface.md
new file mode 100644
index 0000000000000..0ddca5de0558b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-interface.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugGCReferenceEnum Interface"
+title: "ICorDebugGCReferenceEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGCReferenceEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGCReferenceEnum"
+helpviewer_keywords:
+ - "ICorDebugGCReferenceEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGCReferenceEnum Interface
+
+Provides an enumerator for objects that will be garbage-collected.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebuggcreferenceenum-next-method.md)|Gets the specified number of [COR_GC_REFERENCE](cor-gc-reference-structure.md) instances that contain information about objects that will be garbage-collected.|
+
+## Remarks
+
+The `ICorDebugGCReferenceEnum` interface implements the "ICorDebugEnum" interface.
+
+An `ICorDebugGCReferenceEnum` instance is populated with [COR_GC_REFERENCE](cor-gc-reference-structure.md) instances by calling the [ICorDebugProcess5::EnumerateGCReferences](icordebugprocess5-enumerategcreferences-method.md) method. [COR_GC_REFERENCE](cor-gc-reference-structure.md) objects can be enumerated by calling the [ICorDebugGCReference::Next](icordebuggcreferenceenum-next-method.md) method.
+
+The [COR_GC_REFERENCE](cor-gc-reference-structure.md) objects in the collection populated by this method represent three kinds of objects:
+
+- Objects from all managed stacks. This includes live references in managed code as well as objects created by the common language runtime.
+
+- Objects from the handle table. This includes strong references (`HNDTYPE_STRONG` and `HNDTYPE_REFCOUNT`) and static variables in a module.
+
+- Objects from the finalizer queue. The finalizer queue roots objects until the finalizer has run.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-next-method.md
new file mode 100644
index 0000000000000..d47db85d4bae5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuggcreferenceenum-next-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugGCReferenceEnum::Next Method"
+title: "ICorDebugGCReferenceEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGCReferenceEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGCReferenceEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugGCReferenceEnum interface [.NET debugging]"
+ - "ICorDebugGCReferenceEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGCReferenceEnum::Next Method
+
+Gets the specified number of [COR_GC_REFERENCE](cor-gc-reference-structure.md) instances that contain information about objects that will be garbage-collected.
+
+## Syntax
+
+```cpp
+HRESULT Next(
+ [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] COR_GC_REFERENCE roots[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+celt
+ [in] The number of roots to be retrieved.
+
+roots
+ [out] An array of pointers, each of which points to a [COR_GC_REFERENCE](cor-gc-reference-structure.md) object that represents the root of an object to be garbage-collected.
+
+pceltFetched
+ [out] A pointer to the number of [COR_GC_REFERENCE](cor-gc-reference-structure.md) objects actually returned in `roots`. This value may be `null` if `celt` is 1.
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugGCReferenceEnum Interface](icordebuggcreferenceenum-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-getvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-getvalue-method.md
new file mode 100644
index 0000000000000..fc979ecc8bc63
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-getvalue-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugGenericValue::GetValue Method"
+title: "ICorDebugGenericValue::GetValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGenericValue.GetValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGenericValue::GetValue"
+helpviewer_keywords:
+ - "ICorDebugGenericValue::GetValue method [.NET debugging]"
+ - "GetValue method, ICorDebugGenericValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGenericValue::GetValue Method
+
+Copies the value of this generic into the specified buffer.
+
+## Syntax
+
+```cpp
+HRESULT GetValue (
+ [out] void *pTo
+);
+```
+
+## Parameters
+
+ `pTo`
+ [out] A pointer to the value that is represented by this ICorDebugGenericValue object. The value may be a simple type or a reference type (that is, a pointer).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-interface.md
new file mode 100644
index 0000000000000..6bafd2b1ccee5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-interface.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugGenericValue Interface"
+title: "ICorDebugGenericValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGenericValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGenericValue"
+helpviewer_keywords:
+ - "ICorDebugGenericValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGenericValue Interface
+
+A subclass of "ICorDebugValue" that applies to all values. This interface provides Get and Set methods for the value.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetValue Method](icordebuggenericvalue-getvalue-method.md)|Copies the value into the specified buffer.|
+|[SetValue Method](icordebuggenericvalue-setvalue-method.md)|Copies a new value from the specified buffer.|
+
+## Remarks
+
+ `ICorDebugGenericValue` is a sub-interface because it is non-remotable.
+
+For reference types, the value is the reference rather than the contents of the reference.
+
+This interface does not support being called remotely, either cross-machine or cross-process.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-setvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-setvalue-method.md
new file mode 100644
index 0000000000000..ed085422ca950
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuggenericvalue-setvalue-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugGenericValue::SetValue Method"
+title: "ICorDebugGenericValue::SetValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGenericValue.SetValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGenericValue::SetValue"
+helpviewer_keywords:
+ - "ICorDebugGenericValue::SetValue method [.NET debugging]"
+ - "SetValue method, ICorDebugGenericValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGenericValue::SetValue Method
+
+Copies a new value from the specified buffer.
+
+## Syntax
+
+```cpp
+HRESULT SetValue (
+ [in] void *pFrom
+);
+```
+
+## Parameters
+
+ `pFrom`
+ [in] A pointer to the buffer from which to copy the value.
+
+## Remarks
+
+For reference types, the value is the reference, not the content.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-interface.md
new file mode 100644
index 0000000000000..cfeebc7e52b63
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-interface.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugGuidToTypeEnum Interface"
+title: "ICorDebugGuidToTypeEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugGuidToTypeEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugGuidToTypeEnum"
+helpviewer_keywords:
+ - "ICorDebugGuidToTypeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugGuidToTypeEnum Interface
+
+Provides an enumerator that defines the mapping between a set of GUIDs and their corresponding types, which are represented by ICorDebugType instances. This interface inherits the methods from the ICorDebugEnum interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[ICorDebugGuidToTypeEnum::Next](icordebugguidtotypeenum-next-method.md)|Gets the specified number of [CorDebugGuidToTypeMapping](cordebugguidtotypemapping-structure.md) instances that map GUIDs to type information.|
+
+## Remarks
+
+An `ICorDebugGuidToTypeEnum` interface object can be retrieved by calling the [ICorDebugAppDomain3::GetCachedWinRTTypes](icordebugappdomain3-getcachedwinrttypes-method.md) method. A debugger can call this interface's [Next](icordebugguidtotypeenum-next-method.md) method to retrieve [CorDebugGuidToTypeMapping](cordebugguidtotypemapping-structure.md) objects that represent mappings of managed representations of Windows Runtime types loaded in the application domain used for the call to the [ICorDebugAppDomain3::GetCachedWinRTTypes](icordebugappdomain3-getcachedwinrttypes-method.md) method.
+
+## Requirements
+
+ **Platforms:** Windows Runtime
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/icordebugguidtotypeenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-next-method.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/icordebugguidtotypeenum-next-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-next-method.md
index 98205eece2cd1..5e6868de7d6c2 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugguidtotypeenum-next-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugguidtotypeenum-next-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugGuidToTypeEnum::Next"
helpviewer_keywords:
- - "ICorDebugGuidToTypeEnum::Next method [.NET Framework debugging]"
- - "Next method, ICorDebugGuidToTypeEnum interface [.NET Framework debugging]"
-ms.assetid: c9937666-8e18-484d-9fe0-b9ac95199530
+ - "ICorDebugGuidToTypeEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugGuidToTypeEnum interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -52,9 +51,8 @@ HRESULT Next(
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
- [ICorDebugGuidToTypeEnum Interface](icordebugguidtotypeenum-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-dispose-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-dispose-method.md
new file mode 100644
index 0000000000000..21cbbdb4bc86f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-dispose-method.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugHandleValue::Dispose Method"
+title: "ICorDebugHandleValue::Dispose Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHandleValue.Dispose"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHandleValue::Dispose"
+helpviewer_keywords:
+ - "ICorDebugHandleValue::Dispose method [.NET debugging]"
+ - "Dispose method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHandleValue::Dispose Method
+
+Releases the handle referenced by this ICorDebugHandleValue object without explicitly releasing the interface pointer.
+
+## Syntax
+
+```cpp
+HRESULT Dispose ();
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-gethandletype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-gethandletype-method.md
new file mode 100644
index 0000000000000..0b901376f0b35
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-gethandletype-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugHandleValue::GetHandleType Method"
+title: "ICorDebugHandleValue::GetHandleType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHandleValue.GetHandleType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHandleValue::GetHandleType"
+helpviewer_keywords:
+ - "GetHandleType method [.NET debugging]"
+ - "ICorDebugHandleValue::GetHandleType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHandleValue::GetHandleType Method
+
+Gets a value that indicates the kind of handle referenced by this ICorDebugHandleValue object.
+
+## Syntax
+
+```cpp
+HRESULT GetHandleType (
+ [out] CorDebugHandleType *pType
+);
+```
+
+## Parameters
+
+ `pType`
+ [out] A pointer to a value of the CorDebugHandleType enumeration that indicates the type of this handle.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-interface.md
new file mode 100644
index 0000000000000..973109e4296dd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebughandlevalue-interface.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugHandleValue Interface"
+title: "ICorDebugHandleValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHandleValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHandleValue"
+helpviewer_keywords:
+ - "ICorDebugHandleValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHandleValue Interface
+
+A subclass of ICorDebugReferenceValue that represents a reference value to which the debugger has created a handle for garbage collection.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Dispose Method](icordebughandlevalue-dispose-method.md)|Releases the handle referenced by this `ICorDebugHandleValue` object without explicitly releasing the interface pointer.|
+|[GetHandleType Method](icordebughandlevalue-gethandletype-method.md)|Gets a CorDebugHandleType value that describes the kind of handle referenced by this `ICorDebugHandleValue`.|
+
+## Remarks
+
+An `ICorDebugReferenceValue` object is invalidated by a break in the execution of debugged code. An `ICorDebugHandleValue` maintains its reference through breaks and continuations, until it is explicitly released.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-interface.md
new file mode 100644
index 0000000000000..4b75a3b7961e0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugHeapEnum Interface"
+title: "ICorDebugHeapEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapEnum"
+helpviewer_keywords:
+ - "ICorDebugHeapEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapEnum Interface
+
+Provides an enumerator for objects on the managed heap. This interface is a subclass of the ICorDebugEnum interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugheapenum-next-method.md)|Gets the specified number of [COR_HEAPOBJECT](cor-heapobject-structure.md) instances that contain information about objects on the managed heap.|
+
+## Remarks
+
+The `ICorDebugHeapEnum` interface implements the ICorDebugEnum interface.
+
+An `ICorDebugHeapEnum` instance is populated with [COR_HEAPOBJECT](cor-heapobject-structure.md) instances by calling the [ICorDebugProcess5::EnumerateHeap](icordebugprocess5-enumerateheap-method.md) method. Each [COR_HEAPOBJECT](cor-heapobject-structure.md) instance in the collection represents either a live object on the heap or an object that is not rooted by any object but has not yet been collected by the garbage collector. The [COR_HEAPOBJECT](cor-heapobject-structure.md) objects in the collection can be enumerated by calling the [ICorDebugHeapEnum::Next](icordebugheapenum-next-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-next-method.md
new file mode 100644
index 0000000000000..fa2810b85a027
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapenum-next-method.md
@@ -0,0 +1,59 @@
+---
+description: "Learn more about: ICorDebugHeapEnum::Next Method"
+title: "ICorDebugHeapEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugHeapEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugHeapEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapEnum::Next Method
+
+Gets the specified number of [COR_HEAPOBJECT](cor-heapobject-structure.md) instances that contain information about objects on the managed heap.
+
+## Syntax
+
+```cpp
+HRESULT Next(
+ [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] COR_HEAPOBJECT objects[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+celt
+ [in] The number of objects to be retrieved.
+
+objects
+ [out] An array of pointers, each of which points to a [COR_HEAPOBJECT](cor-heapobject-structure.md) object that provides information about an object on the managed heap.
+
+pceltFetched
+ [out] A pointer to the number of [COR_HEAPOBJECT](cor-heapobject-structure.md) objects actually returned in `objects`. This value may be `null` if `celt` is 1.
+
+## Remarks
+
+The `COR_HEAPOBJECT.type` field is the identifier of a nested reference-counted COM interface. This reference must be released by the caller of `ICorDebugHeapEnum::Next`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugHeapEnum Interface](icordebugheapenum-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-interface.md
new file mode 100644
index 0000000000000..aaeac2f691c64
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-interface.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugHeapSegmentEnum Interface"
+title: "ICorDebugHeapSegmentEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHealRegionEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapSegmentEnum"
+helpviewer_keywords:
+ - "ICorDebugHeapSegmentEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapSegmentEnum Interface
+
+Provides an enumerator for the memory regions of the managed heap. This interface is a subclass of the ICorDebugEnum interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugheapsegmentenum-next-method.md)|Gets the specified number of [COR_SEGMENT](cor-segment-structure.md) instances that contain information about regions of the managed heap.|
+
+## Remarks
+
+The `ICorDebugHeapSegmentEnum` interface implements the ICorDebugEnum interface.
+
+An `ICorDebugHeapSegmentEnum` instance is populated with [COR_SEGMENT](cor-segment-structure.md) instances by calling the [ICorDebugProcess5::EnumerateHeapRegions](icordebugprocess5-enumerateheapregions-method.md) method. The [COR_SEGMENT](cor-segment-structure.md) objects in the collection can be enumerated by calling the [ICorDebugHeapSegmentEnum::Next](icordebugheapsegmentenum-next-method.md) method.
+
+An `ICorDebugHeapSegmentEnum` collection object enumerates all memory regions that may contain managed objects, but it does not guarantee that managed objects actually reside in those regions. It may include information about empty or reserved memory regions.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-next-method.md
new file mode 100644
index 0000000000000..a25cc008f21a7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapsegmentenum-next-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugHeapSegmentEnum::Next Method"
+title: "ICorDebugHeapSegmentEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapSegmentEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugHeapSegmentEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugHeapSegmentEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapSegmentEnum::Next Method
+
+Gets the specified number of [COR_SEGMENT](cor-segment-structure.md) instances that contain information about memory regions of the managed heap.
+
+## Syntax
+
+```cpp
+HRESULT Next(
+ [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] COR_SEGMENT segments[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+celt
+ [in] The number of segments to be retrieved.
+
+segments
+ [out] An array of pointers, each of which points to a [COR_SEGMENT](cor-segment-structure.md) object that provides information about a region of memory in the managed heap.
+
+pceltFetched
+ [out] A pointer to the number of [COR_SEGMENT](cor-segment-structure.md) objects actually returned in `segments`. This value may be `null` if `celt` is 1.
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugHeapSegmentEnum Interface](icordebugheapsegmentenum-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-createrelocbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-createrelocbreakpoint-method.md
new file mode 100644
index 0000000000000..6cba289bd9573
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-createrelocbreakpoint-method.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugHeapValue::CreateRelocBreakpoint Method"
+title: "ICorDebugHeapValue::CreateRelocBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue.CreateRelocBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue::CreateRelocBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugHeapValue::CreateRelocBreakpoint method [.NET debugging]"
+ - "CreateRelocBreakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue::CreateRelocBreakpoint Method
+
+This method is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT CreateRelocBreakpoint (
+ [out] ICorDebugValueBreakpoint **ppBreakpoint
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-interface.md
new file mode 100644
index 0000000000000..23faca210fd6d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugHeapValue Interface"
+title: "ICorDebugHeapValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue"
+helpviewer_keywords:
+ - "ICorDebugHeapValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue Interface
+
+A subclass of "ICorDebugValue" that represents an object that has been collected by the common language runtime (CLR) garbage collector.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[CreateRelocBreakpoint Method](icordebugheapvalue-createrelocbreakpoint-method.md)|Not implemented.|
+|[IsValid Method](icordebugheapvalue-isvalid-method.md)|Gets a value that indicates whether the object represented by this `ICorDebugHeapValue` is valid, or has been reclaimed by the garbage collector. This method has been deprecated.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-isvalid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-isvalid-method.md
new file mode 100644
index 0000000000000..e6290111dd9c1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue-isvalid-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugHeapValue::IsValid Method"
+title: "ICorDebugHeapValue::IsValid Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue.IsValid"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue::IsValid"
+helpviewer_keywords:
+ - "IsValid method [.NET debugging]"
+ - "ICorDebugHeapValue::IsValid method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue::IsValid Method
+
+**Deprecated** Gets a value that indicates whether the object represented by this ICorDebugHeapValue is valid.
+
+## Syntax
+
+```cpp
+HRESULT IsValid (
+ [out] BOOL *pbValid
+);
+```
+
+## Parameters
+
+ `pbValid`
+ [out] A pointer to a Boolean value that indicates whether this value on the heap is valid.
+
+## Remarks
+
+The value is invalid if it has been reclaimed by the garbage collector.
+
+This method has been deprecated. All values are valid until [ICorDebugController::Continue](icordebugcontroller-continue-method.md) is called, at which time the values are invalidated.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-createhandle-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-createhandle-method.md
new file mode 100644
index 0000000000000..4cd477941f365
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-createhandle-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugHeapValue2::CreateHandle Method"
+title: "ICorDebugHeapValue2::CreateHandle Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue2.CreateHandle"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue2::CreateHandle"
+helpviewer_keywords:
+ - "CreateHandle method [.NET debugging]"
+ - "ICorDebugHeapValue2::CreateHandle method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue2::CreateHandle Method
+
+Creates a handle of the specified type for the heap value represented by this ICorDebugHeapValue2 object.
+
+## Syntax
+
+```cpp
+HRESULT CreateHandle (
+ [in] CorDebugHandleType type,
+ [out] ICorDebugHandleValue **ppHandle
+);
+```
+
+## Parameters
+
+ `type`
+ [in] A value of the CorDebugHandleType enumeration that specifies the type of handle to be created.
+
+ `ppHandle`
+ [out] A pointer to the address of an ICorDebugHandleValue object that represents the new handle for this heap value.
+
+## Remarks
+
+The handle will be created in the application domain that is associated with the heap value, and will become invalid if the application domain gets unloaded.
+
+Multiple calls to this function for the same heap value will create multiple handles. Because handles affect the performance of the garbage collector, the debugger should limit itself to a relatively small number of handles (about 256) that are active at a time.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-interface1.md
new file mode 100644
index 0000000000000..562536f0e1c8d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue2-interface1.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugHeapValue2 Interface"
+title: "ICorDebugHeapValue2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue2"
+helpviewer_keywords:
+ - "ICorDebugHeapValue2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue2 Interface
+
+An extension of ICorDebugHeapValue that provides support for common language runtime (CLR) handles.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[CreateHandle Method](icordebugheapvalue2-createhandle-method.md)|Creates a handle of the specified type for this `ICorDebugHeapValue2` object.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getmonitoreventwaitlist-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getmonitoreventwaitlist-method.md
new file mode 100644
index 0000000000000..c82f5059cf21c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getmonitoreventwaitlist-method.md
@@ -0,0 +1,67 @@
+---
+description: "Learn more about: ICorDebugHeapValue3::GetMonitorEventWaitList Method"
+title: "ICorDebugHeapValue3::GetMonitorEventWaitList Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue3.GetMonitorEventWaitList"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue3::GetMonitorEventWaitList"
+helpviewer_keywords:
+ - "ICorDebugHeapValue3::GetMonitorEventWaitList method [.NET debugging]"
+ - "GetMonitorEventWaitList method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue3::GetMonitorEventWaitList Method
+
+Provides an ordered list of threads that are queued on the event that is associated with a monitor lock.
+
+## Syntax
+
+```cpp
+HRESULT GetMonitorEventWaitList (
+ [out] ICorDebugThreadEnum **ppThreadEnum
+);
+```
+
+## Parameters
+
+ `ppThreadEnum`
+ [out] The ICorDebugThreadEnum enumerator that provides the ordered list of threads.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The list is not empty.|
+|S_FALSE|The list is empty.|
+
+## Exceptions
+
+## Remarks
+
+The first thread in the list is the first thread that is released by the next call to . The next thread in the list is released on the following call, and so on.
+
+If the list is not empty, this method returns S_OK. If the list is empty, the method returns S_FALSE; in this case, the enumeration is still valid, although it is empty.
+
+In either case, the enumeration interface is usable only for the duration of the current synchronized state. However, the thread's interfaces dispensed from it are valid until the thread exits.
+
+If `ppThreadEnum` is not a valid pointer, the result is undefined.
+
+If an error occurs such that it cannot be determined which, if any, threads are waiting for the monitor, the method returns an HRESULT that indicates failure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getthreadowningmonitorlock-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getthreadowningmonitorlock-method.md
new file mode 100644
index 0000000000000..a43611187470e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-getthreadowningmonitorlock-method.md
@@ -0,0 +1,73 @@
+---
+description: "Learn more about: ICorDebugHeapValue3::GetThreadOwningMonitorLock Method"
+title: "ICorDebugHeapValue3::GetThreadOwningMonitorLock Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue3.GetThreadOwningMonitorLock"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue3::GetThreadOwningMonitorLock"
+helpviewer_keywords:
+ - "GetThreadOwningMonitorLock method [.NET debugging]"
+ - "ICorDebugHeapValue3::GetThreadOwningMonitorLock method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue3::GetThreadOwningMonitorLock Method
+
+Returns the managed thread that owns the monitor lock on this object.
+
+## Syntax
+
+```cpp
+HRESULT GetThreadOwningMonitorLock (
+ [out] ICorDebugThread **ppThread,
+ [out] DWORD *pAcquisitionCount
+);
+```
+
+## Parameters
+
+ `ppThread`
+ [out] The managed thread that owns the monitor lock on this object.
+
+ `pAcquisitionCount`
+ [out] The number of times this thread would have to release the lock before it returns to being unowned.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The method completed successfully.|
+|S_FALSE|No managed thread owns the monitor lock on this object.|
+
+## Exceptions
+
+## Remarks
+
+If a managed thread owns the monitor lock on this object:
+
+- The method returns S_OK.
+
+- The thread object is valid until the thread exits.
+
+If no managed thread owns the monitor lock on this object, `ppThread` and `pAcquisitionCount` are unchanged, and the method returns S_FALSE.
+
+If `ppThread` or `pAcquisitionCount` is not a valid pointer, the result is undefined.
+
+If an error occurs such that it cannot be determined which, if any, thread owns the monitor lock on this object, the method returns an HRESULT that indicates failure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-interface.md
new file mode 100644
index 0000000000000..8d556a199c8f5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugheapvalue3-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugHeapValue3 Interface"
+title: "ICorDebugHeapValue3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugHeapValue3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugHeapValue3"
+helpviewer_keywords:
+ - "ICorDebugHeapValue3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugHeapValue3 Interface
+
+Exposes the monitor lock properties of objects. This interface extends the ICorDebugHeapValue and ICorDebugHeapValue2 interfaces.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetThreadOwningMonitorLock Method](icordebugheapvalue3-getthreadowningmonitorlock-method.md)|Returns the managed thread that owns the monitor lock on this object.|
+|[GetMonitorEventWaitList Method](icordebugheapvalue3-getmonitoreventwaitlist-method.md)|Provides an ordered list of threads that are queued on the event that is associated with a monitor lock.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-getehclauses-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-getehclauses-method.md
new file mode 100644
index 0000000000000..69211ef281285
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-getehclauses-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugILCode::GetEHClauses Method"
+title: "ICorDebugILCode::GetEHClauses Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILCode.GetEHClauses"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILCode::GetEHClauses Method
+
+Returns a pointer to a list of exception handling (EH) clauses that are defined for this intermediate language (IL).
+
+## Syntax
+
+```cpp
+HRESULT GetEHClauses(
+ [in] ULONG32 cClauses,
+ [out] ULONG32 * pcClauses,
+ [out, size_is(cClauses), length_is(*pcClauses)] CorDebugEHClause clauses[]);
+```
+
+## Parameters
+
+ `cClauses`
+ [in] The storage capacity of the `clauses` array. See the Remarks section for more information.
+
+ `pcClauses`
+ [out] The number of clauses about which information is written to the `clauses` array.
+
+clauses
+ [out] An array of [CorDebugEHClause](cordebugehclause-structure.md) objects that contain information on exception handling clauses defined for this IL.
+
+## Remarks
+
+If `cClauses` is 0 and `pcClauses` is non-**null**, `pcClauses` is set to the number of available exception handling clauses. If `cClauses` is non-zero, it represents the storage capacity of the `clauses` array. When the method returns, `clauses` contains a maximum of `cClauses` items, and `pcClauses` is set to the number of clauses actually written to the `clauses` array.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILCode Interface](icordebugilcode-interface.md)
+- [CorDebugEHClause Structure](cordebugehclause-structure.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-interface.md
new file mode 100644
index 0000000000000..2f3acab97a40b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode-interface.md
@@ -0,0 +1,32 @@
+---
+description: "Learn more about: ICorDebugILCode Interface"
+title: "ICorDebugILCode Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILCode Interface
+
+Represents a segment of intermediate language (IL) code.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetEHClauses Method](icordebugilcode-getehclauses-method.md)|Returns a pointer to a list of exception handling (EH) clauses that are defined for this IL.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getinstrumentedilmap-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getinstrumentedilmap-method.md
new file mode 100644
index 0000000000000..4929abfabd31c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getinstrumentedilmap-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugILCode2::GetInstrumentedILMap Method"
+title: "ICorDebugILCode2::GetInstrumentedILMap Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILCode2.GetInstrumentedILMap"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILCode2::GetInstrumentedILMap Method
+
+Returns a map from profiler-instrumented intermediate language (IL) offsets to original method IL offsets for this instance.
+
+## Syntax
+
+```cpp
+HRESULT GetInstrumentedILMap(
+ [in] ULONG32 cMap,
+ [out] ULONG32 *pcMap,
+ [out, size_is(cMap), length_is(*pcMap)] COR_IL_MAP map[]
+);
+```
+
+## Parameters
+
+cMap
+ [in] The storage capacity of the `map` array. See the Remarks section for more information.
+
+pcMap
+ [out] The number of COR_IL_MAP values written to the map array.
+
+map
+ [out] An array of COR_IL_MAP values that provide information on mappings from profiler-instrumented IL to the IL of the original method.
+
+## Remarks
+
+If the profiler sets the mapping by calling the [ICorProfilerInfo::SetILInstrumentedCodeMap](../../../../framework/unmanaged-api/profiling/icorprofilerinfo-setilinstrumentedcodemap-method.md) method, the debugger can call this method to retrieve the mapping and to use the mapping internally when calculating IL offsets for stack traces and variable lifetimes.
+
+If `cMap` is 0 and `pcMap` is non-**null**, `pcMap` is set to the number of available COR_IL_MAP values. If `cMap` is non-zero, it represents the storage capacity of the `map` array. When the method returns, `map` contains a maximum of `cMap` items, and `pcMap` is set to the number of COR_IL_MAP values actually written to the `map` array.
+
+If the IL hasn't been instrumented or the mapping wasn't provided by a profiler, this method returns `S_OK` and sets `pcMap` to 0.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorProfilerInfo::SetILInstrumentedCodeMap](../../../../framework/unmanaged-api/profiling/icorprofilerinfo-setilinstrumentedcodemap-method.md)
+- [ICorDebugILCode2 Interface](icordebugilcode2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getlocalvarsigtoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getlocalvarsigtoken-method.md
new file mode 100644
index 0000000000000..39c2193aeb189
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-getlocalvarsigtoken-method.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: ICorDebugILCode2::GetLocalVarSigToken Method"
+title: "ICorDebugILCode2::GetLocalVarSigToken Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILCode2.GetLocalVarSigToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILCode2::GetLocalVarSigToken Method
+
+Gets the metadata token for the local variable signature for the function that is represented by this instance.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalVarSigToken(
+ [out] mdSignature *pmdSig
+);
+```
+
+## Parameters
+
+ `pmdSig`
+ [out] A pointer to the `mdSignature` token for the local variable signature for this function, or `mdSignatureNil` if there is no signature (that is, if the function doesn't have any local variables).
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILCode2 Interface](icordebugilcode2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-interface.md
new file mode 100644
index 0000000000000..3bd7c1547707a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilcode2-interface.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugILCode2 Interface"
+title: "ICorDebugILCode2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILCode2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILCode2 Interface
+
+Logically extends the [ICorDebugILCode](icordebugilcode-interface.md) interface to provide methods that return the token for a function's local variable signature, and that map a profiler's instrumented intermediate language (IL) offsets to original method IL offsets.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetInstrumentedILMap Method](icordebugilcode2-getinstrumentedilmap-method.md)|Returns a map from profiler instrumented IL offsets to original method IL offsets for this instance.|
+|[GetLocalVarSigToken Method](icordebugilcode2-getlocalvarsigtoken-method.md)|Gets the metadata token for the local variable signature for the function that is represented by this instance.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILCode Interface](icordebugilcode-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-cansetip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-cansetip-method.md
new file mode 100644
index 0000000000000..4e8242441ffb8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-cansetip-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugILFrame::CanSetIP Method"
+title: "ICorDebugILFrame::CanSetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.CanSetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::CanSetIP"
+helpviewer_keywords:
+ - "CanSetIP method, ICorDebugILFrame interface [.NET debugging]"
+ - "ICorDebugILFrame::CanSetIP method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::CanSetIP Method
+
+Gets an HRESULT that indicates whether it is safe to set the instruction pointer to the specified offset location in common intermediate language (CIL) code.
+
+## Syntax
+
+```cpp
+HRESULT CanSetIP (
+ [in] ULONG32 nOffset
+);
+```
+
+## Parameters
+
+ `nOffset`
+ [in] The desired setting for the instruction pointer.
+
+## Remarks
+
+Use the `CanSetIP` method before calling the [ICorDebugILFrame::SetIP](icordebugilframe-setip-method.md) method. If `CanSetIP` returns any HRESULT other than S_OK, you can still invoke `ICorDebugILFrame::SetIP`, but there is no guarantee that the debugger will continue the safe and correct execution of the code being debugged.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug,h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratearguments-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratearguments-method.md
new file mode 100644
index 0000000000000..7ae4f9563f69c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratearguments-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugILFrame::EnumerateArguments Method"
+title: "ICorDebugILFrame::EnumerateArguments Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.EnumerateArguments"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::EnumerateArguments"
+helpviewer_keywords:
+ - "ICorDebugILFrame::EnumerateArguments method [.NET debugging]"
+ - "EnumerateArguments method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::EnumerateArguments Method
+
+Gets an enumerator for the arguments in this frame.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateArguments (
+ [out] ICorDebugValueEnum **ppValueEnum
+);
+```
+
+## Parameters
+
+ `ppValueEnum`
+ [out] A pointer to the address of an ICorDebugValueEnum object that is the enumerator for the arguments in this frame.
+
+## Remarks
+
+ `EnumerateArguments` gets an enumerator that can list the arguments available in the call frame that is represented by this ICorDebugILFrame object. The list will include arguments that are [vararg](/cpp/windows/vararg) (that is, a variable number of arguments) as well as arguments that are not `vararg`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratelocalvariables-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratelocalvariables-method.md
new file mode 100644
index 0000000000000..a46e355f9c555
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-enumeratelocalvariables-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugILFrame::EnumerateLocalVariables Method"
+title: "ICorDebugILFrame::EnumerateLocalVariables Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.EnumerateLocalVariables"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::EnumerateLocalVariables"
+helpviewer_keywords:
+ - "EnumerateLocalVariables method [.NET debugging]"
+ - "ICorDebugILFrame::EnumerateLocalVariables method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::EnumerateLocalVariables Method
+
+Gets an enumerator for the local variables in this frame.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateLocalVariables(
+ [out] ICorDebugValueEnum **ppValueEnum
+);
+```
+
+## Parameters
+
+ `ppValueEnum`
+ [out] A pointer to the address of an ICorDebugValueEnum object that is the enumerator for the local variables in this frame.
+
+## Remarks
+
+ `EnumerateLocalVariables` gets an enumerator that can list the local variables available in the call frame that is represented by this ICorDebugILFrame object. The list may not include all of the local variables in the running function, because some of them may not be active.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getargument-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getargument-method.md
new file mode 100644
index 0000000000000..ff8c0ede71dfd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getargument-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugILFrame::GetArgument Method"
+title: "ICorDebugILFrame::GetArgument Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.GetArgument"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::GetArgument"
+helpviewer_keywords:
+ - "GetArgument method [.NET debugging]"
+ - "ICorDebugILFrame::GetArgument method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::GetArgument Method
+
+Gets the value of the specified argument in this common intermediate language (CIL) stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetArgument (
+ [in] DWORD dwIndex,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `dwIndex`
+ [in] The index of the argument in this CIL stack frame.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the retrieved value.
+
+## Remarks
+
+The `GetArgument` method can be used either in an CIL stack frame or in a just-in-time (JIT) compiled frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getip-method.md
new file mode 100644
index 0000000000000..9776814d899bc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getip-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugILFrame::GetIP Method"
+title: "ICorDebugILFrame::GetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.GetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::GetIP"
+helpviewer_keywords:
+ - "GetIP method, ICorDebugILFrame interface [.NET debugging]"
+ - "ICorDebugILFrame::GetIP method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::GetIP Method
+
+Gets the value of the instruction pointer and a bitwise combination value that describes how the value of the instruction pointer was obtained.
+
+## Syntax
+
+```cpp
+HRESULT GetIP (
+ [out] ULONG32 *pnOffset,
+ [out] CorDebugMappingResult *pMappingResult
+);
+```
+
+## Parameters
+
+ `pnOffset`
+ [out] The value of the instruction pointer.
+
+ `pMappingResult`
+ [out] A pointer to a bitwise combination of the CorDebugMappingResult enumeration values that describe how the value of the instruction pointer was obtained.
+
+## Remarks
+
+The value of the instruction pointer is the stack frame's offset into the function's common intermediate language (CIL) code. If the stack frame is active, this address is the next instruction to execute. If the stack frame is not active, this address is the next instruction to execute when the stack frame is reactivated.
+
+If this frame is a just-in-time (JIT) compiled frame, the value of the instruction pointer will be determined by mapping backwards from the actual native instruction pointer, so the value may be only approximate.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getlocalvariable-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getlocalvariable-method.md
new file mode 100644
index 0000000000000..c1fbd7b30582b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getlocalvariable-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugILFrame::GetLocalVariable Method"
+title: "ICorDebugILFrame::GetLocalVariable Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.GetLocalVariable"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::GetLocalVariable"
+helpviewer_keywords:
+ - "ICorDebugILFrame::GetLocalVariable method [.NET debugging]"
+ - "GetLocalVariable method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::GetLocalVariable Method
+
+Gets the value of the specified local variable in this common intermediate language (CIL) stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalVariable (
+ [in] DWORD dwIndex,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `dwIndex`
+ [in] The index of the local variable in this CIL stack frame.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the retrieved value.
+
+## Remarks
+
+The `GetLocalVariable` method can be used either in an CIL stack frame or in a just-in-time (JIT) compiled frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackdepth-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackdepth-method.md
new file mode 100644
index 0000000000000..47db8e76576e8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackdepth-method.md
@@ -0,0 +1,33 @@
+---
+description: "Learn more about: ICorDebugILFrame::GetStackDepth Method"
+title: "ICorDebugILFrame::GetStackDepth Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.GetStackDepth"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::GetStackDepth"
+helpviewer_keywords:
+ - "GetStackDepth method [.NET debugging]"
+ - "ICorDebugILFrame::GetStackDepth method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::GetStackDepth Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetStackDepth (
+ [out] ULONG32 *pDepth
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackvalue-method.md
new file mode 100644
index 0000000000000..181d088e9755c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-getstackvalue-method.md
@@ -0,0 +1,34 @@
+---
+description: "Learn more about: ICorDebugILFrame::GetStackValue Method"
+title: "ICorDebugILFrame::GetStackValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.GetStackValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::GetStackValue"
+helpviewer_keywords:
+ - "GetStackValue method [.NET debugging]"
+ - "ICorDebugILFrame::GetStackValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::GetStackValue Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetStackValue (
+ [in] DWORD dwIndex,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
diff --git a/docs/framework/unmanaged-api/debugging/icordebugilframe-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugilframe-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-interface.md
index b7aaa69d24338..a28065be62263 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugilframe-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugILFrame"
helpviewer_keywords:
- - "ICorDebugILFrame interface [.NET Framework debugging]"
-ms.assetid: d5cf5056-da4d-4629-914d-afe42a5393df
+ - "ICorDebugILFrame interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -36,21 +35,17 @@ Represents a stack frame of common intermediate language (CIL) code. This interf
## Remarks
- The `ICorDebugILFrame` interface is a specialized ICorDebugFrame interface. It is used either for CIL code frames or for just-in-time (JIT) compiled frames. The JIT-compiled frames implement both the `ICorDebugILFrame` interface and the ICorDebugNativeFrame interface.
+The `ICorDebugILFrame` interface is a specialized ICorDebugFrame interface. It is used either for CIL code frames or for just-in-time (JIT) compiled frames. The JIT-compiled frames implement both the `ICorDebugILFrame` interface and the ICorDebugNativeFrame interface.
> [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-setip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-setip-method.md
new file mode 100644
index 0000000000000..0e90f6fc65509
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe-setip-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugILFrame::SetIP Method"
+title: "ICorDebugILFrame::SetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame.SetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame::SetIP"
+helpviewer_keywords:
+ - "SetIP method, ICorDebugILFrame interface [.NET debugging]"
+ - "ICorDebugILFrame::SetIP method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame::SetIP Method
+
+Sets the instruction pointer to the specified offset location in the common intermediate language (CIL) code.
+
+## Syntax
+
+```cpp
+HRESULT SetIP (
+ [in] ULONG32 nOffset
+);
+```
+
+## Parameters
+
+ `nOffset`
+The offset location in the CIL code.
+
+## Remarks
+
+Calls to `SetIP` immediately invalidate all frames and chains for the current thread. If the debugger needs frame information after a call to `SetIP`, it must perform a new stack trace.
+
+ [ICorDebug](icordebug-interface.md) will attempt to keep the stack frame in a valid state. However, even if the frame is in a valid state, there still may be problems such as uninitialized local variables. The caller is responsible for ensuring the coherency of the running program.
+
+On 64-bit platforms, the instruction pointer cannot be moved out of a `catch` or `finally` block. If `SetIP` is called to make such a move on a 64-bit platform, it will return an HRESULT indicating failure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-enumeratetypeparameters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-enumeratetypeparameters-method.md
new file mode 100644
index 0000000000000..5f2bbb2e8a5e4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-enumeratetypeparameters-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugILFrame2::EnumerateTypeParameters Method"
+title: "ICorDebugILFrame2::EnumerateTypeParameters Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame2.EnumerateTypeParameters"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame2::EnumerateTypeParameters"
+helpviewer_keywords:
+ - "EnumerateTypeParameters method, ICorDebugILFrame2 interface [.NET debugging]"
+ - "ICorDebugILFrame2::EnumerateTypeParameters method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame2::EnumerateTypeParameters Method
+
+Gets an ICorDebugTypeEnum object that contains the parameters in this frame.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateTypeParameters (
+ [out] ICorDebugTypeEnum **ppTyParEnum
+);
+```
+
+## Parameters
+
+ `ppTyParEnum`
+A pointer to the address of a ICorDebugTypeEnum interface object that allows enumeration of type parameters.
+
+The list of type parameters include the class type parameters (if any) followed by the method type parameters (if any).
+
+## Remarks
+
+Use the [IMetaDataImport2::EnumGenericParams](../../metadata/interfaces/imetadataimport2-enumgenericparams-method.md) method to determine how many class type parameters and method type parameters this list contains.
+
+The type parameters are not always available.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-interface.md
new file mode 100644
index 0000000000000..f8046752ba00b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugILFrame2 Interface"
+title: "ICorDebugILFrame2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame2"
+helpviewer_keywords:
+ - "ICorDebugILFrame2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame2 Interface
+
+A logical extension of the ICorDebugILFrame interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateTypeParameters Method](icordebugilframe2-enumeratetypeparameters-method.md)|Gets an ICorDebugTypeEnum object that contains the parameters in this frame.|
+|[RemapFunction Method](icordebugilframe2-remapfunction-method.md)|Remaps an edited function by specifying the new CIL offset.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-remapfunction-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-remapfunction-method.md
new file mode 100644
index 0000000000000..dac73e6298307
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe2-remapfunction-method.md
@@ -0,0 +1,59 @@
+---
+description: "Learn more about: ICorDebugILFrame2::RemapFunction Method"
+title: "ICorDebugILFrame2::RemapFunction Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame2.RemapFunction"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugILFrame2::RemapFunction"
+helpviewer_keywords:
+ - "ICorDebugILFrame2::RemapFunction method [.NET debugging]"
+ - "RemapFunction method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame2::RemapFunction Method
+
+Remaps an edited function by specifying the new common intermediate language (CIL) offset
+
+## Syntax
+
+```cpp
+HRESULT RemapFunction (
+ [in] ULONG32 newILOffset
+);
+```
+
+## Parameters
+
+ `newILOffset`
+ [in] The stack frame's new CIL offset at which the instruction pointer should be placed. This value must be a sequence point.
+
+It is the caller’s responsibility to ensure the validity of this value. For example, the CIL offset is not valid if it is outside the bounds of the function.
+
+## Remarks
+
+When a frame’s function has been edited, the debugger can call the `RemapFunction` method to swap in the latest version of the frame's function so it can be executed. The code execution will begin at the given CIL offset.
+
+> [!NOTE]
+> Calling `RemapFunction`, like calling [ICorDebugILFrame::SetIP](icordebugilframe-setip-method.md), will immediately invalidate all debugging interfaces that are related to generating a stack trace for the thread. These interfaces include [ICorDebugChain](icordebugchain-interface.md), ICorDebugILFrame, ICorDebugInternalFrame, and ICorDebugNativeFrame.
+
+The `RemapFunction` method can be called only in the context of the current frame, and only in one of the following cases:
+
+- After receipt of a [ICorDebugManagedCallback2::FunctionRemapOpportunity](icordebugmanagedcallback2-functionremapopportunity-method.md) callback that has not yet been continued.
+
+- While code execution is stopped because of an [ICorDebugManagedCallback::EditAndContinueRemap](icordebugmanagedcallback-editandcontinueremap-method.md) event for this frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-getreturnvalueforiloffset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-getreturnvalueforiloffset-method.md
new file mode 100644
index 0000000000000..c5b1b08a26068
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-getreturnvalueforiloffset-method.md
@@ -0,0 +1,74 @@
+---
+description: "Learn more about: ICorDebugILFrame3::GetReturnValueForILOffset Method"
+title: "ICorDebugILFrame3::GetReturnValueForILOffset Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "csharp"
+ - "vb"
+api_name:
+ - "ICorDebugILFrame3.GetReturnValueForILOffset"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame3::GetReturnValueForILOffset Method
+
+Gets an "ICorDebugValue" object that encapsulates the return value of a function.
+
+## Syntax
+
+```cpp
+HRESULT GetReturnValueForILOffset(
+ ULONG32 ILoffset,
+ [out] ICorDebugValue **ppReturnValue
+);
+```
+
+## Parameters
+
+ `ILOffset`
+The IL offset. See the Remarks section.
+
+ `ppReturnValue`
+A pointer to the address of an "ICorDebugValue" interface object that provides information about the return value of a function call.
+
+## Remarks
+
+This method is used along with the [ICorDebugCode3::GetReturnValueLiveOffset](icordebugcode3-getreturnvalueliveoffset-method.md) method to get the return value of a method. It is particularly useful in the case of methods whose return values are ignored, as in the following two code examples. The first example calls the method, but ignores the method's return value.
+
+ [!code-csharp[Unmanaged.Debugging.MRV#1](../../../../../samples/snippets/csharp/VS_Snippets_CLR/unmanaged.debugging.mrv/cs/mrv1.cs#1)]
+ [!code-vb[Unmanaged.Debugging.MRV#1](../../../../../samples/snippets/visualbasic/VS_Snippets_CLR/unmanaged.debugging.mrv/vb/mrv1.vb#1)]
+
+The second example illustrates a much more common problem in debugging. Because a method is used as an argument in a method call, its return value is accessible only when the debugger steps through the called method. In many cases, particularly when the called method is defined in an external library, that is not possible.
+
+ [!code-csharp[Unmanaged.Debugging.MRV#2](../../../../../samples/snippets/csharp/VS_Snippets_CLR/unmanaged.debugging.mrv/cs/mrv2.cs#2)]
+ [!code-vb[Unmanaged.Debugging.MRV#2](../../../../../samples/snippets/visualbasic/VS_Snippets_CLR/unmanaged.debugging.mrv/vb/mrv2.vb#2)]
+
+If you pass the [ICorDebugCode3::GetReturnValueLiveOffset](icordebugcode3-getreturnvalueliveoffset-method.md) method an IL offset to a function call site, it returns one or more native offsets. The debugger can then set breakpoints on these native offsets in the function. When the debugger hits one of the breakpoints, you can then pass the same IL offset that you passed to this method to get the return value. The debugger should then clear all the breakpoints that it set.
+
+> [!WARNING]
+> The [ICorDebugCode3::GetReturnValueLiveOffset Method](icordebugcode3-getreturnvalueliveoffset-method.md) and `ICorDebugILFrame3::GetReturnValueForILOffset` methods allow you to get return value information for reference types only. Retrieving return value information from value types (that is, all types that derive from ) is not supported.
+
+The IL offset specified by the `ILOffset` parameter should be at a function call site, and the debuggee should be stopped at a breakpoint set at the native offset returned by the [ICorDebugCode3::GetReturnValueLiveOffset](icordebugcode3-getreturnvalueliveoffset-method.md) method for the same IL offset. If the debuggee is not stopped at the correct location for the specified IL offset, the API will fail.
+
+If the function call doesn't return a value, the API will fail.
+
+The `ICorDebugILFrame3::GetReturnValueForILOffset` method is available only on x86-based and AMD64 systems.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.1
+
+## See also
+
+- [GetReturnValueLiveOffset Method](icordebugcode3-getreturnvalueliveoffset-method.md)
+- [ICorDebugILFrame3 Interface](icordebugilframe3-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugilframe3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-interface.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugilframe3-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-interface.md
index 6f03e5139ce7a..f8a1aad4f15ce 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugilframe3-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe3-interface.md
@@ -8,7 +8,6 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: 15212cb5-93d4-4025-bec9-d4b9919eb1fe
topic_type:
- "apiref"
---
@@ -29,15 +28,14 @@ Provides a method that encapsulates the return value of a function. `ICorDebugIL
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v451plus](../../../../includes/net-current-v451plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5.1
## See also
- [ICorDebugCode3 Interface](icordebugcode3-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-enumeratelocalvariablesex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-enumeratelocalvariablesex-method.md
new file mode 100644
index 0000000000000..18710190527ec
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-enumeratelocalvariablesex-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugILFrame4::EnumerateLocalVariablesEx Method"
+title: "ICorDebugILFrame4::EnumerateLocalVariablesEx Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILFrame4.EnumerateLocalVariablesEx"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame4::EnumerateLocalVariablesEx Method
+
+Gets an enumerator for the local variable in the frame, and optionally includes variables added in profiler ReJIT instrumentation.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateLocalVariablesEx(
+ [in] ILCodeKind flags,
+ [out] ICorDebugValueEnum **ppValueEnum
+);
+```
+
+## Parameters
+
+ `flags`
+ [in] An [ILCodeKind](ilcodekind-enumeration.md) enumeration member that specifies whether variables added in profiler ReJIT instrumentation are included in the frame.
+
+ `ppValueEnum`
+ [out] A pointer to the address of an "ICorDebugValueEnum" object that is the enumerator for the local variables in this frame.
+
+## Remarks
+
+This method is similar to the [EnumerateLocalVariables](icordebugilframe-enumeratelocalvariables-method.md) method, except that it optionally accesses variables added in profiler ReJIT instrumentation. Setting `flags` to `ILCODE_ORIGINAL_IL` is equivalent to calling [ICorDebugILFrame::EnumerateLocalVariables](icordebugilframe-enumeratelocalvariables-method.md). Setting `flags` to `ILCODE_REJIT_IL` allows the debugger to access the local variables added in profiler ReJIT instrumentation. If the intermediate language (IL) is not instrumented, the enumeration is empty and the method returns `S_OK`.
+
+The enumerator may not include all of the local variables in the running method, since some of them may not be active.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md)
+- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getcodeex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getcodeex-method.md
new file mode 100644
index 0000000000000..97bc96f084519
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getcodeex-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugILFrame4::GetCodeEx Method"
+title: "ICorDebugILFrame4::GetCodeEx Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILFrame4.GetLocalVariableEx"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame4::GetCodeEx Method
+
+Gets a pointer to the code that this stack frame is executing.
+
+## Syntax
+
+```cpp
+HRESULT GetCodeEx(
+ [in] ILCodeKind flags,
+ [out] ICorDebugCode **ppCode
+);
+```
+
+## Parameters
+
+ `flags`
+ [in] An [ILCodeKind](ilcodekind-enumeration.md) enumeration member that specifies whether the intermediate language (IL) defined by the profiler's ReJIT request is included in the frame.
+
+ `ppCode`
+ [out] A pointer to the address of an "ICorDebugCode" object that represents the code that this stack frame is executing.
+
+## Remarks
+
+This method is similar to the [ICorDebugFrame::GetCode](icordebugframe-getcode-method.md) method, except that it optionally accesses code defined by the profiler's ReJIT request. Calling this method with a `flags` value of `ILCODE_ORIGINAL_IL` is equivalent to calling [GetCode](icordebugframe-getcode-method.md); if the method is instrumented, its IL will not be accessible. `ILCODE_REJIT_IL` allows the debugger to access the IL defined by the profiler's ReJIT request. If the IL is not instrumented, `ppCode` is **null**, and the method returns `S_OK`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md)
+- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getlocalvariableex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getlocalvariableex-method.md
new file mode 100644
index 0000000000000..715cb045dce65
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-getlocalvariableex-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugILFrame4::GetLocalVariableEx Method"
+title: "ICorDebugILFrame4::GetLocalVariableEx Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugILFrame4.GetCodeEx"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame4::GetLocalVariableEx Method
+
+Gets the value of the specified local variable in this intermediate language (IL) stack frame, and optionally accesses a variable added in profiler ReJIT instrumentation.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalVariableEx(
+ [in] ILCodeKind flags,
+ [in] DWORD dwIndex,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `flags`
+ [in] An [ILCodeKind](ilcodekind-enumeration.md) enumeration member that specifies whether a variable added in profiler ReJIT instrumentation is included in the frame.
+
+ `dwIndex`
+ [in] The index of the local variable in the IL stack frame.
+
+ `ppValue`
+ [out] A pointer to the address of an "ICorDebugValue" object that represents the retrieved value.
+
+## Remarks
+
+This method is similar to the [GetLocalVariable](icordebugilframe-getlocalvariable-method.md) method, except that it optionally accesses a variable added in profiler ReJIT instrumentation. Calling this method with a `flags` value of `ILCODE_ORIGINAL_IL` is equivalent to calling [GetLocalVariable](icordebugilframe-getlocalvariable-method.md); if the method is instrumented with additional local variables, those variables cannot be accessed. `ILCODE_REJIT_IL` allows the debugger to access the local variables added in profiler ReJIT instrumentation. If the IL is not instrumented, the method returns `E_INVALIDARG`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md)
+- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-interface.md
new file mode 100644
index 0000000000000..603245f28518d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugilframe4-interface.md
@@ -0,0 +1,38 @@
+---
+description: "Learn more about: ICorDebugILFrame4 Interface"
+title: "ICorDebugILFrame4 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugILFrame4"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugILFrame4 Interface
+
+Provides methods that allow you to access the local variables and code in a stack frame of intermediate language (IL) code. A parameter specifies whether the debugger has access to variables and code added in profiler ReJIT instrumentation.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateLocalVariablesEx Method](icordebugilframe4-enumeratelocalvariablesex-method.md)|Returns a list of the local variables available in the current frame.|
+|[GetCodeEx Method](icordebugilframe4-getcodeex-method.md)|Returns the code that this stack frame is running.|
+|[GetLocalVariableEx Method](icordebugilframe4-getlocalvariableex-method.md)|Returns the value of a local variable in the IL frame.|
+
+## Remarks
+
+These methods offer functionality in addition to that provided by the [EnumerateLocalVariables](icordebugilframe-enumeratelocalvariables-method.md), [GetCode](icordebugframe-getcode-method.md), and [GetLocalVariable](icordebugilframe-getlocalvariable-method.md) methods. Each method includes a `flags` parameter that specifies whether additional local variables or code defined by a profiler's ReJIT request are visible.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
diff --git a/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getname-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getname-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getname-method.md
index dd41cd6a49482..0193d57490312 100644
--- a/docs/framework/unmanaged-api/debugging/icordebuginstancefieldsymbol-getname-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getname-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugInstanceFieldSymbol::GetName Method"
title: "ICorDebugInstanceFieldSymbol::GetName Method"
ms.date: "03/30/2017"
-ms.assetid: d9c12b1f-9c1d-4943-8e9e-93b55faf085f
---
# ICorDebugInstanceFieldSymbol::GetName Method
@@ -36,15 +35,14 @@ HRESULT GetName(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugInstanceFieldSymbol Interface](icordebuginstancefieldsymbol-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getoffset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getoffset-method.md
new file mode 100644
index 0000000000000..36f779e68841b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getoffset-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugInstanceFieldSymbol::GetOffset Method"
+title: "ICorDebugInstanceFieldSymbol::GetOffset Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugInstanceFieldSymbol::GetOffset Method
+
+Gets the offset in bytes of this instance field in its parent class.
+
+## Syntax
+
+```cpp
+HRESULT GetOffset(
+ [out] ULONG32 *pcbOffset
+);
+```
+
+## Parameters
+
+ `pcbOffset`
+A pointer to the number of bytes that this instance field is offset in its parent class.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugInstanceFieldSymbol Interface](icordebuginstancefieldsymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getsize-method.md
new file mode 100644
index 0000000000000..8df49783afd3c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-getsize-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugInstanceFieldSymbol::GetSize Method"
+title: "ICorDebugInstanceFieldSymbol::GetSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugInstanceFieldSymbol::GetSize Method
+
+Gets the size in bytes of the instance field.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcbSize
+);
+```
+
+## Parameters
+
+ `pcbSize`
+ [out] A pointer to length of the field.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugInstanceFieldSymbol Interface](icordebuginstancefieldsymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-interface.md
new file mode 100644
index 0000000000000..48eeddfb179ea
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginstancefieldsymbol-interface.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugInstanceFieldSymbol Interface"
+title: "ICorDebugInstanceFieldSymbol Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugInstanceFieldSymbol Interface
+
+Represents the debug symbol information for an instance field.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetName Method](icordebuginstancefieldsymbol-getname-method.md)|Gets the name of the instance field.|
+|[GetOffset Method](icordebuginstancefieldsymbol-getoffset-method.md)|Gets the offset in bytes of this instance field in its parent class.|
+|[GetSize Method](icordebuginstancefieldsymbol-getsize-method.md)|Gets the size in bytes of the instance field.|
+
+## Remarks
+
+The `ICorDebugInstanceFieldSymbol` interface is used to retrieve the debug symbol information for an instance field.
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugStaticFieldSymbol Interface](icordebugstaticfieldsymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-getframetype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-getframetype-method.md
new file mode 100644
index 0000000000000..4e0de19aeb5a1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-getframetype-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugInternalFrame::GetFrameType Method"
+title: "ICorDebugInternalFrame::GetFrameType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugInternalFrame.GetFrameType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugInternalFrame::GetFrameType"
+helpviewer_keywords:
+ - "GetFrameType method [.NET debugging]"
+ - "ICorDebugInternalFrame::GetFrameType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugInternalFrame::GetFrameType Method
+
+Gets the type of this internal frame.
+
+## Syntax
+
+```cpp
+HRESULT GetFrameType (
+ [out] CorDebugInternalFrameType *pType
+);
+```
+
+## Parameters
+
+ `pType`
+ [out] A pointer to a value of the CorDebugInternalFrameType enumeration that indicates the type of internal frame represented by this `ICorDebugInternalFrame` object.
+
+## Remarks
+
+The internal frame type will never be STUBFRAME_NONE. Debuggers should gracefully ignore unrecognized internal frame types.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-interface.md
new file mode 100644
index 0000000000000..10fda80887aa1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugInternalFrame Interface"
+title: "ICorDebugInternalFrame Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugInternalFrame"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugInternalFrame"
+helpviewer_keywords:
+ - "ICorDebugInternalFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugInternalFrame Interface
+
+Represents a runtime-internal frame on the stack. This interface is a subclass of the ICorDebugFrame interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetFrameType Method](icordebuginternalframe-getframetype-method.md)|Gets the type of this internal frame.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-getframeaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-getframeaddress-method.md
new file mode 100644
index 0000000000000..7cc03051fa748
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-getframeaddress-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugInternalFrame2::GetFrameAddress Method"
+title: "ICorDebugInternalFrame2::GetFrameAddress Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugInternalFrame2.GetFrameAddress Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugInternalFrame2::GetFrameAddress"
+helpviewer_keywords:
+ - "GetFrameAddress method [.NET debugging]"
+ - "ICorDebugInternalFrame2::GetFrameAddress method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugInternalFrame2::GetFrameAddress Method
+
+Returns the stack address of the internal frame.
+
+## Syntax
+
+```cpp
+HRESULT GetFrameAddress([out] CORDB_ADDRESS *pAddress);
+```
+
+## Parameters
+
+ `pAddress`
+ [out] Pointer to the `CORDB_ADDRESS` for the internal frame.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The address of the internal frame was successfully returned.|
+|E_FAIL|The address of the internal frame could not be returned.|
+|E_INVALIDARG|`pAddress` is `null`.|
+
+## Remarks
+
+The value returned in `pAddress` can be used to determine the location of the internal frame relative to other frames on the stack. Even on IA-64-based computers, the internal frame lives on the stack only, and there is no corresponding pointer to a backing store.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugInternalFrame2 Interface](icordebuginternalframe2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-interface.md
new file mode 100644
index 0000000000000..772a96235df19
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-interface.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugInternalFrame2 Interface"
+title: "ICorDebugInternalFrame2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugInternalFrame2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugInternalFrame2"
+helpviewer_keywords:
+ - "ICorDebugInternalFrame2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugInternalFrame2 Interface
+
+Provides information about internal frames, including stack address and position in relation to ICorDebugFrame objects.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetFrameAddress Method](icordebuginternalframe2-getframeaddress-method.md)|Returns the stack address of the internal frame.|
+|[IsCloserToLeaf Method](icordebuginternalframe2-isclosertoleaf-method.md)|Checks whether the `this` internal frame is closer to the leaf than the specified ICorDebugFrame object.|
+
+## Remarks
+
+This interface extends the ICorDebugInternalFrame interface.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-isclosertoleaf-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-isclosertoleaf-method.md
new file mode 100644
index 0000000000000..4d7b39c48e57d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebuginternalframe2-isclosertoleaf-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugInternalFrame2::IsCloserToLeaf Method"
+title: "ICorDebugInternalFrame2::IsCloserToLeaf Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugInternalFrame2.IsCloserToLeaf Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugInternalFrame2::IsCloserToLeaf"
+helpviewer_keywords:
+ - "ICorDebugInternalFrame2::IsCloserToLeaf method [.NET debugging]"
+ - "IsCloserToLeaf method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugInternalFrame2::IsCloserToLeaf Method
+
+Checks whether the `this` internal frame is closer to the leaf than the specified ICorDebugFrame object.
+
+## Syntax
+
+```cpp
+HRESULT IsCloserToLeaf([in] ICorDebugFrame * pFrameToCompare,
+ [out] BOOL * pIsCloser);
+```
+
+## Parameters
+
+ `pFrameToCompare`
+ [in] A pointer to the comparison `ICorDebugFrame` object.
+
+ `pIsCloser`
+ [out] `true` if the `this` internal frame is closer to the leaf than the frame specified by `pFrameToCompare`; otherwise, `false`.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The comparison was successfully performed.|
+|E_FAIL|The comparison could not be performed.|
+|E_INVALIDARG|`pFrameToCompare` or `pIsCloser` is null.|
+
+## Remarks
+
+ `IsCloserToLeaf` can be used to implement a policy for interleaving internal frames with other frames on the stack.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugInternalFrame2 Interface](icordebuginternalframe2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getbaseaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getbaseaddress-method.md
new file mode 100644
index 0000000000000..b5fe417865c19
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getbaseaddress-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugLoadedModule::GetBaseAddress Method"
+title: "ICorDebugLoadedModule::GetBaseAddress Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugLoadedModule::GetBaseAddress Method
+
+Gets the base address of the loaded module.
+
+## Syntax
+
+```cpp
+HRESULT GetBaseAddress(
+ [out] CORDB_ADDRESS *pAddress
+);
+```
+
+## Parameters
+
+ `pAddress`
+ [out] A pointer to the base address of the loaded module.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugLoadedModule Interface](icordebugloadedmodule-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getname-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getname-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getname-method.md
index e7ed3092b0b0a..8ccd5a7558d37 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugloadedmodule-getname-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getname-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugLoadedModule::GetName Method"
title: "ICorDebugLoadedModule::GetName Method"
ms.date: "03/30/2017"
-ms.assetid: 88c304d5-edaa-4c0e-a8e1-144e8a76877e
---
# ICorDebugLoadedModule::GetName Method
@@ -37,15 +36,14 @@ HRESULT GetName(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugLoadedModule Interface](icordebugloadedmodule-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getsize-method.md
new file mode 100644
index 0000000000000..573edc0215133
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-getsize-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugLoadedModule::GetSize Method"
+title: "ICorDebugLoadedModule::GetSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugLoadedModule::GetSize Method
+
+Gets the size in bytes of the loaded module.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcBytes
+);
+```
+
+## Parameters
+
+ `pcBytes`
+ [out] A pointer to the number of bytes in the loaded module.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugLoadedModule Interface](icordebugloadedmodule-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-interface.md
new file mode 100644
index 0000000000000..b134804ca8f3a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugloadedmodule-interface.md
@@ -0,0 +1,33 @@
+---
+description: "Learn more about: ICorDebugLoadedModule Interface"
+title: "ICorDebugLoadedModule Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugLoadedModule Interface
+
+Provides information about a loaded module.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetBaseAddress Method](icordebugloadedmodule-getbaseaddress-method.md)|Gets the base address of the loaded module.|
+|[GetName Method](icordebugloadedmodule-getname-method.md)|Gets the name of the loaded module.|
+|[GetSize Method](icordebugloadedmodule-getsize-method.md)|Gets the size in bytes of the loaded module.|
+
+## Remarks
+
+The `ICorDebugLoadedModule` interface is implemented by a debugger and is used by the CLR debugging interfaces to get information about the loaded module from the debugger.
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-break-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-break-method.md
new file mode 100644
index 0000000000000..2f7eb1618d039
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-break-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::Break Method"
+title: "ICorDebugManagedCallback::Break Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.Break"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::Break"
+helpviewer_keywords:
+ - "Break method [.NET debugging]"
+ - "ICorDebugManagedCallback::Break method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+
+# ICorDebugManagedCallback::Break Method
+
+Notifies the debugger when a instruction in the code stream is executed.
+
+## Syntax
+
+```cpp
+HRESULT Break (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *thread
+);
+```
+
+## Parameters
+
+`pAppDomain`\
+[in] A pointer to an ICorDebugAppDomain object that represents the application domain that contains the break instruction.
+
+`thread`\
+[in] A pointer to an ICorDebugThread object that represents the thread that contains the break instruction.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpoint-method.md
new file mode 100644
index 0000000000000..409e8240f7ec0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpoint-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::Breakpoint Method"
+title: "ICorDebugManagedCallback::Breakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.Breakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::Breakpoint"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::Breakpoint method [.NET debugging]"
+ - "Breakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::Breakpoint Method
+
+Notifies the debugger when a breakpoint is encountered.
+
+## Syntax
+
+```cpp
+HRESULT Breakpoint (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugBreakpoint *pBreakpoint
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that contains the breakpoint.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread that contains the breakpoint.
+
+ `pBreakpoint`
+ [in] A pointer to an ICorDebugBreakpoint object that represents the breakpoint.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-breakpointseterror-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpointseterror-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-breakpointseterror-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpointseterror-method.md
index 455f1299737f5..9203e7fe6a269 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-breakpointseterror-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-breakpointseterror-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback::BreakpointSetError"
helpviewer_keywords:
- - "BreakpointSetError method [.NET Framework debugging]"
- - "ICorDebugManagedCallback::BreakpointSetError method [.NET Framework debugging]"
-ms.assetid: f2b773a4-c4d0-429c-9717-51d6e2ed86af
+ - "BreakpointSetError method [.NET debugging]"
+ - "ICorDebugManagedCallback::BreakpointSetError method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -48,17 +47,17 @@ HRESULT BreakpointSetError (
## Remarks
- The given breakpoint will never be hit. The debugger should deactivate and rebind it.
+The given breakpoint will never be hit. The debugger should deactivate and rebind it.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-controlctrap-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-controlctrap-method.md
new file mode 100644
index 0000000000000..1dd7c8322051f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-controlctrap-method.md
@@ -0,0 +1,59 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::ControlCTrap Method"
+title: "ICorDebugManagedCallback::ControlCTrap Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.ControlCTrap"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::ControlCTrap"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::ControlCTrap method [.NET debugging]"
+ - "ControlCTrap method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::ControlCTrap Method
+
+Notifies the debugger that a CTRL+C is trapped in the process that is being debugged.
+
+## Syntax
+
+```cpp
+HRESULT ControlCTrap (
+ [in] ICorDebugProcess *pProcess
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process in which the CTRL+C is trapped.
+
+## Return Value
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The debugger will handle the CTRL+C trap.|
+|S_FALSE|The debugger will not handle the CTRL+C trap.|
+
+## Remarks
+
+All application domains within the process are stopped for this callback.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createappdomain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createappdomain-method.md
new file mode 100644
index 0000000000000..599616d635e1f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createappdomain-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::CreateAppDomain Method"
+title: "ICorDebugManagedCallback::CreateAppDomain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.CreateAppDomain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::CreateAppDomain"
+helpviewer_keywords:
+ - "CreateAppDomain method [.NET debugging]"
+ - "ICorDebugManagedCallback::CreateAppDomain method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::CreateAppDomain Method
+
+Notifies the debugger that an application domain has been created.
+
+## Syntax
+
+```cpp
+HRESULT CreateAppDomain (
+ [in] ICorDebugProcess *pProcess,
+ [in] ICorDebugAppDomain *pAppDomain
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process in which the application domain was created.
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that has been created.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createprocess-method.md
new file mode 100644
index 0000000000000..73ddd78e1d150
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createprocess-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::CreateProcess Method"
+title: "ICorDebugManagedCallback::CreateProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.CreateProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::CreateProcess"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::CreateProcess method [.NET debugging]"
+ - "CreateProcess method, ICorDebugManagedCallback interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::CreateProcess Method
+
+Notifies the debugger when a process has been attached or started for the first time.
+
+## Syntax
+
+```cpp
+HRESULT CreateProcess (
+ [in] ICorDebugProcess *pProcess
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process that has been attached or started.
+
+## Remarks
+
+This method is not called until the common language runtime is initialized. Most of the [ICorDebug](icordebug-interface.md) methods will return CORDBG_E_NOTREADY before the `CreateProcess` callback.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createthread-method.md
new file mode 100644
index 0000000000000..fff46b029b3eb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-createthread-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::CreateThread Method"
+title: "ICorDebugManagedCallback::CreateThread Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.CreateThread"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::CreateThread method"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::CreateThread method [.NET debugging]"
+ - "CreateThread method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::CreateThread Method
+
+Notifies the debugger that a thread has started executing managed code.
+
+## Syntax
+
+```cpp
+HRESULT CreateThread (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *thread
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that contains the thread.
+
+ `thread`
+ [in] A pointer to an ICorDebugThread object that represents the thread.
+
+## Remarks
+
+The thread will be positioned at the first managed code instruction to be executed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-debuggererror-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-debuggererror-method.md
new file mode 100644
index 0000000000000..24f56642d3b88
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-debuggererror-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::DebuggerError Method"
+title: "ICorDebugManagedCallback::DebuggerError Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.DebuggerError"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::DebuggerError"
+helpviewer_keywords:
+ - "DebuggerError method [.NET debugging]"
+ - "ICorDebugManagedCallback::DebuggerError method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::DebuggerError Method
+
+Notifies the debugger that an error has occurred while attempting to handle an event from the common language runtime (CLR).
+
+## Syntax
+
+```cpp
+HRESULT DebuggerError (
+ [in] ICorDebugProcess *pProcess,
+ [in] HRESULT errorHR,
+ [in] DWORD errorCode
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an "ICorDebugProcess" object that represents the process in which the event occurred.
+
+ `errorHR`
+ [in] The HRESULT value that was returned from the event handler.
+
+ `errorCode`
+ [in] An integer that specifies the CLR error.
+
+## Remarks
+
+The process may be placed into pass-through mode, depending on the nature of the error.
+
+The `DebugError` callback indicates that debugging services have been disabled due to an error, so debuggers should make the error message available to the user. [ICorDebugProcess::GetID](icordebugprocess-getid-method.md) will be safe to call, but all other methods, including [ICorDebug::Terminate](icordebug-terminate-method.md), should not be called. The debugger should use operating-system facilities for terminating processes.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-editandcontinueremap-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-editandcontinueremap-method.md
new file mode 100644
index 0000000000000..0ef18fc2eda04
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-editandcontinueremap-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::EditAndContinueRemap Method"
+title: "ICorDebugManagedCallback::EditAndContinueRemap Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.EditAndContinueRemap"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::EditAndContinueRemap"
+helpviewer_keywords:
+ - "EditAndContinueRemap method [.NET debugging]"
+ - "ICorDebugManagedCallback::EditAndContinueRemap method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::EditAndContinueRemap Method
+
+This method has been deprecated. It notifies the debugger that a remap event has been sent to the integrated development environment (IDE).
+
+## Syntax
+
+```cpp
+HRESULT EditAndContinueRemap (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugFunction *pFunction,
+ [in] BOOL fAccurate
+);
+```
+
+## Remarks
+
+The `EditAndContinueRemap` method is called when the execution of the code in an old version of an updated function has been attempted. The common language runtime calls the `EditAndContinueRemap` method to send a remap event to the IDE.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalcomplete-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalcomplete-method.md
new file mode 100644
index 0000000000000..340441fc436e4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalcomplete-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::EvalComplete Method"
+title: "ICorDebugManagedCallback::EvalComplete Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.EvalComplete"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::EvalComplete"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::EvalComplete method [.NET debugging]"
+ - "EvalComplete method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::EvalComplete Method
+
+Notifies the debugger that an evaluation has been completed.
+
+## Syntax
+
+```cpp
+HRESULT EvalComplete (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugEval *pEval
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain in which the evaluation was performed.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread in which the evaluation was performed.
+
+ `pEval`
+ [in] A pointer to an ICorDebugEval object that represents the code that performed the evaluation.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalexception-method.md
new file mode 100644
index 0000000000000..eedca460f2eae
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-evalexception-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::EvalException Method"
+title: "ICorDebugManagedCallback::EvalException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.EvalException"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::EvalException"
+helpviewer_keywords:
+ - "EvalException method [.NET debugging]"
+ - "ICorDebugManagedCallback::EvalException method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::EvalException Method
+
+Notifies the debugger that an evaluation has terminated with an unhandled exception.
+
+## Syntax
+
+```cpp
+HRESULT EvalException (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugEval *pEval
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain in which the evaluation terminated.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread in which the evaluation terminated.
+
+ `pEval`
+ [in] A pointer to an ICorDebugEval object that represents the code that performed the evaluation.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exception-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exception-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exception-method.md
index 9e4ecd26095fd..a5509c659b9fb 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-exception-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exception-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback::Exception"
helpviewer_keywords:
- - "Exception method, ICorDebugManagedCallback interface [.NET Framework debugging]"
- - "ICorDebugManagedCallback::Exception method [.NET Framework debugging]"
-ms.assetid: ab18a509-dff3-4930-b585-bd15e0414176
+ - "Exception method, ICorDebugManagedCallback interface [.NET debugging]"
+ - "ICorDebugManagedCallback::Exception method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -44,17 +43,17 @@ HRESULT Exception (
## Remarks
- The specific exception can be retrieved from the thread object.
+The specific exception can be retrieved from the thread object.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitappdomain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitappdomain-method.md
new file mode 100644
index 0000000000000..7af643adfc20c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitappdomain-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::ExitAppDomain Method"
+title: "ICorDebugManagedCallback::ExitAppDomain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.ExitAppDomain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::ExitAppDomain"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::ExitAppDomain method [.NET debugging]"
+ - "ExitAppDomain method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::ExitAppDomain Method
+
+Notifies the debugger that an application domain has exited.
+
+## Syntax
+
+```cpp
+HRESULT ExitAppDomain (
+ [in] ICorDebugProcess *pProcess,
+ [in] ICorDebugAppDomain *pAppDomain
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process that contains the given application domain.
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that has exited.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitprocess-method.md
new file mode 100644
index 0000000000000..c48815f4c910d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitprocess-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::ExitProcess Method"
+title: "ICorDebugManagedCallback::ExitProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.ExitProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::ExitProcess"
+helpviewer_keywords:
+ - "ExitProcess method, ICorDebugManagedCallback interface [.NET debugging]"
+ - "ICorDebugManagedCallback::ExitProcess method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::ExitProcess Method
+
+Notifies the debugger that a process has exited.
+
+## Syntax
+
+```cpp
+HRESULT ExitProcess (
+ [in] ICorDebugProcess *pProcess
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process.
+
+## Remarks
+
+You cannot continue from an `ExitProcess` event. This event may fire asynchronously to other events while the process appears to be stopped. This can occur if the process terminates while stopped, usually due to some external force.
+
+If the common language runtime (CLR) is already dispatching a managed callback, this event will be delayed until after that callback has returned.
+
+The `ExitProcess` event is the only exit/unload event that is guaranteed to get called on shutdown.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitthread-method.md
new file mode 100644
index 0000000000000..c6de2c92e686c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-exitthread-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::ExitThread Method"
+title: "ICorDebugManagedCallback::ExitThread Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.ExitThread"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::ExitThread"
+helpviewer_keywords:
+ - "ExitThread method [.NET debugging]"
+ - "ICorDebugManagedCallback::ExitThread method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::ExitThread Method
+
+Notifies the debugger that a thread that was executing managed code has exited.
+
+## Syntax
+
+```cpp
+HRESULT ExitThread (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *thread
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the managed thread.
+
+ `thread`
+ [in] A pointer to an ICorDebugThread object that represents the managed thread.
+
+## Remarks
+
+Once the `ExitThread` callback is fired, the thread will no longer appear in thread enumerations.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-interface.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-interface.md
index 8829c5c61aff1..bf3db236a3827 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback"
helpviewer_keywords:
- - "ICorDebugManagedCallback interface [.NET Framework debugging]"
-ms.assetid: b47f1d61-c7dc-4196-b926-0b08c94f7041
+ - "ICorDebugManagedCallback interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -53,27 +52,26 @@ Provides methods to process debugger callbacks.
## Remarks
- All callbacks are serialized, called in the same thread, and called with the process in the synchronized state.
+All callbacks are serialized, called in the same thread, and called with the process in the synchronized state.
- Each callback implementation must call [ICorDebugController::Continue](icordebugcontroller-continue-method.md) to resume execution. If `ICorDebugController::Continue` is not called before the callback returns, the process will remain stopped and no more event callbacks will occur until `ICorDebugController::Continue` is called.
+Each callback implementation must call [ICorDebugController::Continue](icordebugcontroller-continue-method.md) to resume execution. If `ICorDebugController::Continue` is not called before the callback returns, the process will remain stopped and no more event callbacks will occur until `ICorDebugController::Continue` is called.
- A debugger must implement [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md) if it is debugging .NET Framework version 2.0 applications. An instance of `ICorDebugManagedCallback` or `ICorDebugManagedCallback2` is passed as the callback object to [ICorDebug::SetManagedHandler](icordebug-setmanagedhandler-method.md).
+A debugger must implement [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md). An instance of `ICorDebugManagedCallback` or `ICorDebugManagedCallback2` is passed as the callback object to [ICorDebug::SetManagedHandler](icordebug-setmanagedhandler-method.md).
> [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
- [ICorDebug Interface](icordebug-interface.md)
- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadassembly-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadassembly-method.md
new file mode 100644
index 0000000000000..19db4023e80c0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadassembly-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::LoadAssembly Method"
+title: "ICorDebugManagedCallback::LoadAssembly Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.LoadAssembly"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::LoadAssembly"
+helpviewer_keywords:
+ - "LoadAssembly method [.NET debugging]"
+ - "ICorDebugManagedCallback::LoadAssembly method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::LoadAssembly Method
+
+Notifies the debugger that a common language runtime (CLR) assembly has been successfully loaded.
+
+## Syntax
+
+```cpp
+HRESULT LoadAssembly (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugAssembly *pAssembly
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain into which the assembly has been loaded.
+
+ `pAssembly`
+ [in] A pointer to an ICorDebugAssembly object that represents the assembly.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [UnloadAssembly Method](icordebugmanagedcallback-unloadassembly-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadclass-method.md
new file mode 100644
index 0000000000000..f1bc15da9b012
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadclass-method.md
@@ -0,0 +1,59 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::LoadClass Method"
+title: "ICorDebugManagedCallback::LoadClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.LoadClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::LoadClass"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::LoadClass method [.NET debugging]"
+ - "LoadClass method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::LoadClass Method
+
+Notifies the debugger that a class has been loaded.
+
+## Syntax
+
+```cpp
+HRESULT LoadClass (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugClass *c
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain into which the class has been loaded.
+
+ `c`
+ [in] A pointer to an ICorDebugClass object that represents the class.
+
+## Remarks
+
+This callback occurs only if class loading has been enabled for the module that contains the class. Class loading is always enabled for dynamic modules.
+
+The `LoadClass` callback provides an appropriate time to bind breakpoints to newly generated classes in dynamic modules.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [UnloadClass Method](icordebugmanagedcallback-unloadclass-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadmodule-method.md
new file mode 100644
index 0000000000000..0ffbd479b8c78
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-loadmodule-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::LoadModule Method"
+title: "ICorDebugManagedCallback::LoadModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.LoadModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::LoadModule"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::LoadModule method [.NET debugging]"
+ - "LoadModule method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::LoadModule Method
+
+Notifies the debugger that a common language runtime (CLR) module has been successfully loaded.
+
+## Syntax
+
+```cpp
+HRESULT LoadModule (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugModule *pModule
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain into which the module has been loaded.
+
+ `pModule`
+ [in] A pointer to an ICorDebugModule object that represents the CLR module.
+
+## Remarks
+
+The `LoadModule` callback provides an appropriate time to examine metadata for the module, set just-in-time (JIT) compiler flags, or enable or disable class loading callbacks for the module.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [UnloadModule Method](icordebugmanagedcallback-unloadmodule-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logmessage-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logmessage-method.md
new file mode 100644
index 0000000000000..13744287407ab
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logmessage-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::LogMessage Method"
+title: "ICorDebugManagedCallback::LogMessage Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.LogMessage"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::LogMessage"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::LogMessage method [.NET debugging]"
+ - "LogMessage method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::LogMessage Method
+
+Notifies the debugger that a common language runtime (CLR) managed thread has called a method in the class to log an event.
+
+## Syntax
+
+```cpp
+HRESULT LogMessage (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] LONG lLevel,
+ [in] WCHAR *pLogSwitchName,
+ [in] WCHAR *pMessage
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the managed thread that logged the event.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the managed thread.
+
+ `lLevel`
+ [in] A value of the [LoggingLevelEnum](logginglevelenum-enumeration.md) enumeration that indicates the severity level of the descriptive message that was written to the event log.
+
+ `pLogSwitchName`
+ [in] A pointer to the name of the tracing switch.
+
+ `pMessage`
+ [in] A pointer to the message that was written to the event log.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logswitch-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logswitch-method.md
new file mode 100644
index 0000000000000..60624ba1b8d32
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-logswitch-method.md
@@ -0,0 +1,67 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::LogSwitch Method"
+title: "ICorDebugManagedCallback::LogSwitch Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.LogSwitch"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::LogSwitch"
+helpviewer_keywords:
+ - "LogSwitch method [.NET debugging]"
+ - "ICorDebugManagedCallback::LogSwitch method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::LogSwitch Method
+
+Notifies the debugger that a common language runtime (CLR) managed thread has called a method in the class to create, modify, or delete a debugging/tracing switch.
+
+## Syntax
+
+```cpp
+HRESULT LogSwitch (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] LONG lLevel,
+ [in] ULONG ulReason,
+ [in] WCHAR *pLogSwitchName,
+ [in] WCHAR *pParentName);
+```
+
+## Parameters
+
+ `PAppDomain`\
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the managed thread that created, modified, or deleted a debugging/tracing switch.
+
+ `pThread`\
+ [in] A pointer to an ICorDebugThread object that represents the managed thread.
+
+ `lLevel`\
+ [in] A value that indicates the severity level of the descriptive message that was written to the event log.
+
+ `ulReason`\
+ [in] A value of the [LogSwitchCallReason](logswitchcallreason-enumeration.md) enumeration that indicates the operation performed on the debugging/tracing switch.
+
+ `pLogSwitchName`\
+ [in] A pointer to the name of the debugging/tracing switch.
+
+ `pParentName`\
+ [in] A pointer to the name of the parent of the debugging/tracing switch.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-namechange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-namechange-method.md
new file mode 100644
index 0000000000000..e2dd64a614dc0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-namechange-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::NameChange Method"
+title: "ICorDebugManagedCallback::NameChange Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.NameChange"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::NameChange"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::NameChange method [.NET debugging]"
+ - "NameChange method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::NameChange Method
+
+Notifies the debugger that the name of either an application domain or a thread has changed.
+
+## Syntax
+
+```cpp
+HRESULT NameChange (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that either had a name change or that contains the thread that had a name change.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread that had a name change.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-stepcomplete-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-stepcomplete-method.md
new file mode 100644
index 0000000000000..711d3e37ee4be
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-stepcomplete-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::StepComplete Method"
+title: "ICorDebugManagedCallback::StepComplete Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.StepComplete"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::StepComplete"
+helpviewer_keywords:
+ - "StepComplete method [.NET debugging]"
+ - "ICorDebugManagedCallback::StepComplete method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::StepComplete Method
+
+Notifies the debugger that a step has completed.
+
+## Syntax
+
+```cpp
+HRESULT StepComplete (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugStepper *pStepper,
+ [in] CorDebugStepReason reason
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the thread in which the step has completed.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread in which the step has completed.
+
+ `pStepper`
+ [in] A pointer to an ICorDebugStepper object that represents the step in code execution.
+
+ `reason`
+ [in] A value of the CorDebugStepReason enumeration that indicates the outcome of an individual step.
+
+## Remarks
+
+The stepper may be used to continue stepping if desired, unless the debugging is terminated.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadassembly-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadassembly-method.md
new file mode 100644
index 0000000000000..7972924460cee
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadassembly-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::UnloadAssembly Method"
+title: "ICorDebugManagedCallback::UnloadAssembly Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.UnloadAssembly"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::UnloadAssembly"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::UnloadAssembly method [.NET debugging]"
+ - "UnloadAssembly method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::UnloadAssembly Method
+
+Notifies the debugger that a common language runtime assembly has been unloaded.
+
+## Syntax
+
+```cpp
+HRESULT UnloadAssembly (
+ [in] IcorDebugAppDomain *pAppDomain,
+ [in] ICorDebugAssembly *pAssembly
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that contained the assembly.
+
+ `pAssembly`
+ [in] A pointer to an ICorDebugAssembly object that represents the assembly.
+
+## Remarks
+
+The assembly should not be used after this callback.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [LoadAssembly Method](icordebugmanagedcallback-loadassembly-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadclass-method.md
new file mode 100644
index 0000000000000..dd8ed8603843a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadclass-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::UnloadClass Method"
+title: "ICorDebugManagedCallback::UnloadClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.UnloadClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::UnloadClass"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::UnloadClass method [.NET debugging]"
+ - "UnloadClass method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::UnloadClass Method
+
+Notifies the debugger that a class is being unloaded.
+
+## Syntax
+
+```cpp
+HRESULT UnloadClass (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugClass *c
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the class.
+
+ `c`
+ [in] A pointer to an ICorDebugClass object that represents the class.
+
+## Remarks
+
+The class should not be referenced after this call.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [LoadClass Method](icordebugmanagedcallback-loadclass-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadmodule-method.md
new file mode 100644
index 0000000000000..abcf74eed5bad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-unloadmodule-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::UnloadModule Method"
+title: "ICorDebugManagedCallback::UnloadModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.UnloadModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::UnloadModule"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback::UnloadModule method [.NET debugging]"
+ - "UnloadModule method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::UnloadModule Method
+
+Notifies the debugger that a common language runtime module (DLL) has been unloaded.
+
+## Syntax
+
+```cpp
+HRESULT UnloadModule (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugModule *pModule
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain that contained the module.
+
+ `pModule`
+ [in] A pointer to an ICorDebugModule object that represents the module.
+
+## Remarks
+
+The module should not be used after this call.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [LoadModule Method](icordebugmanagedcallback-loadmodule-method.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-updatemodulesymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-updatemodulesymbols-method.md
new file mode 100644
index 0000000000000..a892f8e7c5098
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback-updatemodulesymbols-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugManagedCallback::UpdateModuleSymbols Method"
+title: "ICorDebugManagedCallback::UpdateModuleSymbols Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback.UpdateModuleSymbols"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback::UpdateModuleSymbols"
+helpviewer_keywords:
+ - "UpdateModuleSymbols method [.NET debugging]"
+ - "ICorDebugManagedCallback::UpdateModuleSymbols method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback::UpdateModuleSymbols Method
+
+Notifies the debugger that the symbols for a common language runtime module have changed.
+
+## Syntax
+
+```cpp
+HRESULT UpdateModuleSymbols (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugModule *pModule,
+ [in] IStream *pSymbolStream
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the module in which the symbols have changed.
+
+ `pModule`
+ [in] A pointer to an ICorDebugModule object that represents the module in which the symbols have changed.
+
+ `pSymbolStream`
+ [in] A pointer to a Win32 COM `IStream` object that contains the modified symbols.
+
+## Remarks
+
+This method provides an opportunity to update the debugger's view of a module's symbols by calling [ISymUnmanagedReader::UpdateSymbolStore](../../../../framework/unmanaged-api/diagnostics/isymunmanagedreader-updatesymbolstore-method.md) or [ISymUnmanagedReader::ReplaceSymbolStore](../../../../framework/unmanaged-api/diagnostics/isymunmanagedreader-replacesymbolstore-method.md).
+
+This callback can occur multiple times for the same module.
+
+A debugger should try to bind unbound source-level breakpoints.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-changeconnection-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-changeconnection-method.md
new file mode 100644
index 0000000000000..674b303cb49f6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-changeconnection-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2::ChangeConnection Method"
+title: "ICorDebugManagedCallback2::ChangeConnection Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2.ChangeConnection"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2::ChangeConnection"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback2::ChangeConnection method [.NET debugging]"
+ - "ChangeConnection method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2::ChangeConnection Method
+
+Notifies the debugger that the set of tasks associated with the specified connection has changed.
+
+## Syntax
+
+```cpp
+HRESULT ChangeConnection (
+ [in] ICorDebugProcess *pProcess,
+ [in] CONNID dwConnectionId
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an "ICorDebugProcess" object that represents the process containing the connection that changed.
+
+ `dwConnectionId`
+ [in] The ID of the connection that changed.
+
+## Remarks
+
+A `ChangeConnection` callback will be fired in either of the following cases:
+
+- When a debugger attaches to a process that contains connections. In this case, the runtime will generate and dispatch a [ICorDebugManagedCallback2::CreateConnection](icordebugmanagedcallback2-createconnection-method.md) event and a `ChangeConnection` event for each connection in the process. A `ChangeConnection` event is generated for every existing connection, regardless of whether that connection’s set of tasks has been changed since its creation.
+- When a host calls [ICLRDebugManager::SetConnectionTasks](../../../../framework/unmanaged-api/hosting/iclrdebugmanager-setconnectiontasks-method.md) in the hosting API.
+
+The debugger should scan all threads in the process to pick up the new changes.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-createconnection-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-createconnection-method.md
new file mode 100644
index 0000000000000..9cf0793bd5317
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-createconnection-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2::CreateConnection Method"
+title: "ICorDebugManagedCallback2::CreateConnection Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2.CreateConnection"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2::CreateConnection"
+helpviewer_keywords:
+ - "CreateConnection method [.NET debugging]"
+ - "ICorDebugManagedCallback2::CreateConnection method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2::CreateConnection Method
+
+Notifies the debugger that a new connection has been created.
+
+## Syntax
+
+```cpp
+HRESULT CreateConnection (
+ [in] ICorDebugProcess *pProcess,
+ [in] CONNID dwConnectionId,
+ [in] WCHAR *pConnName
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an "ICorDebugProcess" object that represents the process in which the connection was created
+
+ `dwConnectionId`
+ [in] The ID of the new connection.
+
+ `pConnName`
+ [in] A pointer to the name of the new connection.
+
+## Remarks
+
+A `CreateConnection` callback will be fired in either of the following cases:
+
+- When a debugger attaches to a process that contains connections. In this case, the runtime will generate and dispatch a `CreateConnection` event and a [ICorDebugManagedCallback2::ChangeConnection](icordebugmanagedcallback2-changeconnection-method.md) event for each connection in the process.
+- When a host calls [ICLRDebugManager::BeginConnection](../../../../framework/unmanaged-api/hosting/iclrdebugmanager-beginconnection-method.md) in the hosting API.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-destroyconnection-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-destroyconnection-method.md
new file mode 100644
index 0000000000000..fa8ce5de09a7c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-destroyconnection-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2::DestroyConnection Method"
+title: "ICorDebugManagedCallback2::DestroyConnection Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2.DestroyConnection"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2::DestroyConnection"
+helpviewer_keywords:
+ - "DestroyConnection method [.NET debugging]"
+ - "ICorDebugManagedCallback2::DestroyConnection method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2::DestroyConnection Method
+
+Notifies the debugger that the specified connection has been terminated.
+
+## Syntax
+
+```cpp
+HRESULT DestroyConnection (
+ [in] ICorDebugProcess *pProcess,
+ [in] CONNID dwConnectionId
+);
+```
+
+## Parameters
+
+ `pProcess`
+ [in] A pointer to an ICorDebugProcess object that represents the process containing the connection that was destroyed.
+
+ `dwConnectionId`
+ [in] The ID of the connection that was destroyed.
+
+## Remarks
+
+A `DestroyConnection` callback will be fired when a host calls [ICLRDebugManager::EndConnection](../../../../framework/unmanaged-api/hosting/iclrdebugmanager-endconnection-method.md) in the hosting API.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exception-method.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exception-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exception-method.md
index d7ecf3c258070..8818629e6d8c1 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exception-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exception-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback2::Exception"
helpviewer_keywords:
- - "ICorDebugManagedCallback2::Exception method [.NET Framework debugging]"
- - "Exception method, ICorDebugManagedCallback2 interface [.NET Framework debugging]"
-ms.assetid: 78b0f14f-2fae-4e63-8412-4df119ee8468
+ - "ICorDebugManagedCallback2::Exception method [.NET debugging]"
+ - "Exception method, ICorDebugManagedCallback2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -56,11 +55,11 @@ HRESULT Exception (
## Remarks
- The `Exception` callback is called at various points during the search phase of the exception-handling process. That is, it can be called more than once while unwinding an exception.
+The `Exception` callback is called at various points during the search phase of the exception-handling process. That is, it can be called more than once while unwinding an exception.
- The exception being processed can be retrieved from the ICorDebugThread object referenced by the `pThread` parameter.
+The exception being processed can be retrieved from the ICorDebugThread object referenced by the `pThread` parameter.
- The particular frame and offset are determined by the `dwEventType` parameter as follows:
+The particular frame and offset are determined by the `dwEventType` parameter as follows:
|Value of `dwEventType`|Value of `pFrame`|Value of `nOffset`|
|----------------------------|-----------------------|------------------------|
@@ -71,13 +70,13 @@ HRESULT Exception (
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exceptionunwind-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exceptionunwind-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exceptionunwind-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exceptionunwind-method.md
index e4c516e45771f..d3d6c97c6513c 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-exceptionunwind-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-exceptionunwind-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback2::ExceptionUnwind"
helpviewer_keywords:
- - "ICorDebugManagedCallback2::ExceptionUnwind method [.NET Framework debugging]"
- - "ExceptionUnwind method [.NET Framework debugging]"
-ms.assetid: aaf5938d-179c-4eaa-8d35-8523a4fadded
+ - "ICorDebugManagedCallback2::ExceptionUnwind method [.NET debugging]"
+ - "ExceptionUnwind method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -50,17 +49,17 @@ HRESULT ExceptionUnwind (
`ExceptionUnwind` is called at various points during the unwind phase of the exception-handling process. `ExceptionUnwind` can be called more than once while unwinding a single exception.
- If `dwEventType` = DEBUG_EXCEPTION_INTERCEPTED, the instruction pointer will be in the leaf frame of the thread, at the sequence point before (this may be several instructions before) the instruction that led to the exception.
+If `dwEventType` = DEBUG_EXCEPTION_INTERCEPTED, the instruction pointer will be in the leaf frame of the thread, at the sequence point before (this may be several instructions before) the instruction that led to the exception.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-functionremapcomplete-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapcomplete-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-functionremapcomplete-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapcomplete-method.md
index 3320333fea82f..40dbab50ba27b 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmanagedcallback2-functionremapcomplete-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapcomplete-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugManagedCallback2::FunctionRemapComplete"
helpviewer_keywords:
- - "FunctionRemapComplete method [.NET Framework debugging]"
- - "ICorDebugManagedCallback2::FunctionRemapComplete method [.NET Framework debugging]"
-ms.assetid: 5396c4c3-4ec3-4e3a-a38d-d65b21f0a2fc
+ - "FunctionRemapComplete method [.NET debugging]"
+ - "ICorDebugManagedCallback2::FunctionRemapComplete method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -44,17 +43,17 @@ HRESULT FunctionRemapComplete (
## Remarks
- This callback gives the debugger an opportunity to recreate any steppers that previously existed.
+This callback gives the debugger an opportunity to recreate any steppers that previously existed.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapopportunity-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapopportunity-method.md
new file mode 100644
index 0000000000000..d39c8187caeb4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-functionremapopportunity-method.md
@@ -0,0 +1,71 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2::FunctionRemapOpportunity Method"
+title: "ICorDebugManagedCallback2::FunctionRemapOpportunity Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2.FunctionRemapOpportunity"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2::FunctionRemapOpportunity"
+helpviewer_keywords:
+ - "FunctionRemapOpportunity method [.NET debugging]"
+ - "ICorDebugManagedCallback2::FunctionRemapOpportunity method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2::FunctionRemapOpportunity Method
+
+Notifies the debugger that code execution has reached a sequence point in an older version of an edited function.
+
+## Syntax
+
+```cpp
+HRESULT FunctionRemapOpportunity (
+ [in] ICorDebugAppDomain *pAppDomain,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugFunction *pOldFunction,
+ [in] ICorDebugFunction *pNewFunction,
+ [in] ULONG32 oldILOffset
+);
+```
+
+## Parameters
+
+ `pAppDomain`
+ [in] A pointer to an ICorDebugAppDomain object that represents the application domain containing the edited function.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread object that represents the thread on which the remap breakpoint was encountered.
+
+ `pOldFunction`
+ [in] A pointer to an ICorDebugFunction object that represents the version of the function that is currently running on the thread.
+
+ `pNewFunction`
+ [in] A pointer to an ICorDebugFunction object that represents the latest version of the function.
+
+ `oldILOffset`
+ [in] The common intermediate language (CIL) offset of the instruction pointer in the old version of the function.
+
+## Remarks
+
+This callback gives the debugger an opportunity to remap the instruction pointer to its proper place in the new version of the specified function by calling the [ICorDebugILFrame2::RemapFunction](icordebugilframe2-remapfunction-method.md) method. If the debugger does not call `RemapFunction` before calling the [ICorDebugController::Continue](icordebugcontroller-continue-method.md) method, the runtime will continue to execute the old code and will fire another `FunctionRemapOpportunity` callback at the next sequence point.
+
+This callback will be invoked for every frame that is executing an older version of the given function until the debugger returns S_OK.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-interface.md
new file mode 100644
index 0000000000000..ba416cd43d7cc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-interface.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2 Interface"
+title: "ICorDebugManagedCallback2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2 Interface
+
+Provides methods to support debugger exception handling and managed debugging assistants (MDAs). `ICorDebugManagedCallback2` is a logical extension of the [ICorDebugManagedCallback](icordebugmanagedcallback-interface.md) interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[ChangeConnection Method](icordebugmanagedcallback2-changeconnection-method.md)|Notifies the debugger that the set of tasks associated with the specified connection has changed.|
+|[CreateConnection Method](icordebugmanagedcallback2-createconnection-method.md)|Notifies the debugger that a new connection has been created.|
+|[DestroyConnection Method](icordebugmanagedcallback2-destroyconnection-method.md)|Notifies the debugger that the specified connection has been terminated.|
+|[Exception Method](icordebugmanagedcallback2-exception-method.md)|Notifies the debugger that a search for an exception handler has started.|
+|[ExceptionUnwind Method](icordebugmanagedcallback2-exceptionunwind-method.md)|Provides a status notification during the exception unwinding process.|
+|[FunctionRemapComplete Method](icordebugmanagedcallback2-functionremapcomplete-method.md)|Notifies the debugger that code execution has switched to a new version of an edited function.|
+|[FunctionRemapOpportunity Method](icordebugmanagedcallback2-functionremapopportunity-method.md)|Notifies the debugger that code execution has reached a sequence point in an older version of an edited function.|
+|[MDANotification Method](icordebugmanagedcallback2-mdanotification-method.md)|Provides notification that code execution has encountered a managed debugging assistant (MDA) message.|
+
+## Remarks
+
+The `ICorDebugManagedCallback2` interface extends the `ICorDebugManagedCallback` interface to handle new debug events introduced in .NET Framework 2.0.
+
+A debugger must implement `ICorDebugManagedCallback2`. An instance of `ICorDebugManagedCallback` or `ICorDebugManagedCallback2` is passed as the callback object to [ICorDebug::SetManagedHandler](icordebug-setmanagedhandler-method.md).
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-mdanotification-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-mdanotification-method.md
new file mode 100644
index 0000000000000..7ab6d7f9659fb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback2-mdanotification-method.md
@@ -0,0 +1,74 @@
+---
+description: "Learn more about: ICorDebugManagedCallback2::MDANotification Method"
+title: "ICorDebugManagedCallback2::MDANotification Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback2.MDANotification"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback2::MDANotification"
+helpviewer_keywords:
+ - "MDANotification method [.NET debugging]"
+ - "ICorDebugManagedCallback2::MDANotification method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback2::MDANotification Method
+
+Provides notification that code execution has encountered a managed debugging assistant (MDA) in the application that is being debugged.
+
+## Syntax
+
+```cpp
+HRESULT MDANotification(
+ [in] ICorDebugController *pController,
+ [in] ICorDebugThread *pThread,
+ [in] ICorDebugMDA *pMDA
+);
+```
+
+## Parameters
+
+ `pController`
+ [in] A pointer to an ICorDebugController interface that exposes the process or application domain in which the MDA occurred.
+
+A debugger should not make any assumptions about whether the controller is a process or an application domain, although it can always query the interface to make a determination.
+
+ `pThread`
+ [in] A pointer to an ICorDebugThread interface that exposes the managed thread on which the debug event occurred.
+
+If the MDA occurred on an unmanaged thread, the value of `pThread` will be null.
+
+You must get the operating system (OS) thread ID from the MDA object itself.
+
+ `pMDA`
+ [in] A pointer to an [ICorDebugMDA](icordebugmda-interface.md) interface that exposes the MDA information.
+
+## Remarks
+
+An MDA is a heuristic warning and does not require any explicit debugger action except for calling [ICorDebugController::Continue](icordebugcontroller-continue-method.md) to resume execution of the application that is being debugged.
+
+The common language runtime (CLR) can determine which MDAs are fired and which data is in any given MDA at any point. Therefore, debuggers should not build any functionality requiring specific MDA patterns.
+
+MDAs may be queued and fired shortly after the MDA is encountered. This could happen if the runtime needs to wait until it reaches a safe point for firing the MDA, instead of firing the MDA when it encounters it. It also means that the runtime may fire a number of MDAs in a single set of queued callbacks (similar to an "attach" event operation).
+
+A debugger should release the reference to an `ICorDebugMDA` instance immediately after returning from the `MDANotification` callback, to allow the CLR to recycle the memory consumed by an MDA. Releasing the instance may improve performance if many MDAs are firing.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-customnotification-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-customnotification-method.md
new file mode 100644
index 0000000000000..83ec827d160d2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-customnotification-method.md
@@ -0,0 +1,66 @@
+---
+description: "Learn more about: ICorDebugManagedCallback3::CustomNotification Method"
+title: "ICorDebugManagedCallback3::CustomNotification Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback3.CustomNotification Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback3::CustomNotification"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback3::CustomNotification method [.NET debugging]"
+ - "CustomNotification method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback3::CustomNotification Method
+
+Indicates that a custom debugger notification has been raised.
+
+## Syntax
+
+```cpp
+HRESULT CustomNotification(ICorDebugThread * pThread,
+ ICorDebugAppDomain * pAppDomain);
+```
+
+## Parameters
+
+ `pThread`
+ [in] A pointer to the thread that raised the notification.
+
+ `pAppDomain`
+ [in] A pointer to the application domain that contains the thread that raised the notification.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The method completed successfully.|
+
+## Exceptions
+
+## Remarks
+
+A subsequent call to the [ICorDebugThread4::GetCurrentCustomDebuggerNotification](icordebugthread4-getcurrentcustomdebuggernotification-method.md) method retrieves the thread object that was passed to the method. The thread object's type must have been previously enabled by calling the [ICorDebugProcess3::SetEnableCustomNotification](icordebugprocess3-setenablecustomnotification-method.md) method. The debugger can read type-specific parameters from the fields of the thread object, and can store responses into fields.
+
+The [ICorDebug](icordebug-interface.md) interface imposes no policy on the types of notifications or their contents, and the semantics of the notifications are strictly a contract between debuggers, applications, and .NET.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugManagedCallback3 Interface](icordebugmanagedcallback3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-interface.md
new file mode 100644
index 0000000000000..1b8de5450081e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmanagedcallback3-interface.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugManagedCallback3 Interface"
+title: "ICorDebugManagedCallback3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugManagedCallback3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugManagedCallback3"
+helpviewer_keywords:
+ - "ICorDebugManagedCallback3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugManagedCallback3 Interface
+
+Provides a callback method that indicates that an enabled custom debugger notification has been raised.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[CustomNotification Method](icordebugmanagedcallback3-customnotification-method.md)|Indicates that an enabled custom debugger notification has been raised.|
+
+## Remarks
+
+This interface is a logical extension of the [ICorDebugManagedCallback](icordebugmanagedcallback-interface.md) and [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md) interfaces.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
+- [ICorDebugManagedCallback2 Interface](icordebugmanagedcallback2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getdescription-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getdescription-method.md
new file mode 100644
index 0000000000000..8cc5fc803d887
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getdescription-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugMDA::GetDescription Method"
+title: "ICorDebugMDA::GetDescription Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA.GetDescription"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA::GetDescription"
+helpviewer_keywords:
+ - "GetDescription method [.NET debugging]"
+ - "ICorDebugMDA::GetDescription method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA::GetDescription Method
+
+Gets a string containing the description of the managed debugging assistant (MDA) represented by [ICorDebugMDA](icordebugmda-interface.md).
+
+## Syntax
+
+```cpp
+HRESULT GetDescription (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)]
+ WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The size of the string buffer that will store the description.
+
+ `pcchName`
+ [out] A pointer to the number of bytes returned in the string buffer.
+
+ `szName`
+ [out] A string buffer containing the description of the MDA.
+
+## Remarks
+
+The string can be zero in length.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugMDA Interface](icordebugmda-interface.md)
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getflags-method.md
new file mode 100644
index 0000000000000..322d47acedf15
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getflags-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugMDA::GetFlags Method"
+title: "ICorDebugMDA::GetFlags Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA.GetFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA::GetFlags"
+helpviewer_keywords:
+ - "ICorDebugMDA::GetFlags method [.NET debugging]"
+ - "GetFlags method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA::GetFlags Method
+
+Gets the flags associated with the managed debugging assistant (MDA) represented by [ICorDebugMDA](icordebugmda-interface.md).
+
+## Syntax
+
+```cpp
+HRESULT GetFlags (
+ [in] CorDebugMDAFlags *pFlags
+);
+```
+
+## Parameters
+
+ `pFlags`
+ [in] A bitwise combination of the [CorDebugMDAFlags](cordebugmdaflags-enumeration.md) enumeration values that specify the settings of the flags for this MDA.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugMDA Interface](icordebugmda-interface.md)
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getname-method.md
new file mode 100644
index 0000000000000..b43d7172c4914
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getname-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugMDA::GetName Method"
+title: "ICorDebugMDA::GetName Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA.GetName"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA::GetName"
+helpviewer_keywords:
+ - "ICorDebugMDA::GetName method [.NET debugging]"
+ - "GetName method, ICorDebugMDA interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA::GetName Method
+
+Gets a string containing the name of the managed debugging assistant (MDA) represented by [ICorDebugMDA](icordebugmda-interface.md).
+
+## Syntax
+
+```cpp
+HRESULT GetName (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)]
+ WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The size of the `szName` array.
+
+ `pcchName`
+ [out] A pointer to the length of the name.
+
+ `szName`
+ [out] An array in which to store the name.
+
+## Remarks
+
+MDA names are unique values. The `GetName` method is a convenient performance alternative to getting the XML stream and extracting the name from the stream based on the schema.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugMDA Interface](icordebugmda-interface.md)
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getosthreadid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getosthreadid-method.md
new file mode 100644
index 0000000000000..f28605ec1ad63
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getosthreadid-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugMDA::GetOSThreadId Method"
+title: "ICorDebugMDA::GetOSThreadId Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA.GetOSThreadId"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA::GetOSThreadId"
+helpviewer_keywords:
+ - "ICorDebugMDA::GetOSThreadId method [.NET debugging]"
+ - "GetOSThreadId method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA::GetOSThreadId Method
+
+Gets the operating system (OS) thread identifier upon which the managed debugging assistant (MDA) represented by [ICorDebugMDA](icordebugmda-interface.md) is executing.
+
+## Syntax
+
+```cpp
+HRESULT GetOSThreadId (
+ [out] DWORD *pOsTid
+);
+```
+
+## Parameters
+
+ `pOsTid`
+ [out] A pointer to the OS thread identifier.
+
+## Remarks
+
+The OS thread is used instead of an ICorDebugThread to allow for situations in which an MDA is fired either on a native thread or on a managed thread that has not yet entered managed code.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugMDA Interface](icordebugmda-interface.md)
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getxml-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getxml-method.md
new file mode 100644
index 0000000000000..711fc75492e7e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-getxml-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugMDA::GetXML Method"
+title: "ICorDebugMDA::GetXML Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA.GetXML"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA::GetXML"
+helpviewer_keywords:
+ - "ICorDebugMDA::GetXML method [.NET debugging]"
+ - "GetXML method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA::GetXML Method
+
+Gets the full XML stream associated with the managed debugging assistant (MDA) represented by [ICorDebugMDA](icordebugmda-interface.md).
+
+## Syntax
+
+```cpp
+HRESULT GetXML (
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)]
+ WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The size of the `szName` array.
+
+ `pcchName`
+ [out] A pointer to the length of the XML stream.
+
+ `szName`
+ [out] An array in which to store the XML stream. The array may be empty.
+
+## Remarks
+
+The `GetXML` method can potentially affect performance, depending on the size of the associated XML stream.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugMDA Interface](icordebugmda-interface.md)
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-interface.md
new file mode 100644
index 0000000000000..291fcb3c9e4e9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmda-interface.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugMDA Interface"
+title: "ICorDebugMDA Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMDA"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMDA"
+helpviewer_keywords:
+ - "ICorDebugMDA interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMDA Interface
+
+Represents a managed debugging assistant (MDA) message.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetDescription Method](icordebugmda-getdescription-method.md)|Gets a string containing a description of this MDA.|
+|[GetFlags Method](icordebugmda-getflags-method.md)|Gets the flags associated with this MDA.|
+|[GetName Method](icordebugmda-getname-method.md)|Gets a string containing the name of this MDA.|
+|[GetOSThreadId Method](icordebugmda-getosthreadid-method.md)|Gets the operating system thread identifier upon which this MDA is executing.|
+|[GetXML Method](icordebugmda-getxml-method.md)|Gets the full XML stream associated with this MDA.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [Diagnose Errors with Managed Debugging Assistants](../../../../framework/debug-trace-profile/diagnosing-errors-with-managed-debugging-assistants.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getsize-method.md
new file mode 100644
index 0000000000000..fba93d72cdb4d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getsize-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugMemoryBuffer::GetSize Method"
+title: "ICorDebugMemoryBuffer::GetSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMemoryBuffer::GetSize Method
+
+Gets the size of the memory buffer in bytes.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcbBufferLength
+);
+```
+
+## Parameters
+
+ `pcbBufferLength`
+ [out] A pointer to the size of the memory buffer.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMemoryBuffer Interface](icordebugmemorybuffer-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getstartaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getstartaddress-method.md
new file mode 100644
index 0000000000000..c72443f4dd2fb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-getstartaddress-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugMemoryBuffer::GetStartAddress Method"
+title: "ICorDebugMemoryBuffer::GetStartAddress Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMemoryBuffer::GetStartAddress Method
+
+Gets the starting address of the memory buffer.
+
+## Syntax
+
+```cpp
+HRESULT GetStartAddress(
+ [out] LPCVOID *address
+);
+```
+
+## Parameters
+
+ `address`
+ [out] A pointer to the starting address of the memory buffer.
+
+## Remarks
+
+> [!WARNING]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMemoryBuffer Interface](icordebugmemorybuffer-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-interface.md
new file mode 100644
index 0000000000000..3183e8381617e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmemorybuffer-interface.md
@@ -0,0 +1,30 @@
+---
+description: "Learn more about: ICorDebugMemoryBuffer Interface"
+title: "ICorDebugMemoryBuffer Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugMemoryBuffer Interface
+
+Represents an in-memory buffer.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetSize Method](icordebugmemorybuffer-getsize-method.md)|Gets the size of the memory buffer in bytes.|
+|[GetStartAddress Method](icordebugmemorybuffer-getstartaddress-method.md)|Gets the starting address of the memory buffer.|
+
+## Remarks
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getculture-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getculture-method.md
new file mode 100644
index 0000000000000..65628db634a71
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getculture-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugMergedAssemblyRecord::GetCulture Method"
+title: "ICorDebugMergedAssemblyRecord::GetCulture Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMergedAssemblyRecord::GetCulture Method
+
+Gets the culture name string of the assembly.
+
+## Syntax
+
+```cpp
+HRESULT GetCulture(
+ [in] ULONG32 cchCulture,
+ [out] ULONG32 *pcchCulture,
+ [out, size_is(cchCulture), length_is(*pcchCulture)] WCHAR szCulture[]
+);
+```
+
+## Parameters
+
+ `cchCulture`
+ [in] The number of characters in the `szCulture` buffer.
+
+ `pcchCulture`
+ [out] The number of characters actually written to the `szCulture` buffer.
+
+ `szCulture`
+ [out] A character array that contains the culture name.
+
+## Remarks
+
+The culture name is a unique string that identifies a culture, such as "en-US" (for the English (United States) culture), or "neutral" (for a neutral culture).
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getindex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getindex-method.md
new file mode 100644
index 0000000000000..1376bc2502aef
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getindex-method.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugMergedAssemblyRecord::GetIndex Method"
+title: "ICorDebugMergedAssemblyRecord::GetIndex Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMergedAssemblyRecord::GetIndex Method
+
+Gets the assembly's prefix index.
+
+## Syntax
+
+```cpp
+HRESULT GetIndex(
+ [out] ULONG32 *pIndex
+);
+```
+
+## Parameters
+
+ `pIndex`
+ [out] A pointer to the prefix index.
+
+## Remarks
+
+The prefix index is used to prevent name collisions in the merged metadata type names.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getpublickey-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickey-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getpublickey-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickey-method.md
index dbe239f34837c..31389fe3b1a37 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-getpublickey-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickey-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugMergedAssemblyRecord::GetPublicKey Method"
title: "ICorDebugMergedAssemblyRecord::GetPublicKey Method"
ms.date: "03/30/2017"
-ms.assetid: 6f4e78ba-082b-489d-8b58-4c35fbcc7a5b
---
# ICorDebugMergedAssemblyRecord::GetPublicKey Method
@@ -35,15 +34,14 @@ HRESULT GetPublicKey(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickeytoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickeytoken-method.md
new file mode 100644
index 0000000000000..e3fae176d0f4d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getpublickeytoken-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugMergedAssemblyRecord::GetPublicKeyToken Method"
+title: "ICorDebugMergedAssemblyRecord::GetPublicKeyToken Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMergedAssemblyRecord::GetPublicKeyToken Method
+
+Gets the assembly's public key token.
+
+## Syntax
+
+```cpp
+HRESULT GetPublicKeyToken(
+ [in] ULONG32 cbPublicKeyToken,
+ [out] ULONG32 *pcbPublicKeyToken,
+ [out, size_is(cbPublicKeyToken), length_is(*pcbPublicKeyToken)] BYTE pbPublicKeyToken[]
+);
+```
+
+## Parameters
+
+ `cbPublicKeyToken`
+ [in] The maximum number of bytes in the `pbPublicKeyToken` array.
+
+ `pcbPublicKeyToken`
+ [out] A pointer to the actual number of bytes written to the `pbPublicKeyToken` array.
+
+ `pbPublicKeyToken`
+ [out] A pointer to a byte array that contains the assembly's public key token.
+
+## Remarks
+
+An assembly's public key token is the last eight bytes of a SHA1 hash of its public key.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getsimplename-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getsimplename-method.md
new file mode 100644
index 0000000000000..9a47b77022622
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getsimplename-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugMergedAssemblyRecord::GetSimpleName Method"
+title: "ICorDebugMergedAssemblyRecord::GetSimpleName Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMergedAssemblyRecord::GetSimpleName Method
+
+Gets the simple name of the assembly.
+
+## Syntax
+
+```cpp
+HRESULT GetSimpleName(
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)] WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The number of characters in the `szName` buffer.
+
+ `pcchName`
+ [out] A pointer to the number of characters actually written to the `szName` buffer.
+
+ `szName`
+A pointer to a character array.
+
+## Remarks
+
+This method retrieves the simple name of an assembly (such as "System.Collections"), without a file extension, version, culture, or public key token. It corresponds to the property in managed code.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getversion-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getversion-method.md
new file mode 100644
index 0000000000000..cd7035b9185a8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-getversion-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugMergedAssemblyRecord::GetVersion Method"
+title: "ICorDebugMergedAssemblyRecord::GetVersion Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMergedAssemblyRecord::GetVersion Method
+
+Gets the assembly's version information.
+
+## Syntax
+
+```cpp
+HRESULT GetVersion(
+ [out] USHORT *pMajor,
+ [out] USHORT *pMinor,
+ [out] USHORT *pBuild,
+ [out] USHORT *pRevision
+);
+```
+
+## Parameters
+
+ `pMajor`
+ [out] A pointer to the major version number.
+
+ `pMinor`
+ [out] A pointer to the minor version number.
+
+ `pBuild`
+ [out] A pointer to the build number.
+
+ `pRevision`
+ [out] A pointer to the revision number.
+
+## Remarks
+
+For information on assembly version numbers, see the class topic.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMergedAssemblyRecord Interface](icordebugmergedassemblyrecord-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-interface.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-interface.md
index 4f648df8c2c23..2cfb276079886 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmergedassemblyrecord-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmergedassemblyrecord-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugMergedAssemblyRecord Interface"
title: "ICorDebugMergedAssemblyRecord Interface"
ms.date: "03/30/2017"
-ms.assetid: fe280b11-9479-4e34-a07c-0d1ea8088422
---
# ICorDebugMergedAssemblyRecord Interface
@@ -26,15 +25,10 @@ Provides information about a merged assembly.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-getmetadata-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-getmetadata-method.md
new file mode 100644
index 0000000000000..47490d53885e8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-getmetadata-method.md
@@ -0,0 +1,86 @@
+---
+description: "Learn more about: ICorDebugMetaDataLocator::GetMetaData Method"
+title: "ICorDebugMetaDataLocator::GetMetaData Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMetaDataLocator.GetMetaData"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMetaDataLocator::GetMetaData"
+helpviewer_keywords:
+ - "ICorDebugMetaDataLocator::GetMetaData method [.NET debugging]"
+ - "GetMetaData method, ICorDebugMetaDataLocator interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMetaDataLocator::GetMetaData Method
+
+Asks the debugger to return the full path to a module whose metadata is needed to complete an operation the debugger requested.
+
+## Syntax
+
+```cpp
+HRESULT GetMetaData(
+ [in] LPCWSTR wszImagePath,
+ [in] DWORD dwImageTimeStamp,
+ [in] DWORD dwImageSize,
+ [in] ULONG32 cchPathBuffer,
+ [out] ULONG32 * pcchPathBuffer,
+ [out, size_is(cchPathBuffer), length_is(*pcchPathBuffer)]
+ WCHAR wszPathBuffer[]
+ );
+```
+
+## Parameters
+
+ `wszImagePath`
+ [in] A null-terminated string that represents the full path to the file. If the full path is not available, the name and extension of the file (*filename*.*extension*).
+
+ `dwImageTimeStamp`
+ [in] The time stamp from the image's PE file headers. This parameter can potentially be used for a symbol server ([SymSrv](/windows/desktop/debug/using-symsrv)) lookup.
+
+ `dwImageSize`
+ [in] The image size from PE file headers. This parameter can potentially be used for a SymSrv lookup.
+
+ `cchPathBuffer`
+ [in] The character count in `wszPathBuffer`.
+
+ `pcchPathBuffer`
+ [out] The count of `WCHAR`s written to `wszPathBuffer`.
+
+If the method returns E_NOT_SUFFICIENT_BUFFER, contains the count of `WCHAR`s needed to store the path.
+
+ `wszPathBuffer`
+ [out] Pointer to a buffer into which the debugger will copy the full path of the file that contains the requested metadata.
+
+The `ofReadOnly` flag from the [CorOpenFlags](../../metadata/enumerations/coropenflags-enumeration.md) enumeration is used to request read-only access to the metadata in this file.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure. All other failure HRESULTs indicate that the file is not retrievable.
+
+| HRESULT | Description |
+|---------|-------------|
+| S_OK | The method completed successfully. `wszPathBuffer` contains the full path to the file and is null-terminated. |
+| E_NOT_SUFFICIENT_BUFFER | The current size of `wszPathBuffer` is not sufficient to hold the full path. In this case, `pcchPathBuffer` contains the needed count of `WCHAR`s, including the terminating null character, and `GetMetaData` is called a second time with the requested buffer size. |
+
+## Remarks
+
+If `wszImagePath` contains a full path for a module from a dump, it specifies the path from the computer where the dump was collected. The file may not exist at this location, or an incorrect file with the same name may be stored on the path.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugThread4 Interface](icordebugthread4-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-interface.md
new file mode 100644
index 0000000000000..4339a632b818b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmetadatalocator-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugMetaDataLocator Interface"
+title: "ICorDebugMetaDataLocator Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugMetaDataLocator"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugMetaDataLocator"
+helpviewer_keywords:
+ - "ICorDebugMetaDataLocator interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugMetaDataLocator Interface
+
+Provides metadata information to the debugger.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetMetaData Method](icordebugmetadatalocator-getmetadata-method.md)|Asks the debugger to return the full path to a module whose metadata is needed to complete an operation the debugger requested.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-createbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-createbreakpoint-method.md
new file mode 100644
index 0000000000000..aa38a638ba345
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-createbreakpoint-method.md
@@ -0,0 +1,33 @@
+---
+description: "Learn more about: ICorDebugModule::CreateBreakpoint Method"
+title: "ICorDebugModule::CreateBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.CreateBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::CreateBreakpoint"
+helpviewer_keywords:
+ - "CreateBreakpoint method, ICorDebugModule interface [.NET debugging]"
+ - "ICorDebugModule::CreateBreakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::CreateBreakpoint Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT CreateBreakpoint(
+ [out] ICorDebugModuleBreakpoint **ppBreakpoint
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enableclassloadcallbacks-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enableclassloadcallbacks-method.md
new file mode 100644
index 0000000000000..cf8b2929a5cee
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enableclassloadcallbacks-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugModule::EnableClassLoadCallbacks Method"
+title: "ICorDebugModule::EnableClassLoadCallbacks Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.EnableClassLoadCallbacks"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::EnableClassLoadCallbacks"
+helpviewer_keywords:
+ - "ICorDebugModule::EnableClassLoadCallbacks method [.NET debugging]"
+ - "EnableClassLoadCallbacks method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::EnableClassLoadCallbacks Method
+
+Controls whether the [ICorDebugManagedCallback::LoadClass](icordebugmanagedcallback-loadclass-method.md) and [ICorDebugManagedCallback::UnloadClass](icordebugmanagedcallback-unloadclass-method.md) callbacks are called for this module.
+
+## Syntax
+
+```cpp
+HRESULT EnableClassLoadCallbacks(
+ [in] BOOL bClassLoadCallbacks
+);
+```
+
+## Parameters
+
+ `bClassLoadCallbacks`
+ [in] Set this value to `true` to enable the common language runtime (CLR) to call the `ICorDebugManagedCallback::LoadClass` and `ICorDebugManagedCallback::UnloadClass` methods when their associated events occur.
+
+The default value is `false` for non-dynamic modules. The value is always `true` for dynamic modules and cannot be changed.
+
+## Remarks
+
+The `ICorDebugManagedCallback::LoadClass` and `ICorDebugManagedCallback::UnloadClass` callbacks are always enabled for dynamic modules and cannot be disabled.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enablejitdebugging-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enablejitdebugging-method.md
new file mode 100644
index 0000000000000..5bb62a91362bc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-enablejitdebugging-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugModule::EnableJITDebugging Method"
+title: "ICorDebugModule::EnableJITDebugging Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.EnableJITDebugging"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::EnableJITDebugging"
+helpviewer_keywords:
+ - "ICorDebugModule::EnableJITDebugging method [.NET debugging]"
+ - "EnableJITDebugging method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::EnableJITDebugging Method
+
+Controls whether the just-in-time (JIT) compiler preserves debugging information for methods within this module.
+
+## Syntax
+
+```cpp
+HRESULT EnableJITDebugging(
+ [in] BOOL bTrackJITInfo,
+ [in] BOOL bAllowJitOpts
+);
+```
+
+## Parameters
+
+ `bTrackJITInfo`
+ [in] Set this value to `true` to enable the JIT compiler to preserve mapping information between the common intermediate language (CIL) version and the JIT-compiled version of each method in this module.
+
+ `bAllowJitOpts`
+ [in] Set this value to `true` to enable the JIT compiler to generate code with certain JIT-specific optimizations for debugging.
+
+## Remarks
+
+JIT debugging is enabled by default for all modules that are loaded when the debugger is active. Programmatically enabling or disabling the settings overrides global settings.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getassembly-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getassembly-method.md
new file mode 100644
index 0000000000000..75e2d325f03ca
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getassembly-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugModule::GetAssembly Method"
+title: "ICorDebugModule::GetAssembly Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetAssembly"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetAssembly"
+helpviewer_keywords:
+ - "ICorDebugModule::GetAssembly method [.NET debugging]"
+ - "GetAssembly method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetAssembly Method
+
+Gets the containing assembly for this module.
+
+## Syntax
+
+```cpp
+HRESULT GetAssembly(
+ [out] ICorDebugAssembly **ppAssembly
+);
+```
+
+## Parameters
+
+ `ppAssembly`
+ [out] A pointer to an ICorDebugAssembly object that represents the assembly containing this module.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getbaseaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getbaseaddress-method.md
new file mode 100644
index 0000000000000..d372127771c09
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getbaseaddress-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugModule::GetBaseAddress Method"
+title: "ICorDebugModule::GetBaseAddress Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetBaseAddress"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetBaseAddress"
+helpviewer_keywords:
+ - "GetBaseAddress method [.NET debugging]"
+ - "ICorDebugModule::GetBaseAddress method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetBaseAddress Method
+
+Gets the base address of the module.
+
+## Syntax
+
+```cpp
+HRESULT GetBaseAddress(
+ [out] CORDB_ADDRESS *pAddress
+);
+```
+
+## Parameters
+
+ `pAddress`
+ [out] A `CORDB_ADDRESS` that specifies the base address of the module.
+
+## Remarks
+
+If the module is a native image (that is, if the module was produced by the native image generator, NGen.exe), its base address will be zero.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getclassfromtoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getclassfromtoken-method.md
new file mode 100644
index 0000000000000..c913c60fbec19
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getclassfromtoken-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugModule::GetClassFromToken Method"
+title: "ICorDebugModule::GetClassFromToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetClassFromToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetClassFromToken"
+helpviewer_keywords:
+ - "GetClassFromToken method, ICorDebugModule interface [.NET debugging]"
+ - "ICorDebugModule::GetClassFromToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetClassFromToken Method
+
+Gets the class specified by the metadata token.
+
+## Syntax
+
+```cpp
+HRESULT GetClassFromToken(
+ [in] mdTypeDef typeDef,
+ [out] ICorDebugClass **ppClass
+);
+```
+
+## Parameters
+
+ `typedef`
+ [in] An `mdTypeDef` metadata token that references the metadata of a class.
+
+ `ppClass`
+ [out] A pointer to the address of an ICorDebugClass object that represents the class.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-geteditandcontinuesnapshot-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-geteditandcontinuesnapshot-method.md
new file mode 100644
index 0000000000000..b9ea45719e872
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-geteditandcontinuesnapshot-method.md
@@ -0,0 +1,39 @@
+---
+description: "Learn more about: ICorDebugModule::GetEditAndContinueSnapshot Method"
+title: "ICorDebugModule::GetEditAndContinueSnapshot Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetEditAndContinueSnapshot"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetEditAndContinueSnapshot"
+helpviewer_keywords:
+ - "ICorDebugModule::GetEditAndContinueSnapshot method [.NET debugging]"
+ - "GetEditAndContinueSnapshot method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetEditAndContinueSnapshot Method
+
+Deprecated.
+
+## Syntax
+
+```cpp
+HRESULT GetEditAndContinueSnapshot(
+ [out] ICorDebugEditAndContinueSnapshot **ppEditAndContinueSnapshot
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromrva-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromrva-method.md
new file mode 100644
index 0000000000000..3f859adf36f88
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromrva-method.md
@@ -0,0 +1,36 @@
+---
+description: "Learn more about: ICorDebugModule::GetFunctionFromRVA Method"
+title: "ICorDebugModule::GetFunctionFromRVA Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetFunctionFromRVA"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetFunctionFromRVA"
+helpviewer_keywords:
+ - "GetFunctionFromRVA method [.NET debugging]"
+ - "ICorDebugModule::GetFunctionFromRVA method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetFunctionFromRVA Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetFunctionFromRVA(
+ [in] CORDB_ADDRESS rva,
+ [out] ICorDebugFunction **ppFunction
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromtoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromtoken-method.md
new file mode 100644
index 0000000000000..a4705d981d5e8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getfunctionfromtoken-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugModule::GetFunctionFromToken Method"
+title: "ICorDebugModule::GetFunctionFromToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetFunctionFromToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetFunctionFromToken"
+helpviewer_keywords:
+ - "GetFunctionFromToken method, ICorDebugModule interface [.NET debugging]"
+ - "ICorDebugModule::GetFunctionFromToken method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetFunctionFromToken Method
+
+Gets the function that is specified by the metadata token.
+
+## Syntax
+
+```cpp
+HRESULT GetFunctionFromToken(
+ [in] mdMethodDef methodDef,
+ [out] ICorDebugFunction **ppFunction
+);
+```
+
+## Parameters
+
+ `methodDef`
+ [in] A `mdMethodDef` metadata token that references the function's metadata.
+
+ `ppFunction`
+ [out] A pointer to the address of a ICorDebugFunction interface object that represents the function.
+
+## Remarks
+
+The `GetFunctionFromToken` method returns a CORDBG_E_FUNCTION_NOT_IL HRESULT if the value passed in `methodDef` does not refer to a common intermediate language (CIL) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getglobalvariablevalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getglobalvariablevalue-method.md
new file mode 100644
index 0000000000000..b5010b061c8f0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getglobalvariablevalue-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugModule::GetGlobalVariableValue Method"
+title: "ICorDebugModule::GetGlobalVariableValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetGlobalVariableValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetGlobalVariableValue"
+helpviewer_keywords:
+ - "ICorDebugModule::GetGlobalVariableValue method [.NET debugging]"
+ - "GetGlobalVariableValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetGlobalVariableValue Method
+
+Gets the value of the specified global variable.
+
+## Syntax
+
+```cpp
+HRESULT GetGlobalVariableValue(
+ [in] mdFieldDef fieldDef,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `fieldDef`
+ [in] An `mdFieldDef` token that references the metadata describing the global variable.
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue object that represents the value of the specified global variable.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getmetadatainterface-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getmetadatainterface-method.md
new file mode 100644
index 0000000000000..0acb574e3487a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getmetadatainterface-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugModule::GetMetaDataInterface Method"
+title: "ICorDebugModule::GetMetaDataInterface Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetMetaDataInterface"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetMetaDataInterface"
+helpviewer_keywords:
+ - "ICorDebugModule::GetMetaDatainterface method [.NET debugging]"
+ - "GetMetaDatainterface method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetMetaDataInterface Method
+
+Gets a metadata interface object that can be used to examine the metadata for the module.
+
+## Syntax
+
+```cpp
+HRESULT GetMetaDataInterface (
+ [in] REFIID riid,
+ [out] IUnknown **ppObj
+);
+```
+
+## Parameters
+
+ `riid`
+ [in] The reference ID that specifies the metadata interface.
+
+ `ppObj`
+ [out] A pointer to the address of an `T:IUnknown` object that is one of the [metadata interfaces](../../metadata/interfaces/metadata-interfaces.md).
+
+## Remarks
+
+The debugger can use the `GetMetaDataInterface` method to make a copy of the original metadata for a module, which it must do in order to edit that module. The debugger calls `GetMetaDataInterface` to get an [IMetaDataEmit](../../metadata/interfaces/imetadataemit-interface.md) interface object for the module, then calls [IMetaDataEmit::SaveToMemory](../../metadata/interfaces/imetadataemit-savetomemory-method.md) to save a copy of the module's metadata to memory.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getname-method.md
new file mode 100644
index 0000000000000..f3755dd1b1a29
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getname-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugModule::GetName Method"
+title: "ICorDebugModule::GetName Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetName"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetName"
+helpviewer_keywords:
+ - "ICorDebugModule::GetName method [.NET debugging]"
+ - "GetName method, ICorDebugModule interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetName Method
+
+Gets the file name of the module.
+
+## Syntax
+
+```cpp
+HRESULT GetName(
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)] WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchname`
+ [in] The size of the `szName` array.
+
+ `pcchName`
+ [in] A pointer to the length of the returned name.
+
+ `szName`
+ [out] An array that stores the returned name.
+
+## Remarks
+
+The `GetName` method returns an S_OK HRESULT if the module's file name matches the name on disk. `GetName` returns an S_FALSE HRESULT if the name is fabricated, such as for a dynamic or in-memory module.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getprocess-method.md
new file mode 100644
index 0000000000000..23d7afc82a7e9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getprocess-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugModule::GetProcess Method"
+title: "ICorDebugModule::GetProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetProcess"
+helpviewer_keywords:
+ - "GetProcess method, ICorDebugModule interface [.NET debugging]"
+ - "ICorDebugModule::GetProcess method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetProcess Method
+
+Gets the containing process of this module.
+
+## Syntax
+
+```cpp
+HRESULT GetProcess (
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `ppProcess`
+ [out] A pointer to the address of an ICorDebugProcess object that represents the process containing this module.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getsize-method.md
new file mode 100644
index 0000000000000..af4cdf3ef5d52
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-getsize-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugModule::GetSize Method"
+title: "ICorDebugModule::GetSize Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetSize"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetSize"
+helpviewer_keywords:
+ - "GetSize method, ICorDebugModule interface [.NET debugging]"
+ - "ICorDebugModule::GetSize method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetSize Method
+
+Gets the size, in bytes, of the module.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcBytes
+);
+```
+
+## Parameters
+
+ `pcBytes`
+ [out] The size of the module in bytes.
+
+If the module was produced from the native image generator (NGen.exe), the size of the module will be zero.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-gettoken-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-gettoken-method.md
new file mode 100644
index 0000000000000..0f16f6293662c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-gettoken-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugModule::GetToken Method"
+title: "ICorDebugModule::GetToken Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.GetToken"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::GetToken"
+helpviewer_keywords:
+ - "ICorDebugModule::GetToken method [.NET debugging]"
+ - "GetToken method, ICorDebugModule interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::GetToken Method
+
+Gets the token for the table entry for this module.
+
+## Syntax
+
+```cpp
+HRESULT GetToken(
+ [out] mdModule *pToken
+);
+```
+
+## Parameters
+
+ `pToken`
+ [out] A pointer to the `mdModule` token that references the module's metadata.
+
+## Remarks
+
+The token can be passed to the [IMetaDataImport](../../metadata/interfaces/imetadataimport-interface.md), [IMetaDataImport2](../../metadata/interfaces/imetadataimport2-interface.md), and [IMetaDataAssemblyImport](../../metadata/interfaces/imetadataassemblyimport-interface.md) metadata import interfaces.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmodule-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-interface.md
similarity index 89%
rename from docs/framework/unmanaged-api/debugging/icordebugmodule-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-interface.md
index df072cd05d726..e4ee358e8add5 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmodule-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugModule"
helpviewer_keywords:
- - "ICorDebugModule interface [.NET Framework debugging]"
-ms.assetid: 32e4d6fa-e5a3-413e-9166-d5e2871d3114
+ - "ICorDebugModule interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -49,15 +48,14 @@ Represents a common language runtime (CLR) module, which is either an executable
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
- [ICorDebug Interface](icordebug-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isdynamic-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isdynamic-method.md
new file mode 100644
index 0000000000000..7f007a33260a6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isdynamic-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugModule::IsDynamic Method"
+title: "ICorDebugModule::IsDynamic Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.IsDynamic"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::IsDynamic"
+helpviewer_keywords:
+ - "IsDynamic method [.NET debugging]"
+ - "ICorDebugModule::IsDynamic method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::IsDynamic Method
+
+Gets a value that indicates whether this module is dynamic.
+
+## Syntax
+
+```cpp
+HRESULT IsDynamic(
+ [out] BOOL *pDynamic
+);
+```
+
+## Parameters
+
+ `pDynamic`
+ [out] `true` if this module is dynamic; otherwise, `false`.
+
+## Remarks
+
+A dynamic module can add new classes and delete existing classes even after the module has been loaded. The [ICorDebugManagedCallback::LoadClass](icordebugmanagedcallback-loadclass-method.md) and [ICorDebugManagedCallback::UnloadClass](icordebugmanagedcallback-unloadclass-method.md) callbacks inform the debugger when a class has been added or deleted.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isinmemory-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isinmemory-method.md
new file mode 100644
index 0000000000000..0db4133f06fb8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule-isinmemory-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugModule::IsInMemory Method"
+title: "ICorDebugModule::IsInMemory Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule.IsInMemory"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule::IsInMemory"
+helpviewer_keywords:
+ - "IsInMemory method [.NET debugging]"
+ - "ICorDebugModule::IsInMemory method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule::IsInMemory Method
+
+Gets a value that indicates whether this module exists only in memory.
+
+## Syntax
+
+```cpp
+HRESULT IsInMemory(
+ [out] BOOL *pInMemory
+);
+```
+
+## Parameters
+
+ `pInMemory`
+ [out] `true` if this module exists only in memory; otherwise, `false`.
+
+## Remarks
+
+The common language runtime (CLR) supports the loading of modules from raw streams of bytes. Such modules are called *in-memory modules* and do not exist on disk.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-applychanges-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-applychanges-method.md
new file mode 100644
index 0000000000000..74891c74c5a71
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-applychanges-method.md
@@ -0,0 +1,70 @@
+---
+description: "Learn more about: ICorDebugModule2::ApplyChanges Method"
+title: "ICorDebugModule2::ApplyChanges Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule2.ApplyChanges"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule2::ApplyChanges"
+helpviewer_keywords:
+ - "ApplyChanges method [.NET debugging]"
+ - "ICorDebugModule2::ApplyChanges method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule2::ApplyChanges Method
+
+Applies the changes in the metadata and the changes in the common intermediate language (CIL) code to the running process.
+
+## Syntax
+
+```cpp
+HRESULT ApplyChanges (
+ [in] ULONG cbMetadata,
+ [in, size_is(cbMetadata)] BYTE pbMetadata[],
+ [in] ULONG cbIL,
+ [in, size_is(cbIL)] BYTE pbIL[]
+);
+```
+
+## Parameters
+
+ `cbMetadata`
+ [in] Size, in bytes, of the delta metadata.
+
+ `pbMetadata`
+ [in] Buffer that contains the delta metadata. The address of the buffer is returned from the [IMetaDataEmit2::SaveDeltaToMemory](../../metadata/interfaces/imetadataemit2-savedeltatomemory-method.md) method.
+
+The relative virtual addresses (RVAs) in the metadata should be relative to the start of the CIL code.
+
+ `cbIL`
+ [in] Size, in bytes, of the delta CIL code.
+
+ `pbIL`
+ [in] Buffer that contains the updated CIL code.
+
+## Remarks
+
+The `pbMetadata` parameter is in a special delta metadata format (as output by [IMetaDataEmit2::SaveDeltaToMemory](../../metadata/interfaces/imetadataemit2-savedeltatomemory-method.md)). `pbMetadata` takes previous metadata as a base and describes individual changes to apply to that base.
+
+In contrast, the `pbIL[`] parameter contains the new CIL for the updated method, and is meant to completely replace the previous CIL for that method
+
+When the delta CIL and the metadata have been created in the debugger’s memory, the debugger calls `ApplyChanges` to send the changes into the common language runtime (CLR). The runtime updates its metadata tables, places the new CIL into the process, and sets up a just-in-time (JIT) compilation of the new CIL. When the changes have been applied, the debugger should call [IMetaDataEmit2::ResetENCLog](../../metadata/interfaces/imetadataemit2-resetenclog-method.md) to prepare for the next editing session. The debugger may then continue the process.
+
+Whenever the debugger calls `ApplyChanges` on a module that has delta metadata, it should also call [IMetaDataEmit::ApplyEditAndContinue](../../metadata/interfaces/imetadataemit-applyeditandcontinue-method.md) with the same delta metadata on all of its copies of that module’s metadata except for the copy used to emit the changes. If a copy of the metadata somehow becomes out-of-sync with the actual metadata, the debugger can always throw away that copy and obtain a new copy.
+
+If the `ApplyChanges` method fails, the debug session is in an invalid state and must be restarted.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-getjitcompilerflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-getjitcompilerflags-method.md
new file mode 100644
index 0000000000000..ec7ca1fcac160
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-getjitcompilerflags-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugModule2::GetJITCompilerFlags Method"
+title: "ICorDebugModule2::GetJITCompilerFlags Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule2.GetJITCompilerFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule2::GetJITCompilerFlags"
+helpviewer_keywords:
+ - "GetJITCompilerFlags method [.NET debugging]"
+ - "ICorDebugModule2::GetJITCompilerFlags method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule2::GetJITCompilerFlags Method
+
+Gets the flags that control the just-in-time (JIT) compilation of this ICorDebugModule2.
+
+## Syntax
+
+```cpp
+HRESULT GetJITCompilerFlags (
+ [out] DWORD *pdwFlags
+);
+```
+
+## Parameters
+
+ `pdwFlags`
+ [out] A pointer to a value of the [CorDebugJITCompilerFlags](cordebugjitcompilerflags-enumeration.md) enumeration that controls the JIT compilation.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmodule2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-interface.md
similarity index 81%
rename from docs/framework/unmanaged-api/debugging/icordebugmodule2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-interface.md
index 6adf72f0e41aa..d7278be17d920 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmodule2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugModule2"
helpviewer_keywords:
- - "ICorDebugModule2 interface [.NET Framework debugging]"
-ms.assetid: 0847e64f-fdbe-4c96-8168-da20fdc84d80
+ - "ICorDebugModule2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -37,14 +36,10 @@ Serves as a logical extension to the ICorDebugModule interface.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-resolveassembly-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-resolveassembly-method.md
new file mode 100644
index 0000000000000..09dd5440eecd5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-resolveassembly-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugModule2::ResolveAssembly Method"
+title: "ICorDebugModule2::ResolveAssembly Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule2.ResolveAssembly"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule2::ResolveAssembly"
+helpviewer_keywords:
+ - "ICorDebugModule2::ResolveAssembly method [.NET debugging]"
+ - "ResolveAssembly method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+
+# ICorDebugModule2::ResolveAssembly Method
+
+Resolves the assembly referenced by the specified metadata token.
+
+## Syntax
+
+```cpp
+HRESULT ResolveAssembly (
+ [in] mdToken tkAssemblyRef,
+ [out] ICorDebugAssembly **ppAssembly
+);
+```
+
+## Parameters
+
+`tkAssemblyRef`\
+[in] An `mdToken` value that references the assembly.
+
+`ppAssembly`\
+[out] A pointer to the address of an ICorDebugAssembly object that represents the assembly.
+
+## Remarks
+
+If the assembly is not already loaded when `ResolveAssembly` is called, an HRESULT value of CORDBG_E_CANNOT_RESOLVE_ASSEMBLY is returned.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjitcompilerflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjitcompilerflags-method.md
new file mode 100644
index 0000000000000..332b15a2599f3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjitcompilerflags-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugModule2::SetJITCompilerFlags Method"
+title: "ICorDebugModule2::SetJITCompilerFlags Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule2.SetJITCompilerFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule2::SetJITCompilerFlags"
+helpviewer_keywords:
+ - "ICorDebugModule2::SetJITCompilerFlags method [.NET debugging]"
+ - "SetJITCompilerFlags method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule2::SetJITCompilerFlags Method
+
+Sets the flags that control the just-in-time (JIT) compilation of this ICorDebugModule2.
+
+## Syntax
+
+```cpp
+HRESULT SetJITCompilerFlags (
+ [in] DWORD dwFlags
+);
+```
+
+## Parameters
+
+ `dwFlags`
+ [in] A bitwise combination of the [CorDebugJITCompilerFlags](cordebugjitcompilerflags-enumeration.md) enumeration values.
+
+## Remarks
+
+If the `dwFlags` value is invalid, the `SetJITCompilerFlags` method will fail.
+
+The `SetJITCompilerFlags` method can be called only from within the [ICorDebugManagedCallback::LoadModule](icordebugmanagedcallback-loadmodule-method.md) callback for this module. Attempts to call it after the `ICorDebugManagedCallback::LoadModule` callback has been delivered will fail.
+
+Edit and Continue is not supported on 64-bit or Win9x platforms. Therefore, if you call the `SetJITCompilerFlags` method on either of these two platforms with the CORDEBUG_JIT_ENABLE_ENC flag set in `dwFlags`, the `SetJITCompilerFlags` method and all methods specific to Edit and Continue, such as [ICorDebugModule2::ApplyChanges](icordebugmodule2-applychanges-method.md), will fail.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjmcstatus-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjmcstatus-method.md
new file mode 100644
index 0000000000000..bfe0daa698bc3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule2-setjmcstatus-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugModule2::SetJMCStatus Method"
+title: "ICorDebugModule2::SetJMCStatus Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule2.SetJMCStatus"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule2::SetJMCStatus"
+helpviewer_keywords:
+ - "SetJMCStatus method, ICorDebugModule2 interface [.NET debugging]"
+ - "ICorDebugModule2::SetJMCStatus method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule2::SetJMCStatus Method
+
+Sets the Just My Code (JMC) status of all methods of all the classes in this ICorDebugModule2 to the specified value, except those in the `pTokens` array, which it sets to the opposite value.
+
+## Syntax
+
+```cpp
+HRESULT SetJMCStatus (
+ [in] BOOL bIsJustMyCode,
+ [in] ULONG32 cTokens,
+ [in, size_is(cTokens)] mdToken pTokens[]
+);
+```
+
+## Parameters
+
+ `bIsJustMycode`
+ [in] Set to `true` if the code is to be debugged; otherwise, set to `false`.
+
+ `cTokens`
+ [in] The size of the `pTokens` array.
+
+ `pTokens`
+ [in] An array of `mdToken` values, each of which refers to a method that will have its JMC status set to !`bIsJustMycode`.
+
+## Remarks
+
+The JMC status of each method that is specified in the `pTokens` array is set to the opposite of the `bIsJustMycode` value. The status of all other methods in this module is set to the `bIsJustMycode` value.
+
+The `SetJMCStatus` method erases all previous JMC settings in this module.
+
+The `SetJMCStatus` method returns an S_OK HRESULT if all functions were set successfully. It returns a CORDBG_E_FUNCTION_NOT_DEBUGGABLE HRESULT if some functions that are marked `true` are not debuggable.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-createreaderforinmemorysymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-createreaderforinmemorysymbols-method.md
new file mode 100644
index 0000000000000..c0d2ee9eaf636
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-createreaderforinmemorysymbols-method.md
@@ -0,0 +1,74 @@
+---
+description: "Learn more about: ICorDebugModule3::CreateReaderForInMemorySymbols Method"
+title: "ICorDebugModule3::CreateReaderForInMemorySymbols Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule3.CreateReaderForInMemorySymbols"
+api_location:
+ - "CorDebug.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule3::CreateReaderForInMemorySymbols"
+helpviewer_keywords:
+ - "CreateReaderForInMemorySymbols method, ICorDebugModule3 interface [.NET debugging]"
+ - "ICorDebugModule3::CreateReaderForInMemorySymbols method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule3::CreateReaderForInMemorySymbols Method
+
+Creates a debug symbol reader for a dynamic module.
+
+## Syntax
+
+```cpp
+HRESULT CreateReaderForInMemorySymbols (
+ [in] REFIID riid,
+ [out][iid_is(riid)] void ** ppObj
+```
+
+## Parameters
+
+`riid`\
+[in] The IID of the COM interface to return. Typically, this is an [ISymUnmanagedReader Interface](../../../../framework/unmanaged-api/diagnostics/isymunmanagedreader-interface.md).
+
+`ppObj`\
+[out] Pointer to a pointer to the returned interface.
+
+## Return Value
+
+`S_OK`\
+Successfully created the reader.
+
+`CORDBG_E_MODULE_LOADED_FROM_DISK`\
+The module is not an in-memory or dynamic module.
+
+`CORDBG_E_SYMBOLS_NOT_AVAILABLE`\
+Symbols have not been supplied by the application or are not yet available.
+
+`E_FAIL` (or other `E_` return codes)\
+Unable to create the reader.
+
+## Remarks
+
+This method can also be used to create a symbol reader object for in-memory (non-dynamic) modules, but only after the symbols are first available (indicated by the [UpdateModuleSymbols Method](icordebugmanagedcallback-updatemodulesymbols-method.md) callback).
+
+This method returns a new reader instance every time it is called (like [CComPtrBase::CoCreateInstance](/cpp/atl/reference/ccomptrbase-class#cocreateinstance)). Therefore, the debugger should cache the result and request a new instance only when the underlying data may have changed (that is, when a [LoadClass Method](icordebugmanagedcallback-loadclass-method.md) callback is received).
+
+Dynamic modules do not have any symbols available until the first type has been loaded (as indicated by the [LoadClass Method](icordebugmanagedcallback-loadclass-method.md) callback).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 4.5, 4, 3.5 SP1
+
+## See also
+
+- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-interface.md
new file mode 100644
index 0000000000000..d8dec1ca5d126
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule3-interface.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugModule3 Interface"
+title: "ICorDebugModule3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModule3"
+api_location:
+ - "CorDebug.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModule3"
+helpviewer_keywords:
+ - "ICorDebugModule3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModule3 Interface
+
+Creates a symbol reader for a dynamic module.
+
+## Syntax
+
+```cpp
+interface ICorDebugModule3 : IUnknown
+{
+ HRESULT CreateReaderForInMemorySymbols
+ (
+ [in] REFIID riid,
+ [out][iid_is(riid)] void ** ppObj
+ );
+};
+```
+
+## Methods
+
+| Method | Description |
+|--------|-------------|
+|[ICorDebugModule3::CreateReaderForInMemorySymbols Method](icordebugmodule3-createreaderforinmemorysymbols-method.md)|Creates a symbol reader (typically [ISymUnmanagedReader Interface](../../../../framework/unmanaged-api/diagnostics/isymunmanagedreader-interface.md)) for a dynamic module.|
+
+## Remarks
+
+This interface logically extends the "ICorDebugModule" and "ICorDebugModule2" interfaces.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 4.5, 4, 3.5 SP1
+
+## See also
+
+- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmodule4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-interface.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/icordebugmodule4-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-interface.md
index 0020ceddd3b46..2316e087f6e85 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmodule4-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-interface.md
@@ -11,7 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugModule4"
helpviewer_keywords:
- - "ICorDebugModule4 interface [.NET Framework debugging]"
+ - "ICorDebugModule4 interface [.NET debugging]"
ms.assetid:
- "apiref"
---
@@ -38,14 +38,14 @@ interface ICorDebugModule4 : IUnknown
## Remarks
- This interface logically extends the 'ICorDebugModule', 'ICorDebugModule2', and 'ICoreDebugModule3' interfaces.
+This interface logically extends the 'ICorDebugModule', 'ICorDebugModule2', and 'ICoreDebugModule3' interfaces.
> [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
@@ -57,5 +57,3 @@ interface ICorDebugModule4 : IUnknown
- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
- [ICorDebug Interface](icordebug-interface.md)
-
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugmodule4-ismappedlayout-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-ismappedlayout-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugmodule4-ismappedlayout-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-ismappedlayout-method.md
index 3a1618bd0d3d5..bf045fa9984a7 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugmodule4-ismappedlayout-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodule4-ismappedlayout-method.md
@@ -11,8 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugModule4::IsMappedLayout"
helpviewer_keywords:
- - "IsMappedLayout method, ICorDebugModule4 interface [.NET Framework debugging]"
- - "ICorDebugModule4::IsMappedLayout method [.NET Framework debugging]"
+ - "IsMappedLayout method, ICorDebugModule4 interface [.NET debugging]"
+ - "ICorDebugModule4::IsMappedLayout method [.NET debugging]"
ms.assetid:
topic_type:
- "apiref"
@@ -37,10 +37,10 @@ HRESULT IsMappedLayout(
## Return Value
`S_OK`\
- Successfully created the reader.
+Successfully created the reader.
`S_FALSE`\
- The layout couldn't be determined.
+The layout couldn't be determined.
## Remarks
@@ -49,16 +49,15 @@ The `pIsMapped` value should only be interpreted as valid when this function ret
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** 4.5, 4, 3.5 SP1
+ **.NET versions:** 4.5, 4, 3.5 SP1
## See also
- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
- [ICorDebug Interface](icordebug-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-getmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-getmodule-method.md
new file mode 100644
index 0000000000000..a163cdebd73bf
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-getmodule-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugModuleBreakpoint::GetModule Method"
+title: "ICorDebugModuleBreakpoint::GetModule Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModuleBreakpoint.GetModule"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModuleBreakpoint::GetModule"
+helpviewer_keywords:
+ - "ICorDebugModuleBreakpoint::GetModule method [.NET debugging]"
+ - "GetModule method, ICorDebugModuleBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModuleBreakpoint::GetModule Method
+
+Gets an interface pointer to an "ICorDebugModule" that references the module in which this breakpoint is set.
+
+## Syntax
+
+```cpp
+HRESULT GetModule (
+ [out] ICorDebugModule **ppModule
+);
+```
+
+## Parameters
+
+ `ppModule`
+ [out] A pointer to the address of an `ICorDebugModule` interface that references the module in which the breakpoint is set.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-interface.md
new file mode 100644
index 0000000000000..3941816722ea6
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmodulebreakpoint-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugModuleBreakpoint Interface"
+title: "ICorDebugModuleBreakpoint Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModuleBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModuleBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugModuleBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModuleBreakpoint Interface
+
+Provides access to specific modules. This interface is a subclass of the ICorDebugBreakpoint interface.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetModule Method](icordebugmodulebreakpoint-getmodule-method.md)|Gets an interface pointer to an ICorDebugModule that references the module where this breakpoint is set.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-getmodule-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-getmodule-method.md
new file mode 100644
index 0000000000000..d389f518b17ab
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-getmodule-method.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugModuleDebugEvent::GetModule Method"
+title: "ICorDebugModuleDebugEvent::GetModule Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugModuleDebugEvent::GetModule Method
+
+Gets the merged module that was just loaded or unloaded.
+
+## Syntax
+
+```cpp
+HRESULT GetModule(
+ [out]ICorDebugModule **ppModule
+);
+```
+
+## Parameters
+
+ `ppModule`
+ [out] A pointer to the address of an ICorDebugModule object that represents the merged module that was just loaded or unloaded.
+
+## Remarks
+
+You can call the [GetEventKind](icordebugdebugevent-geteventkind-method.md) method to determine whether the module was loaded or unloaded.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugModuleDebugEvent Interface](icordebugmoduledebugevent-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-interface.md
new file mode 100644
index 0000000000000..ad6486ee03d68
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduledebugevent-interface.md
@@ -0,0 +1,31 @@
+---
+description: "Learn more about: ICorDebugModuleDebugEvent Interface"
+title: "ICorDebugModuleDebugEvent Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugModuleDebugEvent Interface
+
+Extends the [ICorDebugDebugEvent](icordebugdebugevent-interface.md) interface to support module-level events.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetModule Method](icordebugmoduledebugevent-getmodule-method.md)|Gets the merged module that was just loaded or unloaded.|
+
+## Remarks
+
+The [MODULE_LOADED](cordebugdebugeventkind-enumeration.md) and [MODULE_UNLOADED](cordebugdebugeventkind-enumeration.md) event types implement this interface.
+
+> [!NOTE]
+> The interface is available with .NET Native only. Attempting to call `QueryInterface` to retrieve an interface pointer returns `E_NOINTERFACE` for ICorDebug scenarios outside of .NET Native.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-interface.md
new file mode 100644
index 0000000000000..3fd8ee0ae6ecd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugModuleEnum Interface"
+title: "ICorDebugModuleEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModuleEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModuleEnum"
+helpviewer_keywords:
+ - "ICorDebugModuleEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModuleEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates ICorDebugModule arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugmoduleenum-next-method.md)|Gets the specified number of `ICorDebugModule` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-next-method.md
new file mode 100644
index 0000000000000..a110b78c8ce54
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmoduleenum-next-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugModuleEnum::Next Method"
+title: "ICorDebugModuleEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugModuleEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugModuleEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugModuleEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugModuleEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugModuleEnum::Next Method
+
+Gets the number of "ICorDebugModule" instances specified by `celt` from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugModule *modules[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugModule` instances to be retrieved.
+
+ `modules`
+ [out] An array of pointers, each of which points to an `ICorDebugModule` object.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugModule` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-continuestatuschanged-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-continuestatuschanged-method.md
new file mode 100644
index 0000000000000..e30dd9ff1387e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-continuestatuschanged-method.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugMutableDataTarget::ContinueStatusChanged Method"
+title: "ICorDebugMutableDataTarget::ContinueStatusChanged Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMutableDataTarget::ContinueStatusChanged Method
+
+Changes the continuation status for the outstanding debug event on the specified thread.
+
+## Syntax
+
+```cpp
+HRESULT ContinueStatusChanged(
+ [in] DWORD dwThreadId,
+ [in] CORDB_CONTINUE_STATUS continueStatus);
+```
+
+## Parameters
+
+ `dwThreadId`
+The operating system-defined thread identifier.
+
+ `continueStatus`
+A [COREDB_CONTINUE_STATUS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that represents the new requested continuation status.
+
+## Remarks
+
+The debugger calls the `ContinueStatusChanged` method when it calls an ICorDebug method that requires the current debug event to be handled in a way that is potentially different from the way in which it normally would be handled. For example, if there is an outstanding exception, and the debugger requests an operation that would cancel the exception (such as [ICorDebugILFrame::SetIP](icordebugilframe-setip-method.md) or `FuncEval`), this API is used to request that the exception be cancelled.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMutableDataTarget Interface](icordebugmutabledatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-interface.md
new file mode 100644
index 0000000000000..bd02ee1b2f141
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-interface.md
@@ -0,0 +1,34 @@
+---
+description: "Learn more about: ICorDebugMutableDataTarget Interface"
+title: "ICorDebugMutableDataTarget Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugMutableDataTarget Interface
+
+Extends the [ICorDebugDataTarget](icordebugdatatarget-interface.md) interface to support mutable data targets.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[ContinueStatusChanged Method](icordebugmutabledatatarget-continuestatuschanged-method.md)|Changes the continuation status for the outstanding debug event on the specified thread.|
+|[SetThreadContext Method](icordebugmutabledatatarget-setthreadcontext-method.md)|Sets the context (register values) for a thread.|
+|[WriteVirtual Method](icordebugmutabledatatarget-writevirtual-method.md)|Writes memory into the target process address space.|
+
+## Remarks
+
+This extension to the [ICorDebugDataTarget](icordebugdatatarget-interface.md) interface can be implemented by debugging tools that wish to modify the target process (for example, to perform live invasive debugging).
+
+All of these methods are optional in the sense that no core inspection-based debugging functionality is lost by not implementing this interface or by the failure of calls to these methods. Any failure `HRESULT` from these methods will propagate out as the `HRESULT` from the ICorDebug method call.
+
+Note that a single ICorDebug method call may result in multiple mutations, and that there is no mechanism for ensuring related mutations are applied transactionally (all-or-none). This means that if a mutation fails after others (for the same ICorDebug call) have succeeded, the target process may be left in an inconsistent state and debugging may become unreliable.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-setthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-setthreadcontext-method.md
new file mode 100644
index 0000000000000..e2d23080758c5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-setthreadcontext-method.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugMutableDataTarget::SetThreadContext Method"
+title: "ICorDebugMutableDataTarget::SetThreadContext Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMutableDataTarget::SetThreadContext Method
+
+Sets the context (register values) for a thread.
+
+## Syntax
+
+```cpp
+HRESULT SetThreadContext(
+ [in] DWORD dwThreadID,
+ [in] ULONG32 contextSize, [in, size_is(contextSize)] const BYTE * pContext);
+```
+
+## Parameters
+
+ `dwThreadID`
+ [in] The operating system-defined thread identifier.
+
+ `contextSize`
+ [in] The size of the `pContext` buffer to be written.
+
+ `pContext`
+ [in] A pointer to the bytes to be written.
+
+## Remarks
+
+The `SetThreadContext` method updates the current context for the thread specified by the operating system-defined `dwThreadID` argument. The format of the context record is determined by the platform indicated by the [ICorDebugDataTarget::GetPlatform](icordebugdatatarget-getplatform-method.md) method. On Windows, this is a [CONTEXT](/windows/win32/api/winnt/ns-winnt-arm64_nt_context) structure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMutableDataTarget Interface](icordebugmutabledatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-writevirtual-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-writevirtual-method.md
new file mode 100644
index 0000000000000..458be432cbdd7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugmutabledatatarget-writevirtual-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugMutableDataTarget::WriteVirtual Method"
+title: "ICorDebugMutableDataTarget::WriteVirtual Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugMutableDataTarget::WriteVirtual Method
+
+Writes memory into the target process address space.
+
+## Syntax
+
+```cpp
+HRESULT WriteVirtual(
+ [in] CORDB_ADDRESS address,
+ [in, size_is(bytesRequested)] const BYTE * pBuffer,
+ [in] ULONG32 bytesRequested);
+```
+
+## Parameters
+
+ `address`
+ [in] The address at which to write the contents of `pBuffer`.
+
+ `pBuffer`
+ [in] A pointer to a byte array that contains the bytes to be written.
+
+ `address`
+ [in] The number of bytes in `pBuffer`.
+
+## Return Value
+
+ `S_OK` on success, or any other `HRESULT` on failure.
+
+## Remarks
+
+If any bytes cannot be written, the method call fails without changing any bytes in the target address space. (Otherwise, the target would be in an inconsistent state that makes further debugging unreliable.)
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMutableDataTarget Interface](icordebugmutabledatatarget-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-cansetip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-cansetip-method.md
new file mode 100644
index 0000000000000..f8101933c02f3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-cansetip-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::CanSetIP Method"
+title: "ICorDebugNativeFrame::CanSetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.CanSetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::CanSetIP"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame::CanSetIP method [.NET debugging]"
+ - "CanSetIP method, ICorDebugNativeFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::CanSetIP Method
+
+Gets an HRESULT that indicates whether it is safe to set the instruction pointer (IP) to the specified offset location in native code.
+
+## Syntax
+
+```cpp
+HRESULT CanSetIP (
+ [in] ULONG32 nOffset
+);
+```
+
+## Parameters
+
+ `nOffset`
+ [in] The desired setting for the instruction pointer.
+
+## Remarks
+
+Use the `CanSetIP` method prior to calling the [ICorDebugNativeFrame::SetIP](icordebugnativeframe-setip-method.md) method. If `CanSetIP` returns any HRESULT other than S_OK, you can still invoke `ICorDebugNativeFrame::SetIP`, but there is no guarantee that the debugger will continue the safe and correct execution of the code being debugged.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getip-method.md
new file mode 100644
index 0000000000000..a38e338c19d31
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getip-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetIP Method"
+title: "ICorDebugNativeFrame::GetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetIP"
+helpviewer_keywords:
+ - "GetIP method, ICorDebugNativeFrame interface [.NET debugging]"
+ - "ICorDebugNativeFrame::GetIP method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetIP Method
+
+Gets the native code offset location to which the instruction pointer is currently set.
+
+## Syntax
+
+```cpp
+HRESULT GetIP (
+ [out] ULONG32 *pnOffset
+);
+```
+
+## Parameters
+
+ `pnOffset`
+ [out] A pointer to the offset location in the native code.
+
+## Remarks
+
+If the stack frame that is represented by this "ICorDebugNativeFrame" is active, the offset is the address of the next instruction to be executed. If this stack frame is not active, the offset is the address of the next instruction to be executed when the stack frame is reactivated.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocaldoubleregistervalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocaldoubleregistervalue-method.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocaldoubleregistervalue-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocaldoubleregistervalue-method.md
index 0336fce3e9f94..713658c3063e7 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugnativeframe-getlocaldoubleregistervalue-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocaldoubleregistervalue-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugNativeFrame::GetLocalDoubleRegisterValue"
helpviewer_keywords:
- - "ICorDebugNativeFrame::GetLocalDoubleRegisterValue method [.NET Framework debugging]"
- - "GetLocalDoubleRegisterValue method [.NET Framework debugging]"
-ms.assetid: 1f838215-ac8a-434f-8ce6-03021d3098d9
+ - "ICorDebugNativeFrame::GetLocalDoubleRegisterValue method [.NET debugging]"
+ - "GetLocalDoubleRegisterValue method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -52,16 +51,16 @@ HRESULT GetLocalDoubleRegisterValue (
## Remarks
- The `GetLocalDoubleRegisterValue` method can be used either in a native frame or a just-in-time (JIT)-compiled frame.
+The `GetLocalDoubleRegisterValue` method can be used either in a native frame or a just-in-time (JIT)-compiled frame.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryregistervalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryregistervalue-method.md
new file mode 100644
index 0000000000000..5b4c70c15e447
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryregistervalue-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetLocalMemoryRegisterValue Method"
+title: "ICorDebugNativeFrame::GetLocalMemoryRegisterValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetLocalMemoryRegisterValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetLocalMemoryRegisterValue"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame::GetLocalMemoryRegisterValue method [.NET debugging]"
+ - "GetLocalMemoryRegisterValue method"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetLocalMemoryRegisterValue Method
+
+Gets the value of an argument or local variable, of which the low word and high word are stored in the specified register and memory location, respectively, for this native frame.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalMemoryRegisterValue (
+ [in] CORDB_ADDRESS highWordAddress,
+ [in] CorDebugRegister lowWordRegister,
+ [in] ULONG cbSigBlob,
+ [in] PCCOR_SIGNATURE pvSigBlob,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `highWordAddress`
+ [in] A `CORDB_ADDRESS` value that specifies the memory location containing the high word of the value.
+
+ `lowWordRegister`
+ [in] A value of the "CorDebugRegister" enumeration that specifies the register containing the low word of the value.
+
+ `cbSigBlob`
+ [in] An integer that specifies the size of the binary metadata signature which is referenced by the `pvSigBlob` parameter.
+
+ `pvSigBlob`
+ [in] A `PCCOR_SIGNATURE` value that points to the binary metadata signature of the value's type.
+
+ `ppValue`
+ [out] A pointer to the address of an "ICorDebugValue" object representing the retrieved value that is stored in the specified register and memory location.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryvalue-method.md
new file mode 100644
index 0000000000000..14ceb22b58418
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalmemoryvalue-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetLocalMemoryValue Method"
+title: "ICorDebugNativeFrame::GetLocalMemoryValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetLocalMemoryValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetLocalMemoryValue"
+helpviewer_keywords:
+ - "GetLocalMemoryValue method [.NET debugging]"
+ - "ICorDebugNativeFrame::GetLocalMemoryValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetLocalMemoryValue Method
+
+Gets the value of an argument or local variable that is stored in the specified memory location for this native frame.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalMemoryValue (
+ [in] CORDB_ADDRESS address,
+ [in] ULONG cbSigBlob,
+ [in] PCCOR_SIGNATURE pvSigBlob,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` value that specifies the memory location containing the value.
+
+ `cbSigBlob`
+ [in] An integer that specifies the size of the binary metadata signature which is referenced by the `pvSigBlob` parameter.
+
+ `pvSigBlob`
+ [in] A `PCCOR_SIGNATURE` value that points to the binary metadata signature of the value's type.
+
+ `ppValue`
+ [out] A pointer to the address of an "ICorDebugValue" object representing the retrieved value that is stored in the specified memory location.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistermemoryvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistermemoryvalue-method.md
new file mode 100644
index 0000000000000..6756d599d2eff
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistermemoryvalue-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetLocalRegisterMemoryValue Method"
+title: "ICorDebugNativeFrame::GetLocalRegisterMemoryValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetLocalRegisterMemoryValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetLocalRegisterMemoryValue"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame::GetLocalRegisterMemoryValue method [.NET debugging]"
+ - "GetLocalRegisterMemoryValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetLocalRegisterMemoryValue Method
+
+Gets the value of an argument or local variable, of which the low word and high word are stored in the memory location and specified register, respectively, for this native frame.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalRegisterMemoryValue (
+ [in] CorDebugRegister highWordReg,
+ [in] CORDB_ADDRESS lowWordAddress,
+ [in] ULONG cbSigBlob,
+ [in] PCCOR_SIGNATURE pvSigBlob,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `highWordReg`
+ [in] A value of the "CorDebugRegister" enumeration that specifies the register containing the high word of the value.
+
+ `lowWordAddress`
+ [in] A `CORDB_ADDRESS` value that specifies the memory location containing the low word of the value.
+
+ `cbSigBlob`
+ [in] An integer that specifies the size of the binary metadata signature which is referenced by the `pvSigBlob` parameter.
+
+ `pvSigBlob`
+ [in] A `PCCOR_SIGNATURE` value that points to the binary metadata signature of the value's type.
+
+ `ppValue`
+ [out] A pointer to the address of an "ICorDebugValue" object representing the retrieved value that is stored in the specified register and memory location.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistervalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistervalue-method.md
new file mode 100644
index 0000000000000..a1ce83c733064
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getlocalregistervalue-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetLocalRegisterValue Method"
+title: "ICorDebugNativeFrame::GetLocalRegisterValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetLocalRegisterValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetLocalRegisterValue"
+helpviewer_keywords:
+ - "GetLocalRegisterValue method [.NET debugging]"
+ - "ICorDebugNativeFrame::GetLocalRegisterValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetLocalRegisterValue Method
+
+Gets the value of an argument or local variable that is stored in the specified register for this native frame.
+
+## Syntax
+
+```cpp
+HRESULT GetLocalRegisterValue (
+ [in] CorDebugRegister reg,
+ [in] ULONG cbSigBlob,
+ [in] PCCOR_SIGNATURE pvSigBlob,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `reg`
+ [in] A value of the "CorDebugRegister" enumeration that specifies the register containing the value.
+
+ `cbSigBlob`
+ [in] An integer that specifies the size of the binary metadata signature which is referenced by the `pvSigBlob` parameter.
+
+ `pvSigBlob`
+ [in] A `PCCOR_SIGNATURE` value that points to the binary metadata signature of the value's type.
+
+ `ppValue`
+ [out] A pointer to the address of an "ICorDebugValue" object representing the retrieved value that is stored in the specified register.
+
+## Remarks
+
+The `GetLocalRegisterValue` method can be used either in a native frame or a just-in-time (JIT)-compiled frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getregisterset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getregisterset-method.md
new file mode 100644
index 0000000000000..c1e10bd02c113
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-getregisterset-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::GetRegisterSet Method"
+title: "ICorDebugNativeFrame::GetRegisterSet Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.GetRegisterSet"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::GetRegisterSet"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame::GetRegisterSet method [.NET debugging]"
+ - "GetRegisterSet method, ICorDebugNativeFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::GetRegisterSet Method
+
+Gets the register set for this stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetRegisterSet (
+ [out] ICorDebugRegisterSet **ppRegisters
+);
+```
+
+## Parameters
+
+ `ppRegisters`
+ [out] A pointer to the address of an [ICorDebugRegisterSet](icordebugregisterset-interface.md) object that represents the register set for this stack frame.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugnativeframe-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-interface.md
similarity index 87%
rename from docs/framework/unmanaged-api/debugging/icordebugnativeframe-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-interface.md
index 8cf5f8c88eb73..2baff4d48e8d2 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugnativeframe-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugNativeFrame"
helpviewer_keywords:
- - "ICorDebugNativeFrame interface [.NET Framework debugging]"
-ms.assetid: 04819c58-7246-4b32-befb-680cf1dbc436
+ - "ICorDebugNativeFrame interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -41,14 +40,10 @@ A specialized implementation of ICorDebugFrame used for native frames.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-setip-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-setip-method.md
new file mode 100644
index 0000000000000..a2c7a877d015d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe-setip-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugNativeFrame::SetIP Method"
+title: "ICorDebugNativeFrame::SetIP Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame.SetIP"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame::SetIP"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame::SetIP method [.NET debugging]"
+ - "SetIP method, ICorDebugNativeFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame::SetIP Method
+
+Sets the instruction pointer to the specified offset location in native code.
+
+## Syntax
+
+```cpp
+HRESULT SetIP (
+ [in] ULONG32 nOffset
+);
+```
+
+## Parameters
+
+ `nOffset`
+ [in] The offset location in the native code.
+
+## Remarks
+
+Calls to `SetIP` immediately invalidate all frames and chains for the current thread. If the debugger needs frame information after a call to `SetIP`, it must perform a new stack trace.
+
+ [ICorDebug](icordebug-interface.md) will attempt to keep the stack frame in a valid state. However, even if the frame is in a valid state, as far as the runtime is concerned, there still may be problems, such as uninitialized local variables, and so on. The caller is responsible for insuring coherency of the running program.
+
+On 64-bit platforms, the instruction pointer cannot be moved out of a `catch` or `finally` block. If `SetIP` is called to make such a move on a 64-bit platform, it will return an HRESULT indicating failure.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-getstackparametersize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-getstackparametersize-method.md
new file mode 100644
index 0000000000000..a523d6fd9b2a2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-getstackparametersize-method.md
@@ -0,0 +1,63 @@
+---
+description: "Learn more about: ICorDebugNativeFrame2::GetStackParameterSize Method"
+title: "ICorDebugNativeFrame2::GetStackParameterSize Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame2.GetStackParameterSize Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame2::GetStackParameterSize"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame2::GetStackParameterSize method [.NET debugging]"
+ - "GetStackParameterSize method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame2::GetStackParameterSize Method
+
+Returns the cumulative size of the parameters on the stack on x86 operating systems.
+
+## Syntax
+
+```cpp
+HRESULT GetStackParameterSize([out] ULONG32 * pSize)
+```
+
+## Parameters
+
+ `pSize`
+ [out] A pointer to the cumulative size of the parameters on the stack.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The stack size was successfully returned.|
+|S_FALSE|`GetStackParameterSize` was called on a non-x86 platform.|
+|E_FAIL|`The size of the parameters could not be returned`.|
+|E_INVALIDARG|`pSize` Is `null`.|
+
+## Exceptions
+
+## Remarks
+
+The [ICorDebugStackWalk](icordebugstackwalk-interface.md) methods do not adjust the stack pointer for parameters that are pushed on the stack. Instead, you can use the value returned by `GetStackParameterSize` to adjust the stack pointer to seed a native unwinder, which does adjust for the parameters.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugNativeFrame2 Interface](icordebugnativeframe2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-interface.md
new file mode 100644
index 0000000000000..e0a5531f94ea5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugNativeFrame2 Interface"
+title: "ICorDebugNativeFrame2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame2"
+helpviewer_keywords:
+ - "ICorDebugNativeFrame2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame2 Interface
+
+Provides methods that test for child and parent frame relationships.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[IsChild Method](icordebugnativeframe2-ischild-method.md)|Determines whether the current frame is a child frame.|
+|[IsMatchingParentFrame Method](icordebugnativeframe2-ismatchingparentframe-method.md)|Determines whether the specified frame is the parent of the current frame.|
+|[GetStackParameterSize Method](icordebugnativeframe2-getstackparametersize-method.md)|Returns the cumulative size of the parameters on the stack on x86 operating systems.|
+
+## Remarks
+
+This interface logically extends the "ICorDebugNativeFrame" interface.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ischild-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ischild-method.md
new file mode 100644
index 0000000000000..38543b1d9752f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ischild-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugNativeFrame2::IsChild Method"
+title: "ICorDebugNativeFrame2::IsChild Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame2.IsChild Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame2::IsChild"
+helpviewer_keywords:
+ - "IsChild method [.NET debugging]"
+ - "ICorDebugNativeFrame2::IsChild method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame2::IsChild Method
+
+Determines whether the current frame is a child frame.
+
+## Syntax
+
+```cpp
+HRESULT IsChild([out] BOOL * pIsChild);
+```
+
+## Parameters
+
+ `pIsChild`
+ [out] A Boolean value that specifies whether the current frame is a child frame.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The child status was successfully returned.|
+|E_FAIL|The child status could not be returned.|
+|E_INVALIDARG|`pIsChild` is null.|
+
+## Exceptions
+
+## Remarks
+
+The `IsChild` method returns `true` if the frame object on which you call the method is a child of another frame. If this is the case, use the [IsMatchingParentFrame](icordebugnativeframe2-ismatchingparentframe-method.md) method to check whether a frame is its parent.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugNativeFrame2 Interface](icordebugnativeframe2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ismatchingparentframe-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ismatchingparentframe-method.md
new file mode 100644
index 0000000000000..030cd663fd349
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugnativeframe2-ismatchingparentframe-method.md
@@ -0,0 +1,67 @@
+---
+description: "Learn more about: ICorDebugNativeFrame2::IsMatchingParentFrame Method"
+title: "ICorDebugNativeFrame2::IsMatchingParentFrame Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugNativeFrame2.IsMatchingParentFrame Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugNativeFrame2::IsMatchingParentFrame"
+helpviewer_keywords:
+ - "IsMatchingParentFrame method [.NET debugging]"
+ - "ICorDebugNativeFrame2::IsMatchingParentFrame method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugNativeFrame2::IsMatchingParentFrame Method
+
+Determines whether the specified frame is the parent of the current frame.
+
+## Syntax
+
+```cpp
+HRESULT IsMatchingParentFrame([in] ICorDebugNativeFrame2
+ *pPotentialParentFrame,
+ [out] BOOL *pIsParent);
+```
+
+## Parameters
+
+ `pPotentialParentFrame`
+ [in] A pointer to the frame object that you want to evaluate for parent status.
+
+ `pIsParent`
+ [out] `true` if `pPotentialParentFrame` is the current frame’s parent; otherwise, `false`.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The parent status was successfully returned.|
+|E_FAIL|The parent status could not be returned.|
+|E_INVALIDARG|`pPotentialParentFrame` or `pIsParent` is null.|
+
+## Exceptions
+
+## Remarks
+
+ `IsMatchingParentFrame` returns `true` if the frame object you pass to the method is the parent of the frame object on which the method was called. If you call the method on a frame that is not a child of the specified frame, it returns an error.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugNativeFrame2 Interface](icordebugnativeframe2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-interface.md
new file mode 100644
index 0000000000000..40e2284f19a1f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugObjectEnum Interface"
+title: "ICorDebugObjectEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectEnum"
+helpviewer_keywords:
+ - "ICorDebugObjectEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates arrays of objects by their relative virtual addresses (RVAs).
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugobjectenum-next-method.md)|Gets the RVAs of the specified number of objects from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-next-method.md
new file mode 100644
index 0000000000000..b0c531d2b11ea
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectenum-next-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugObjectEnum::Next Method"
+title: "ICorDebugObjectEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugObjectEnum interface [.NET debugging]"
+ - "ICorDebugObjectEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectEnum::Next Method
+
+Gets the relative virtual addresses (RVAs) of the specified number of objects from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ CORDB_ADDRESS objects[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of objects to be retrieved.
+
+ `objects`
+ [out] An array of pointers, each of which points to a CORDB_ADDRESS object.
+
+ `pceltFetched`
+ [out] Pointer to the number of objects actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getclass-method.md
new file mode 100644
index 0000000000000..a0eb0b8820eae
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getclass-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugObjectValue::GetClass Method"
+title: "ICorDebugObjectValue::GetClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.GetClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::GetClass"
+helpviewer_keywords:
+ - "ICorDebugObjectValue::GetClass method [.NET debugging]"
+ - "GetClass method, ICorDebugObjectValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::GetClass Method
+
+Gets the class of this object value.
+
+## Syntax
+
+```cpp
+HRESULT GetClass (
+ [out] ICorDebugClass **ppClass
+);
+```
+
+## Parameters
+
+ `ppClass`
+ [out] A pointer to the address of an "ICorDebugClass" object that represents the class of the object value represented by this "ICorDebugObjectValue" object.
+
+## Remarks
+
+The `GetClass` and [ICorDebugValue::GetType](icordebugvalue-gettype-method.md) methods each return information about the type of a value; they are both superseded by the generics-aware [ICorDebugValue2::GetExactType](icordebugvalue2-getexacttype-method.md).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getcontext-method.md
new file mode 100644
index 0000000000000..6f49222f5f066
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getcontext-method.md
@@ -0,0 +1,35 @@
+---
+description: "Learn more about: ICorDebugObjectValue::GetContext Method"
+title: "ICorDebugObjectValue::GetContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.GetContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::GetContext"
+helpviewer_keywords:
+ - "GetContext method, ICorDebugObjectValue interface [.NET debugging]"
+ - "ICorDebugObjectValue::GetContext method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::GetContext Method
+
+`GetContext` is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetContext (
+ [out] ICorDebugContext **ppContext
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getfieldvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getfieldvalue-method.md
new file mode 100644
index 0000000000000..18ace4e25c2e4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getfieldvalue-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugObjectValue::GetFieldValue Method"
+title: "ICorDebugObjectValue::GetFieldValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.GetFieldValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::GetFieldValue"
+helpviewer_keywords:
+ - "ICorDebugObjectValue::GetFieldValue method [.NET debugging]"
+ - "GetFieldValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::GetFieldValue Method
+
+Gets the value of the specified field of the specified class for this object value.
+
+## Syntax
+
+```cpp
+HRESULT GetFieldValue (
+ [in] ICorDebugClass *pClass,
+ [in] mdFieldDef fieldDef,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `pClass`
+ [in] A pointer to an "ICorDebugClass" object that represents the class for which to get the field value.
+
+ `fieldDef`
+ [in] An `mdFieldDef` token that references the metadata describing the field.
+
+ `ppValue`
+ [out] A pointer to an "ICorDebugValue" object that represents the value of the specified field.
+
+## Remarks
+
+The class, specified in the `pClass` parameter, must be in the hierarchy of the object value's class, and the field must be a field of that class.
+
+The `GetFieldValue` method will still succeed for generic objects and generic classes. For example, if MyDictionary\ inherits from Dictionary\, and the object value is of type MyDictionary\, passing the `ICorDebugClass` object for Dictionary\ will successfully get a field of Dictionary\.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getmanagedcopy-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getmanagedcopy-method.md
new file mode 100644
index 0000000000000..4e58178bd738c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getmanagedcopy-method.md
@@ -0,0 +1,35 @@
+---
+description: "Learn more about: ICorDebugObjectValue::GetManagedCopy Method"
+title: "ICorDebugObjectValue::GetManagedCopy Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.GetManagedCopy"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::GetManagedCopy"
+helpviewer_keywords:
+ - "GetManagedCopy method [.NET debugging]"
+ - "ICorDebugObjectValue::GetManagedCopy method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::GetManagedCopy Method
+
+`GetManagedCopy` is obsolete. Do not call this method.
+
+## Syntax
+
+```cpp
+HRESULT GetManagedCopy (
+ [out] IUnknown **ppObject
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getvirtualmethod-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getvirtualmethod-method.md
new file mode 100644
index 0000000000000..d1897d7546a87
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-getvirtualmethod-method.md
@@ -0,0 +1,36 @@
+---
+description: "Learn more about: ICorDebugObjectValue::GetVirtualMethod Method"
+title: "ICorDebugObjectValue::GetVirtualMethod Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.GetVirtualMethod"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::GetVirtualMethod"
+helpviewer_keywords:
+ - "GetVirtualMethod method [.NET debugging]"
+ - "ICorDebugObjectValue::GetVirtualmethod method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::GetVirtualMethod Method
+
+`GetVirtualMethod` is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetVirtualMethod (
+ [in] mdMemberRef memberRef,
+ [out] ICorDebugFunction **ppFunction
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+## See also
diff --git a/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-interface.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugobjectvalue-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-interface.md
index 91ed55b735568..11510eaadd403 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugobjectvalue-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugObjectValue"
helpviewer_keywords:
- - "ICorDebugObjectValue interface [.NET Framework debugging]"
-ms.assetid: 937de6a0-6fbf-4ddc-80ea-a6217b73e62b
+ - "ICorDebugObjectValue interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -34,21 +33,17 @@ A subclass of "ICorDebugValue" that represents a value that contains an object.
## Remarks
- An `ICorDebugObjectValue` remains valid until the process being debugged is continued.
+An `ICorDebugObjectValue` remains valid until the process being debugged is continued.
> [!NOTE]
> This interface does not support being called remotely, either cross-machine or cross-process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-isvalueclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-isvalueclass-method.md
new file mode 100644
index 0000000000000..b75b13deaf96f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-isvalueclass-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugObjectValue::IsValueClass Method"
+title: "ICorDebugObjectValue::IsValueClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.IsValueClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::IsValueClass"
+helpviewer_keywords:
+ - "ICorDebugObjectValue::IsValueClass method [.NET debugging]"
+ - "IsValueClass method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::IsValueClass Method
+
+Gets a value that indicates whether this object value is a value type.
+
+## Syntax
+
+```cpp
+HRESULT IsValueClass (
+ [out] BOOL *pbIsValueClass
+);
+```
+
+## Parameters
+
+ `pbIsValueClass`
+ [out] A pointer to a Boolean value that is `true` if the object value, represented by this "ICorDebugObjectValue", is a value type rather than a reference type; otherwise, `pbIsValueClass` is `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-setfrommanagedcopy-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-setfrommanagedcopy-method.md
new file mode 100644
index 0000000000000..10d6654d409db
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue-setfrommanagedcopy-method.md
@@ -0,0 +1,35 @@
+---
+description: "Learn more about: ICorDebugObjectValue::SetFromManagedCopy Method"
+title: "ICorDebugObjectValue::SetFromManagedCopy Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue.SetFromManagedCopy"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue::SetFromManagedCopy"
+helpviewer_keywords:
+ - "ICorDebugObjectValue::SetFromManagedCopy method [.NET debugging]"
+ - "SetFromManagedCopy method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue::SetFromManagedCopy Method
+
+`SetFromManagedCopy` is obsolete. Do not call this method.
+
+## Syntax
+
+```cpp
+HRESULT SetFromManagedCopy (
+ [in] IUnknown *pObject
+);
+```
+
+## Requirements
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-getvirtualmethodandtype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-getvirtualmethodandtype-method.md
new file mode 100644
index 0000000000000..69af29a0dc2c4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-getvirtualmethodandtype-method.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugObjectValue2::GetVirtualMethodAndType Method"
+title: "ICorDebugObjectValue2::GetVirtualMethodAndType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue2.GetVirtualMethodAndType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue2::GetVirtualMethodAndType"
+helpviewer_keywords:
+ - "GetVirtualMethodAndType method [.NET debugging]"
+ - "ICorDebugObjectValue2::GetVirtualMethodAndType method"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue2::GetVirtualMethodAndType Method
+
+This method is not yet implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetVirtualMethodAndType (
+ [in] mdMemberRef memberRef,
+ [out] ICorDebugFunction **ppFunction,
+ [out] ICorDebugType **ppType
+);
+```
+
+## Remarks
+
+Gets interface pointers to the "ICorDebugFunction" and "ICorDebugType" instances that represent the most derived method and type for the specified member reference.
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-interface.md
new file mode 100644
index 0000000000000..f26554bbd016a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugobjectvalue2-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugObjectValue2 Interface"
+title: "ICorDebugObjectValue2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugObjectValue2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugObjectValue2"
+helpviewer_keywords:
+ - "ICorDebugObjectValue2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugObjectValue2 Interface
+
+Extends the "ICorDebugObjectValue" interface to support inheritance and overrides.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetVirtualMethodAndType Method](icordebugobjectvalue2-getvirtualmethodandtype-method.md)|`GetVirtualMethodAndType` is not yet implemented.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **NET Framework Versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-clearcurrentexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-clearcurrentexception-method.md
new file mode 100644
index 0000000000000..51a1abcc1526c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-clearcurrentexception-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugProcess::ClearCurrentException Method"
+title: "ICorDebugProcess::ClearCurrentException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.ClearCurrentException"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::ClearCurrentException"
+helpviewer_keywords:
+ - "ClearCurrentException method, ICorDebugProcess interface [.NET debugging]"
+ - "ICorDebugProcess::ClearCurrentException method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::ClearCurrentException Method
+
+Clears the current unmanaged exception on the given thread.
+
+## Syntax
+
+```cpp
+HRESULT ClearCurrentException([in] DWORD threadID);
+```
+
+## Parameters
+
+ `threadID`
+ [in] The ID of the thread on which the current unmanaged exception will be cleared.
+
+## Remarks
+
+Call this method before calling [ICorDebugController::Continue](icordebugcontroller-continue-method.md) when a thread has reported an unmanaged exception that should be ignored by the debuggee. This will clear both the outstanding in-band (IB) and out-of-band (OOB) events on the given thread. All OOB breakpoints and single-step exceptions are automatically cleared.
+
+Use [ICorDebugThread2::InterceptCurrentException](icordebugthread2-interceptcurrentexception-method.md) to intercept the current managed exception on a thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enablelogmessages-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enablelogmessages-method.md
new file mode 100644
index 0000000000000..fb6cedf93ca71
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enablelogmessages-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugProcess::EnableLogMessages Method"
+title: "ICorDebugProcess::EnableLogMessages Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.EnableLogMessages"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::EnableLogMessages"
+helpviewer_keywords:
+ - "ICorDebugProcess::EnableLogMessages method [.NET debugging]"
+ - "EnableLogMessages method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::EnableLogMessages Method
+
+Enables and disables the transmission of log messages to the debugger.
+
+## Syntax
+
+```cpp
+HRESULT EnableLogMessages([in]BOOL fOnOff);
+```
+
+## Parameters
+
+ `fOnOff`
+ [in] `true` enables the transmission of log messages; `false` disables the transmission.
+
+## Remarks
+
+This method is valid only after the [ICorDebugManagedCallback::CreateProcess](icordebugmanagedcallback-createprocess-method.md) callback occurs.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateappdomains-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateappdomains-method.md
new file mode 100644
index 0000000000000..536172fda2e23
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateappdomains-method.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: ICorDebugProcess::EnumerateAppDomains Method"
+title: "ICorDebugProcess::EnumerateAppDomains Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.EnumerateAppDomains"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::EnumerateAppDomains"
+helpviewer_keywords:
+ - "ICorDebugProcess::EnumerateAppDomains method [.NET debugging]"
+ - "EnumerateAppDomains method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::EnumerateAppDomains Method
+
+Enumerates all the application domains in this process.
+
+## Syntax
+
+``` cpp
+HRESULT EnumerateAppDomains(
+ [out] ICorDebugAppDomainEnum **ppAppDomains);
+```
+
+## Parameters
+
+ `ppAppDomains`
+ [out] A pointer to the address of an [ICorDebugAppDomainEnum](icordebugappdomainenum-interface.md) that is an enumerator for the application domains in this process.
+
+## Remarks
+
+This method can be used before the [ICorDebugManagedCallback::CreateProcess](icordebugmanagedcallback-createprocess-method.md) callback.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateobjects-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateobjects-method.md
new file mode 100644
index 0000000000000..4017b12b6cb2c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-enumerateobjects-method.md
@@ -0,0 +1,29 @@
+---
+description: "Learn more about: ICorDebugProcess::EnumerateObjects Method"
+title: "ICorDebugProcess::EnumerateObjects Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.EnumerateObjects"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::EnumerateObjects"
+helpviewer_keywords:
+ - "EnumerateObjects method [.NET debugging]"
+ - "ICorDebugProcess::EnumerateObjects method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::EnumerateObjects Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateObjects (
+ [out] ICorDebugObjectEnum **ppObjects
+);
+```
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethandle-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethandle-method.md
new file mode 100644
index 0000000000000..492a3fba221c4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethandle-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugProcess::GetHandle Method"
+title: "ICorDebugProcess::GetHandle Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetHandle"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetHandle"
+helpviewer_keywords:
+ - "GetHandle method, ICorDebugProcess interface [.NET debugging]"
+ - "ICorDebugProcess::GetHandle method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetHandle Method
+
+Gets a handle to the process.
+
+## Syntax
+
+```cpp
+HRESULT GetHandle([out] HPROCESS *phProcessHandle);
+```
+
+## Parameters
+
+ `phProcessHandle`
+ [out] A pointer to an `HPROCESS` that is the handle to the process.
+
+## Remarks
+
+The retrieved handle is owned by the debugging interface. The debugger should duplicate the handle before using it.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethelperthreadid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethelperthreadid-method.md
new file mode 100644
index 0000000000000..59e9fdc8142c8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-gethelperthreadid-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugProcess::GetHelperThreadID Method"
+title: "ICorDebugProcess::GetHelperThreadID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetHelperThreadID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetHelperThreadID"
+helpviewer_keywords:
+ - "GetHelperThreadID method [.NET debugging]"
+ - "ICorDebugProcess::GetHelperThreadID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetHelperThreadID Method
+
+Gets the operating system (OS) thread ID of the debugger's internal helper thread.
+
+## Syntax
+
+```cpp
+HRESULT GetHelperThreadID (
+ [out] DWORD *pThreadID
+);
+```
+
+## Parameters
+
+ `pThreadID`
+ [out] A pointer to the OS thread ID of the debugger's internal helper thread.
+
+## Remarks
+
+During managed and unmanaged debugging, it is the debugger's responsibility to ensure that the thread with the specified ID remains running if it hits a breakpoint placed by the debugger. A debugger may also wish to hide this thread from the user. If no helper thread exists in the process yet, the `GetHelperThreadID` method returns zero in *`pThreadID`.
+
+You cannot cache the thread ID of the helper thread, because it might change over time. You must re-query the thread ID at every stopping event.
+
+The thread ID of the debugger's helper thread will be correct on every unmanaged [ICorDebugManagedCallback::CreateThread](icordebugmanagedcallback-createthread-method.md) event, thus allowing a debugger to determine the thread ID of its helper thread and hide it from the user. A thread that is identified as a helper thread during an unmanaged `ICorDebugManagedCallback::CreateThread` event will never run managed user code.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl. CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getid-method.md
new file mode 100644
index 0000000000000..fbc8c1a79ab7e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getid-method.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugProcess::GetID Method"
+title: "ICorDebugProcess::GetID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetID"
+helpviewer_keywords:
+ - "GetID method, ICorDebugProcess interface [.NET debugging]"
+ - "ICorDebugProcess::GetID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetID Method
+
+Gets the operating system (OS) ID of the process.
+
+## Syntax
+
+```cpp
+HRESULT GetID([out] DWORD *pdwProcessId);
+```
+
+## Parameters
+
+ `pdwProcessId`
+ [out] The unique ID of the process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getobject-method.md
new file mode 100644
index 0000000000000..aab096e1b7ac0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getobject-method.md
@@ -0,0 +1,29 @@
+---
+description: "Learn more about: ICorDebugProcess::GetObject Method"
+title: "ICorDebugProcess::GetObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetObject"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetObject"
+helpviewer_keywords:
+ - "GetObject method, ICorDebugProcess interface [.NET debugging]"
+ - "ICorDebugProcess::GetObject method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetObject Method
+
+This method has not been implemented.
+
+## Syntax
+
+```cpp
+HRESULT GetObject(
+ [out] ICorDebugValue **ppObject
+);
+```
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthread-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthread-method.md
new file mode 100644
index 0000000000000..afcb3fdbe442b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthread-method.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: ICorDebugProcess::GetThread Method"
+title: "ICorDebugProcess::GetThread Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetThread"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetThread"
+helpviewer_keywords:
+ - "ICorDebugProcess::GetThread method [.NET debugging]"
+ - "GetThread method, ICorDebugProcess interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetThread Method
+
+Gets this process's thread that has the specified operating system (OS) thread ID.
+
+## Syntax
+
+```cpp
+HRESULT GetThread(
+ [in] DWORD dwThreadId,
+ [out] ICorDebugThread **ppThread);
+```
+
+## Parameters
+
+ `dwThreadId`
+ [in] The OS thread ID of the thread to be retrieved.
+
+ `ppThread`
+ [out] A pointer to the address of an ICorDebugThread object that represents the thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthreadcontext-method.md
new file mode 100644
index 0000000000000..1e6276dae419c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-getthreadcontext-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugProcess::GetThreadContext Method"
+title: "ICorDebugProcess::GetThreadContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.GetThreadContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::GetThreadContext"
+helpviewer_keywords:
+ - "ICorDebugProcess::GetThreadContext method [.NET debugging]"
+ - "GetThreadContext method, ICorDebugProcess interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::GetThreadContext Method
+
+Gets the context for the given thread in this process.
+
+## Syntax
+
+```cpp
+HRESULT GetThreadContext(
+ [in] DWORD threadID,
+ [in] ULONG32 contextSize,
+ [in, out, length_is(contextSize), size_is(contextSize)]
+ BYTE context[]);
+```
+
+## Parameters
+
+ `threadID`
+ [in] The ID of the thread for which to retrieve the context.
+
+ `contextSize`
+ [in] The size of the `context` array.
+
+ `context`
+ [in, out] An array of bytes that describe the thread's context.
+
+The context specifies the architecture of the processor on which the thread is executing.
+
+## Remarks
+
+The debugger should call this method rather than the Win32 `GetThreadContext` method, because the thread may actually be in a "hijacked" state, in which its context has been temporarily changed. This method should be used only when a thread is in native code. Use [ICorDebugRegisterSet](icordebugregisterset-interface.md) for threads in managed code.
+
+The data returned is a context structure for the current platform. Just as with the Win32 `GetThreadContext` method, the caller should initialize the `context` parameter before calling this method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-interface.md
similarity index 88%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-interface.md
index e8adbf754aabd..4e68b4cd70898 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugProcess"
helpviewer_keywords:
- - "ICorDebugProcess interface [.NET Framework debugging]"
-ms.assetid: be86f4b5-418a-4c5c-a67c-97148c65ed8c
+ - "ICorDebugProcess interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -49,15 +48,14 @@ Represents a process that is executing managed code. This interface is a subclas
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
## See also
- [ICorDebug Interface](icordebug-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-isossuspended-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-isossuspended-method.md
new file mode 100644
index 0000000000000..3fae282f0a8b8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-isossuspended-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugProcess::IsOSSuspended Method"
+title: "ICorDebugProcess::IsOSSuspended Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.IsOSSuspended"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::IsOSSuspended"
+helpviewer_keywords:
+ - "IsOSSuspended method [.NET debugging]"
+ - "ICorDebugProcess::IsOSSuspended method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::IsOSSuspended Method
+
+Gets a value that indicates whether the specified thread has been suspended as a result of the debugger stopping this process.
+
+## Syntax
+
+```cpp
+HRESULT IsOSSuspended(
+ [in] DWORD threadID,
+ [out] BOOL *pbSuspended);
+```
+
+## Parameters
+
+ `threadID`
+ [in] The ID of thread in question.
+
+ `pbSuspended`
+ [out] A pointer to a Boolean value that is `true` if the specified thread has been suspended; otherwise *`pbSuspended` is `false`.
+
+## Remarks
+
+When the specified thread has been suspended as a result of the debugger stopping this process, the specified thread's Win32 suspend count is incremented by one. The debugger user interface (UI) may want to take this information into account if it displays the operating system (OS) suspend count of the thread to the user.
+
+The `IsOSSuspended` method makes sense only in the context of unmanaged debugging. During managed debugging, threads are cooperatively suspended rather than OS-suspended.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-istransitionstub-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-istransitionstub-method.md
new file mode 100644
index 0000000000000..46f086e72b8f3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-istransitionstub-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugProcess::IsTransitionStub Method"
+title: "ICorDebugProcess::IsTransitionStub Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.IsTransitionStub"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::IsTransitionStub"
+helpviewer_keywords:
+ - "ICorDebugProcess::IsTransitionStub method [.NET debugging]"
+ - "IsTransitionStub method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::IsTransitionStub Method
+
+Gets a value that indicates whether an address is inside a stub that will cause a transition to managed code.
+
+## Syntax
+
+```cpp
+HRESULT IsTransitionStub(
+ [in] CORDB_ADDRESS address,
+ [out] BOOL *pbTransitionStub);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` value that specifies the address in question.
+
+ `pbTransitionStub`
+ [out] A pointer to a Boolean value that is `true` if the specified address is inside a stub that will cause a transition to managed code; otherwise *`pbTransitionStub` is `false`.
+
+## Remarks
+
+The `IsTransitionStub` method can be used by unmanaged stepping code to decide when to return stepping control to the managed stepper.
+
+You can also identity transition stubs by looking at information in the portable executable (PE) file.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-modifylogswitch-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-modifylogswitch-method.md
new file mode 100644
index 0000000000000..c8d74ad45e22a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-modifylogswitch-method.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugProcess::ModifyLogSwitch Method"
+title: "ICorDebugProcess::ModifyLogSwitch Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.ModifyLogSwitch"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::ModifyLogSwitch"
+helpviewer_keywords:
+ - "ICorDebugProcess::ModifyLogSwitch method [.NET debugging]"
+ - "ModifyLogSwitch method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::ModifyLogSwitch Method
+
+Sets the severity level of the specified log switch.
+
+## Syntax
+
+```cpp
+HRESULT ModifyLogSwitch(
+ [in] WCHAR *pLogSwitchName,
+ [in] LONG lLevel);
+```
+
+## Parameters
+
+ `pLogSwitchName`
+ [in] A pointer to a string that specifies the name of the log switch.
+
+ `lLevel`
+ [in] The severity level to be set for the specified log switch.
+
+## Remarks
+
+This method is valid only after the [ICorDebugManagedCallback::CreateProcess](icordebugmanagedcallback-createprocess-method.md) callback has occurred.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-readmemory-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-readmemory-method.md
new file mode 100644
index 0000000000000..0253ab5447be5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-readmemory-method.md
@@ -0,0 +1,63 @@
+---
+description: "Learn more about: ICorDebugProcess::ReadMemory Method"
+title: "ICorDebugProcess::ReadMemory Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.ReadMemory"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::ReadMemory"
+helpviewer_keywords:
+ - "ReadMemory method [.NET debugging]"
+ - "ICorDebugProcess::ReadMemory method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::ReadMemory Method
+
+Reads a specified area of memory for this process.
+
+## Syntax
+
+```cpp
+HRESULT ReadMemory(
+ [in] CORDB_ADDRESS address,
+ [in] DWORD size,
+ [out, size_is(size), length_is(size)] BYTE buffer[],
+ [out] SIZE_T *read);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` value that specifies the base address of the memory to be read.
+
+ `size`
+ [in] The number of bytes to be read from memory.
+
+ `buffer`
+ [out] A buffer that receives the contents of the memory.
+
+ `read`
+ [out] A pointer to the number of bytes transferred into the specified buffer.
+
+## Remarks
+
+The `ReadMemory` method is primarily intended to be used by interop debugging to inspect memory regions that are being used by the unmanaged portion of the debuggee. This method can also be used to read common intermediate language (CIL) code and native JIT-compiled code.
+
+Any managed breakpoints will be removed from the data that is returned in the `buffer` parameter. No adjustments will be made for native breakpoints set by [ICorDebugProcess2::SetUnmanagedBreakpoint](icordebugprocess2-setunmanagedbreakpoint-method.md).
+
+No caching of process memory is performed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-setthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-setthreadcontext-method.md
new file mode 100644
index 0000000000000..66cb69fe879bf
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-setthreadcontext-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugProcess::SetThreadContext Method"
+title: "ICorDebugProcess::SetThreadContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.SetThreadContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::SetThreadContext"
+helpviewer_keywords:
+ - "ICorDebugProcess::SetThreadContext method [.NET debugging]"
+ - "SetThreadContext method, ICorDebugProcess interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::SetThreadContext Method
+
+Sets the context for the given thread in this process.
+
+## Syntax
+
+```cpp
+HRESULT SetThreadContext(
+ [in] DWORD threadID,
+ [in] ULONG32 contextSize,
+ [in, length_is(contextSize), size_is(contextSize)]
+ BYTE context[]);
+```
+
+## Parameters
+
+ `threadID`
+ [in] The ID of the thread for which to set the context.
+
+ `contextSize`
+ [in] The size of the `context` array.
+
+ `context`
+ [in] An array of bytes that describe the thread's context.
+
+The context specifies the architecture of the processor on which the thread is executing.
+
+## Remarks
+
+The debugger should call this method rather than the Win32 `SetThreadContext` function, because the thread may actually be in a "hijacked" state, in which its context has been temporarily changed. This method should be used only when a thread is in native code. Use [ICorDebugRegisterSet](icordebugregisterset-interface.md) for threads in managed code. You should never need to modify the context of a thread during an out-of-band (OOB) debug event.
+
+The data passed must be a context structure for the current platform.
+
+This method can corrupt the runtime if used improperly.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-threadforfibercookie-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-threadforfibercookie-method.md
new file mode 100644
index 0000000000000..ccddcf8cad831
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-threadforfibercookie-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugProcess::ThreadForFiberCookie Method"
+title: "ICorDebugProcess::ThreadForFiberCookie Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.ThreadForFiberCookie"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::ThreadForFiberCookie"
+helpviewer_keywords:
+ - "ICorDebugProcess::ThreadForFiberCookie method [.NET debugging]"
+ - "ThreadForFiberCookie method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::ThreadForFiberCookie Method
+
+This method is not implemented.
+
+## Syntax
+
+```cpp
+HRESULT ThreadForFiberCookie (
+ [in] DWORD fiberCookie,
+ [out] ICorDebugThread **ppThread
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-writememory-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-writememory-method.md
new file mode 100644
index 0000000000000..d4ab394ec685c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess-writememory-method.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugProcess::WriteMemory Method"
+title: "ICorDebugProcess::WriteMemory Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess.WriteMemory"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess::WriteMemory"
+helpviewer_keywords:
+ - "ICorDebugProcess::WriteMemory method [.NET debugging]"
+ - "WriteMemory method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess::WriteMemory Method
+
+Writes data to an area of memory in this process.
+
+## Syntax
+
+```cpp
+HRESULT WriteMemory(
+ [in] CORDB_ADDRESS address,
+ [in] DWORD size,
+ [in, size_is(size)] BYTE buffer[],
+ [out] SIZE_T *written);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` value that is the base address of the memory area to which data is written. Before data transfer occurs, the system verifies that the memory area of the specified size, beginning at the base address, is accessible for writing. If it is not accessible, the method fails.
+
+ `size`
+ [in] The number of bytes to be written to the memory area.
+
+ `buffer`
+ [in] A buffer that contains data to be written.
+
+ `written`
+ [out] A pointer to a variable that receives the number of bytes written to the memory area in this process. If `written` is NULL, this parameter is ignored.
+
+## Remarks
+
+Data is automatically written behind any breakpoints. Native debuggers should not use this method to inject breakpoints into the instruction stream. Use [ICorDebugProcess2::SetUnmanagedBreakpoint](icordebugprocess2-setunmanagedbreakpoint-method.md) instead.
+
+The `WriteMemory` method should be used only outside of managed code. This method can corrupt the runtime if used improperly.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-enumerateloaderheapmemoryregions-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-enumerateloaderheapmemoryregions-method.md
new file mode 100644
index 0000000000000..9fa4a501e5323
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-enumerateloaderheapmemoryregions-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugProcess11::EnumerateLoaderHeapMemoryRegions Method"
+title: "ICorDebugProcess11::EnumerateLoaderHeapMemoryRegions Method"
+ms.date: "06/06/2022"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugProcess11.EnumerateLoaderHeapMemoryRegions"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+ms.assetid:
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess11::EnumerateLoaderHeapMemoryRegions Method
+
+[Supported in .NET 5 and later versions.]
+
+Enumerates ranges of native memory that are used by the .NET runtime to store internal data structures that describe .NET types and methods. The information returned is the same information that would be shown by using the SOS `eeheap-loader` command.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateLoaderHeapMemoryRegions(
+[out] ICorDebugMemoryRangeEnum** ppRanges
+);
+```
+
+## Parameters
+
+ `ppRanges`
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET Versions:** Available since .NET Core 5.0
+
+## See also
+
+- [ICorDebugProcess11 Interface](icordebugprocess11-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess11-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-interface.md
similarity index 84%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess11-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-interface.md
index 9c40635340a32..90a1ba7467e62 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess11-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess11-interface.md
@@ -8,7 +8,6 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: 71aee5f3-5e10-44fa-be69-6d8a475f2c14
topic_type:
- "apiref"
---
@@ -28,15 +27,10 @@ Provides a method that enumerates ranges of native memory that are used by the .
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
**.NET Versions:** Available since .NET Core 5.0
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-clearunmanagedbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-clearunmanagedbreakpoint-method.md
new file mode 100644
index 0000000000000..60756f5751a28
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-clearunmanagedbreakpoint-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugProcess2::ClearUnmanagedBreakpoint Method"
+title: "ICorDebugProcess2::ClearUnmanagedBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.ClearUnmanagedBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::ClearUnmanagedBreakpoint"
+helpviewer_keywords:
+ - "ClearUnmanagedBreakpoint method [.NET debugging]"
+ - "ICorDebugProcess2::ClearUnmanagedBreakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::ClearUnmanagedBreakpoint Method
+
+Removes a previously set breakpoint at the given address.
+
+## Syntax
+
+```cpp
+HRESULT ClearUnmanagedBreakpoint (
+ [in] CORDB_ADDRESS address
+);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` value that specifies the address at which the breakpoint was set.
+
+## Remarks
+
+The specified breakpoint would have been previously set by an earlier call to [ICorDebugProcess2::SetUnmanagedBreakpoint](icordebugprocess2-setunmanagedbreakpoint-method.md).
+
+The `ClearUnmanagedBreakpoint` method can be called while the process being debugged is running.
+
+The `ClearUnmanagedBreakpoint` method returns a failure code if the debugger is attached in managed-only mode or if no breakpoint exists at the specified address.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getdesiredngencompilerflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getdesiredngencompilerflags-method.md
new file mode 100644
index 0000000000000..749ea87fc3426
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getdesiredngencompilerflags-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugProcess2::GetDesiredNGENCompilerFlags Method"
+title: "ICorDebugProcess2::GetDesiredNGENCompilerFlags Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.GetDesiredNGENCompilerFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::GetDesiredNGENCompilerFlags"
+helpviewer_keywords:
+ - "ICorDebugProcess2::GetDesiredNGENCompilerFlags method [.NET debugging]"
+ - "GetDesiredNGENCompilerFlags method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::GetDesiredNGENCompilerFlags Method
+
+Gets the current compiler flag settings that the common language runtime (CLR) uses to select the correct precompiled (that is, native) image to be loaded into this process.
+
+## Syntax
+
+```cpp
+HRESULT GetDesiredNGENCompilerFlags (
+ [out] DWORD *pdwFlags
+);
+```
+
+## Parameters
+
+ `pdwFlags`
+ [out] A pointer to a bitwise combination of the [CorDebugJITCompilerFlags](cordebugjitcompilerflags-enumeration.md) enumeration values that are used to select the correct precompiled image to be loaded.
+
+## Remarks
+
+Use the [ICorDebugProcess2::SetDesiredNGENCompilerFlags](icordebugprocess2-setdesiredngencompilerflags-method.md) method to set the flags that the CLR will use to select the correct pre-compiled image to load.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getreferencevaluefromgchandle-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getreferencevaluefromgchandle-method.md
new file mode 100644
index 0000000000000..bd511aa51d1ab
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getreferencevaluefromgchandle-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugProcess2::GetReferenceValueFromGCHandle Method"
+title: "ICorDebugProcess2::GetReferenceValueFromGCHandle Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.GetReferenceValueFromGCHandle"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::GetReferenceValueFromGCHandle"
+helpviewer_keywords:
+ - "GetReferenceValueFromGCHandle method [.NET debugging]"
+ - "ICorDebugProcess2::GetReferenceValueFromGCHandle method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::GetReferenceValueFromGCHandle Method
+
+Gets a reference pointer to the specified managed object that has a garbage collection handle.
+
+## Syntax
+
+```cpp
+HRESULT GetReferenceValueFromGCHandle (
+ [in] UINT_PTR handle,
+ [out] ICorDebugReferenceValue **pOutValue
+);
+```
+
+## Parameters
+
+ `handle`
+ [in] A pointer to a managed object that has a garbage collection handle. This value is a object and can be retrieved from the for the managed object.
+
+ `pOutValue`
+ [out] A pointer to the address of an ICorDebugReferenceValue object that represents a reference to the specified managed object.
+
+## Remarks
+
+Do not confuse the returned reference value with a garbage collection reference value.
+
+The returned reference behaves like a normal reference. It is disabled when code execution continues after a breakpoint. The lifetime of the target object is not affected by the lifetime of the reference value.
+
+> [!NOTE]
+> The `GetReferenceValueFromGCHandle` method does not validate the handle. Therefore, the `GetReferenceValueFromGCHandle` method can potentially corrupt both the debugger and the code being debugged if an invalid handle is passed.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getthreadfortaskid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getthreadfortaskid-method.md
new file mode 100644
index 0000000000000..8a154d57ff41f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getthreadfortaskid-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugProcess2::GetThreadForTaskID Method"
+title: "ICorDebugProcess2::GetThreadForTaskID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.GetThreadForTaskID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::GetThreadForTaskID"
+helpviewer_keywords:
+ - "ICorDebugProcess2::GetThreadForTaskId method [.NET debugging]"
+ - "GetThreadForTaskID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::GetThreadForTaskID Method
+
+Gets the thread on which the task with the specified identifier is executing.
+
+## Syntax
+
+```cpp
+HRESULT GetThreadForTaskID (
+ [in] TASKID taskid,
+ [out] ICorDebugThread2 **ppThread
+);
+```
+
+## Parameters
+
+ `taskid`
+ [in] The identifier of the task.
+
+ `ppThread`
+ [out] A pointer to the address of an ICorDebugThread2 object that represents the thread to be retrieved.
+
+## Remarks
+
+The host can set the task identifier by using the [ICLRTask::SetTaskIdentifier](../../../../framework/unmanaged-api/hosting/iclrtask-settaskidentifier-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getversion-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getversion-method.md
new file mode 100644
index 0000000000000..9b28128726df8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-getversion-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugProcess2::GetVersion Method"
+title: "ICorDebugProcess2::GetVersion Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.GetVersion"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::GetVersion"
+helpviewer_keywords:
+ - "GetVersion method, ICorDebugProcess2 interface [.NET debugging]"
+ - "ICorDebugProcess2::GetVersion method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+
+# ICorDebugProcess2::GetVersion Method
+
+Gets the version number of the common language runtime (CLR) that is running in this process.
+
+## Syntax
+
+```cpp
+HRESULT GetVersion (
+ [out] COR_VERSION *version
+);
+```
+
+## Parameters
+
+`version`\
+[out] A pointer to a COR_VERSION structure that stores the version number of the runtime.
+
+## Remarks
+
+The `GetVersion` method returns an error code if no runtime has been loaded in the process.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess2-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-interface1.md
similarity index 84%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess2-interface1.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-interface1.md
index 0cd9e5c4e130f..13c42b9395a88 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess2-interface1.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-interface1.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugProcess2"
helpviewer_keywords:
- - "ICorDebugProcess2 interface [.NET Framework debugging]"
-ms.assetid: 73332138-5fea-441f-b893-61af87d45a42
+ - "ICorDebugProcess2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -39,14 +38,10 @@ A logical extension of the ICorDebugProcess interface, which represents a proces
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setdesiredngencompilerflags-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setdesiredngencompilerflags-method.md
new file mode 100644
index 0000000000000..fb780f378aa3d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setdesiredngencompilerflags-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugProcess2::SetDesiredNGENCompilerFlags Method"
+title: "ICorDebugProcess2::SetDesiredNGENCompilerFlags Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.SetDesiredNGENCompilerFlags"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::SetDesiredNGENCompilerFlags"
+helpviewer_keywords:
+ - "ICorDebugProcess2::SetDesiredNGENCompilerFlags method [.NET debugging]"
+ - "SetDesiredNGENCompilerFlags method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::SetDesiredNGENCompilerFlags Method
+
+Sets the flags that must be embedded in a precompiled image in order for the runtime to load that image into the current process.
+
+## Syntax
+
+```cpp
+HRESULT SetDesiredNGENCompilerFlags (
+ [in] DWORD pdwFlags
+);
+```
+
+## Parameters
+
+ `pdwFlags`
+ [in] A value of the [CorDebugJITCompilerFlags](cordebugjitcompilerflags-enumeration.md) enumeration that specifies the compiler flags used to select the correct pre-compiled image.
+
+## Remarks
+
+The `SetDesiredNGENCompilerFlags` method specifies the flags that must be embedded in a precompiled image so that the runtime will load that image into this process. The flags set by this method are used only to select the correct precompiled image. If no such image exists, the runtime will load the common intermediate language (CIL) image and the just-in-time (JIT) compiler instead. In that case, the debugger must still use the [ICorDebugModule2::SetJITCompilerFlags](icordebugmodule2-setjitcompilerflags-method.md) method to set the flags as desired for the JIT compilation.
+
+If an image is loaded, but some JIT compiling must take place for that image (which will be the case if the image contains generics), the compiler flags specified by the `SetDesiredNGENCompilerFlags` method will apply to the extra JIT compilation.
+
+The `SetDesiredNGENCompilerFlags` method must be called during the [ICorDebugManagedCallback::CreateProcess](icordebugmanagedcallback-createprocess-method.md) callback. Attempts to call the `SetDesiredNGENCompilerFlags` method afterwards will fail. Also, attempts to set flags that are either not defined in the `CorDebugJITCompilerFlags` enumeration or are not legal for the given process will fail.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebug Interface](icordebug-interface.md)
+- [ICorDebugManagedCallback Interface](icordebugmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setunmanagedbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setunmanagedbreakpoint-method.md
new file mode 100644
index 0000000000000..7458f28837558
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess2-setunmanagedbreakpoint-method.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugProcess2::SetUnmanagedBreakpoint Method"
+title: "ICorDebugProcess2::SetUnmanagedBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess2.SetUnmanagedBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess2::SetUnmanagedBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugProcess2::SetUnmanagedBreakpoint method [.NET debugging]"
+ - "SetUnmanagedBreakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess2::SetUnmanagedBreakpoint Method
+
+Sets an unmanaged breakpoint at the specified native image offset.
+
+## Syntax
+
+```cpp
+HRESULT SetUnmanagedBreakpoint (
+ [in] CORDB_ADDRESS address,
+ [in] ULONG32 bufsize,
+ [out, size_is(bufsize), length_is(*bufLen)]
+ BYTE buffer[],
+ [out] ULONG32 *bufLen
+);
+```
+
+## Parameters
+
+ `address`
+ [in] A `CORDB_ADDRESS` object that specifies the native image offset.
+
+ `bufsize`
+ [in] The size, in bytes, of the `buffer` array.
+
+ `buffer`
+ [out] An array that contains the opcode that is replaced by the breakpoint.
+
+ `bufLen`
+ [out] A pointer to the number of bytes returned in the `buffer` array.
+
+## Remarks
+
+If the native image offset is within the common language runtime (CLR), the breakpoint will be ignored. This allows the CLR to avoid dispatching an out-of-band breakpoint, when the breakpoint is set by the debugger.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-interface.md
new file mode 100644
index 0000000000000..06fe84085a6a9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-interface.md
@@ -0,0 +1,43 @@
+---
+description: "Learn more about: ICorDebugProcess3 Interface"
+title: "ICorDebugProcess3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess3"
+helpviewer_keywords:
+ - "ICorDebugProcess3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess3 Interface
+
+Controls custom debugger notifications.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[SetEnableCustomNotification Method](icordebugprocess3-setenablecustomnotification-method.md)|Enables and disables custom debugger notifications of the specified type.|
+
+## Remarks
+
+This interface logically extends the ICorDebugProcess and ICorDebugProcess2 interfaces.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-setenablecustomnotification-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-setenablecustomnotification-method.md
new file mode 100644
index 0000000000000..0eeffb9d9fd43
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess3-setenablecustomnotification-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess3::SetEnableCustomNotification Method"
+title: "ICorDebugProcess3::SetEnableCustomNotification Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess3.SetEnableCustomNotification Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess3::SetEnableCustomNotification"
+helpviewer_keywords:
+ - "ICorDebugProcess3::SetEnableCustomNotification method [.NET debugging]"
+ - "SetEnableCustomNotification method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess3::SetEnableCustomNotification Method
+
+Enables and disables custom debugger notifications of the specified type.
+
+## Syntax
+
+```cpp
+HRESULT SetEnableCustomNotification(ICorDebugClass * pClass,
+ BOOL fEnable);
+```
+
+## Parameters
+
+ `pClass`
+ [in] The type that specifies custom debugger notifications.
+
+ `fEnable`
+ [in] `true` to enable custom debugger notifications; `false` to disable notifications. The default value is `false`.
+
+## Remarks
+
+When `fEnable` is set to `true`, calls to the method trigger an [ICorDebugManagedCallback3::CustomNotification](icordebugmanagedcallback3-customnotification-method.md) callback. Notifications are disabled by default; therefore, the debugger must specify any notification types it knows about and wants to handle. Because the [ICorDebugClass](icordebug-interface.md) class is scoped by application domain, the debugger must call `SetEnableCustomNotification` for every application domain in the process if it wants to receive the notification across the entire process.
+
+Starting with the .NET Framework 4, the only supported notification is a cross-thread dependency notification.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugProcess3 Interface](icordebugprocess3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-interface.md
new file mode 100644
index 0000000000000..3518fac1eff74
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugProcess4 Interface"
+title: "ICorDebugProcess4 Interface"
+ms.date: "02/07/2019"
+api_name:
+ - "ICorDebugProcess4"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess4"
+helpviewer_keywords:
+ - "ICorDebugProcess4 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+author: "hoyosjs"
+ms.author: "juhoyosa"
+---
+# ICorDebugProcess4 Interface
+
+Provides support for out of process execution control.
+
+## Methods
+
+| Method | Description |
+|------------------------------------------------------------------------|-------------|
+| [ProcessStateChanged](icordebugprocess4-processstatechanged-method.md) | Notifies the ICorDebug pipeline that the out of process debugger is continuing the debugee's execution. |
+
+## Remarks
+
+This interface lives inside the runtime and isn't exposed through any headers or library files. However, it's a COM interface that derives from `IUnknown` with GUID `E930C679-78AF-4953-8AB7-B0AABF0F9F80` that can be obtained through the usual COM mechanisms.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** None
+
+**Library:** None
+
+**.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess4-processstatechanged-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-processstatechanged-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess4-processstatechanged-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-processstatechanged-method.md
index 3d83deaf3086f..e8d86eb9813a4 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess4-processstatechanged-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess4-processstatechanged-method.md
@@ -11,7 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugProcess4::ProcessStateChanged"
helpviewer_keywords:
- - "ICorDebugProcess4::ProcessStateChanged method [.NET Framework debugging]"
+ - "ICorDebugProcess4::ProcessStateChanged method [.NET debugging]"
topic_type:
- "apiref"
author: "hoyosjs"
@@ -40,16 +40,14 @@ The provided method is part of the `ICorDebugProcess4` interface and corresponds
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** None
**Library:** None
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5
## See also
- [ICorDebugProcess4 Interface](icordebugprocess4-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enablengenpolicy-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enablengenpolicy-method.md
new file mode 100644
index 0000000000000..d2e49812676c3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enablengenpolicy-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugProcess5::EnableNGENPolicy Method"
+title: "ICorDebugProcess5::EnableNGENPolicy Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5::EnableNGenPolicy"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::EnableNGENPolicy"
+helpviewer_keywords:
+ - "ICorDebugProcess5::EnableNGENPolicy method [.NET debugging]"
+ - "EnableNGENPolicy method, ICorDebugProcess5 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::EnableNGENPolicy Method
+
+Sets a value that determines how an application loads native images while running under a managed debugger.
+
+## Syntax
+
+```cpp
+HRESULT EnableNGENPolicy(
+ [in] CorDebugNGENPolicy ePolicy
+);
+```
+
+## Parameters
+
+ `ePolicy`
+ [in] A [CorDebugNGenPolicy](cordebugngenpolicy-enumeration.md) constant that determines how an application loads native images while running under a managed debugger.
+
+## Remarks
+
+If the policy is set successfully, the method returns `S_OK`. If `ePolicy` is outside the range of the enumerated values defined by [CorDebugNGenPolicy](cordebugngenpolicy-enumeration.md), the method returns `E_INVALIDARG` and the method call has no effect. If the policy of the Native Image Generator (Ngen.exe) cannot be updated, the method returns `E_FAIL`.
+
+The `ICorDebugProcess5::EnableNGenPolicy` method can be called at any time during the lifetime of the process. The policy is in effect for any modules that are loaded after the policy is set.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerategcreferences-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerategcreferences-method.md
new file mode 100644
index 0000000000000..acc29664689fd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerategcreferences-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess5::EnumerateGCReferences Method"
+title: "ICorDebugProcess5::EnumerateGCReferences Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.EnumerateGCReferences"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::EnumerateGCReferences"
+helpviewer_keywords:
+ - "EnumerateGCReferences method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::EnumerateGCReferences method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::EnumerateGCReferences Method
+
+Gets an enumerator for all objects that are to be garbage-collected in a process.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateGCReferences(
+ [in] Bool enumerateWeakReferences,
+ [out] ICorDebugGCReferenceEnum **ppEnum
+);
+```
+
+## Parameters
+
+ `enumerateWeakReferences`
+ [in] A Boolean value that indicates whether weak references are also to be enumerated. If `enumerateWeakReferences` is `true`, the `ppEnum` enumerator includes both strong references and weak references. If `enumerateWeakReferences` is `false`, the enumerator includes only strong references.
+
+ `ppEnum`
+ [out] A pointer to the address of an [ICorDebugGCReferenceEnum](icordebuggcreferenceenum-interface.md) that is an enumerator for the objects to be garbage-collected.
+
+## Remarks
+
+This method provides a way to determine the full rooting chain for any managed object in a process and can be used to determine why an object is still alive.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumeratehandles-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumeratehandles-method.md
new file mode 100644
index 0000000000000..aeef21f0bfdda
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumeratehandles-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugProcess5::EnumerateHandles Method"
+title: "ICorDebugProcess5::EnumerateHandles Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.EnumerateHandles"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::EnumerateHandles"
+helpviewer_keywords:
+ - "EnumerateHandles method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::EnumerateHandles method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::EnumerateHandles Method
+
+Gets an enumerator for object handles in a process.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateHandles( [in] CorGCReferenceType types,
+ [out] ICorDebugGCReferenceEnum **ppEnum);
+```
+
+## Parameters
+
+ `types`
+ [in] A bitwise combination of [CorGCReferenceType](corgcreferencetype-enumeration.md) values that specifies the type of handles to include in the collection.
+
+ `ppENum`
+ [out] A pointer to the address of an [ICorDebugGCReferenceEnum](icordebuggcreferenceenum-interface.md) that is an enumerator for the objects to be garbage-collected.
+
+## Remarks
+
+ `EnumerateHandles` is a helper function that supports inspection of the handle table. It is similar to the [ICorDebugProcess5::EnumerateGCReferences](icordebugprocess5-enumerategcreferences-method.md) method, except that rather than populating an [ICorDebugGCReferenceEnum](icordebuggcreferenceenum-interface.md) collection with all objects to be garbage-collected, it includes only objects that have handles from the handle table.
+
+The `types` parameter specifies the handle types to include in the collection. `types` can be any of the following three members of the [CorGCReferenceType](corgcreferencetype-enumeration.md) enumeration:
+
+- `CorHandleStrongOnly` (handles to strong references only).
+
+- `CorHandleWeakOnly` (handles to weak references only).
+
+- `CorHandleAll` (all handles).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheap-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheap-method.md
new file mode 100644
index 0000000000000..a34915bc71309
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheap-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugProcess5::EnumerateHeap Method"
+title: "ICorDebugProcess5::EnumerateHeap Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.EnumerateHeap"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::EnumerateHeap"
+helpviewer_keywords:
+ - "EnumerateHeap method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::EnumerateHeap method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::EnumerateHeap Method
+
+Gets an enumerator for the objects on the managed heap.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateHeap(
+ [out] ICorDebugHeapEnum **ppObjects
+);
+```
+
+## Parameters
+
+ `ppObject`
+ [out] A pointer to the address of an [ICorDebugHeapEnum](icordebugheapenum-interface.md) interface object that is an enumerator for the objects that reside on the managed heap.
+
+## Remarks
+
+Before calling the `ICorDebugProcess5::EnumerateHeap` method, you should call the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method and examine the value of the `areGCStructuresValid` field of the returned [COR_HEAPINFO](cor-heapinfo-structure.md) object to ensure that the garbage collection heap in its current state is enumerable. In addition, the `ICorDebugProcess5::EnumerateHeap` returns `E_FAIL` if you attach too early in the lifetime of the process, before memory for the managed heap is allocated.
+
+The [ICorDebugHeapEnum](icordebugheapenum-interface.md) interface object is a standard enumerator derived from the ICorDebugEnum interface that allows you to enumerate [COR_HEAPOBJECT](cor-heapobject-structure.md) objects. This method populates the [ICorDebugHeapEnum](icordebugheapenum-interface.md) collection object with [COR_HEAPOBJECT](cor-heapobject-structure.md) instances that provide information about all objects. The collection may also include [COR_HEAPOBJECT](cor-heapobject-structure.md) instances that provide information about objects that are not rooted by any object but have not yet been collected by the garbage collector.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheapregions-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheapregions-method.md
new file mode 100644
index 0000000000000..22b7a058ff6d3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-enumerateheapregions-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess5::EnumerateHeapRegions Method"
+title: "ICorDebugProcess5::EnumerateHeapRegions Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.EnumerateHeapRegions"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::EnumerateHeapRegions"
+helpviewer_keywords:
+ - "EnumerateHeapRegions method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::EnumerateHeapRegions method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::EnumerateHeapRegions Method
+
+Gets an enumerator for the memory ranges of the managed heap.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateHeapRegions(
+ [out] ICorDebugHeapSegmentEnum **ppRegions
+);
+```
+
+## Parameters
+
+ `ppRegions`
+ [out] A pointer to the address of an [ICorDebugHeapSegmentEnum](icordebugheapsegmentenum-interface.md) interface object that is an enumerator for the ranges of memory in which objects reside in the managed heap.
+
+## Remarks
+
+Before calling the `ICorDebugProcess5::EnumerateHeapRegions` method, you should call the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method and examine the value of the `areGCStructuresValid` field of the returned [COR_HEAPINFO](cor-heapinfo-structure.md) object to ensure that the garbage collection heap in its current state is enumerable. In addition, the `ICorDebugProcess5::EnumerateHeapRegions` method returns `E_FAIL` if you attach too early in the lifetime of the process, before memory regions are created.
+
+This method is guaranteed to enumerate all memory regions that may contain managed objects, but it does not guarantee that managed objects actually reside in those regions. The [ICorDebugHeapSegmentEnum](icordebugheapsegmentenum-interface.md) collection object may include empty or reserved memory regions.
+
+The [ICorDebugHeapSegmentEnum](icordebugheapsegmentenum-interface.md) interface object is a standard enumerator derived from the ICorDebugEnum interface that allows you to enumerate [COR_SEGMENT](cor-segment-structure.md) objects. Each [COR_SEGMENT](cor-segment-structure.md) object provides information about the memory range of a particular segment, along with the generation of the objects in that segment.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getarraylayout-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getarraylayout-method.md
new file mode 100644
index 0000000000000..235e9c8936be7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getarraylayout-method.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetArrayLayout Method"
+title: "ICorDebugProcess5::GetArrayLayout Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetArrayLayout"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetArrayLayout"
+helpviewer_keywords:
+ - "ICorDebugProcess5::GetArrayLayout method [.NET debugging]"
+ - "GetArrayLayout method, ICorDebugProcess5 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetArrayLayout Method
+
+Provides information about the layout of array types.
+
+## Syntax
+
+```cpp
+HRESULT GetArrayLayout( [in] COR_TYPEID id, [out] COR_ARRAY_LAYOUT *pLayout);
+```
+
+## Parameters
+
+ `id`
+ [in] A [COR_TYPEID](cor-typeid-structure.md) token that specifies the array whose layout is desired.
+
+ `pLayout`
+ [out] A pointer to a [COR_ARRAY_LAYOUT](cor-array-layout-structure.md) structure that contains information about the layout of the array in memory.
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getgcheapinformation-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getgcheapinformation-method.md
new file mode 100644
index 0000000000000..783f573be0fcc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getgcheapinformation-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetGCHeapInformation Method"
+title: "ICorDebugProcess5::GetGCHeapInformation Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetGCHeapInformation"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetGCHeapInformation"
+helpviewer_keywords:
+ - "ICorDebugProcess5::GetGCHeapInformation method [.NET debugging]"
+ - "GetGCHeapInformation method, ICorDebugProcess5 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetGCHeapInformation Method
+
+Provides general information about the garbage collection heap, including whether it is currently enumerable.
+
+## Syntax
+
+```cpp
+HRESULT GetGCHeapInformation(
+ [out] COR_HEAPINFO *pHeapInfo
+);
+```
+
+## Parameters
+
+ `pHeapInfo`
+ [out] A pointer to a [COR_HEAPINFO](cor-heapinfo-structure.md) value that provides general information about the garbage collection heap.
+
+## Remarks
+
+The `ICorDebugProcess5::GetGCHeapInformation` method must be called before enumerating the heap or individual heap regions to ensure that the garbage collection structures in the process are currently valid. The garbage collection heap cannot be walked while a collection is in progress. Otherwise, the enumeration may capture garbage collection structures that are invalid.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getobject-method.md
new file mode 100644
index 0000000000000..b209711f03732
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-getobject-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetObject Method"
+title: "ICorDebugProcess5::GetObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetObject"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetObject"
+helpviewer_keywords:
+ - "GetObject method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::GetObject method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetObject Method
+
+Converts an object address to an "ICorDebugObjectValue" object.
+
+## Syntax
+
+```cpp
+HRESULT GetObject(
+ [in] CORDB_ADDRESS addr,
+ [out] ICorDebugObjectValue **ppObject
+);
+```
+
+## Parameters
+
+ `addr`
+ [in] The object address.
+
+ `ppObject`
+ [out] A pointer to the address of an "ICorDebugObjectValue" object.
+
+## Remarks
+
+If `addr` does not point to a valid managed object, the `GetObject` method returns `E_FAIL`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefields-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefields-method.md
new file mode 100644
index 0000000000000..8a35ad138ec62
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefields-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetTypeFields Method"
+title: "ICorDebugProcess5::GetTypeFields Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetTypeFields"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetTypeFields"
+helpviewer_keywords:
+ - "GetTypeFields method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::GetTypeFields method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetTypeFields Method
+
+Provides information about the fields that belong to a type.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeFields(
+ [in] COR_TYPEID id,
+ [in] ULONG32 celt,
+ [out] COR_FIELD fields[],
+ [out] ULONG32 *pceltNeeded
+);
+```
+
+## Parameters
+
+ `id`
+ [in] The identifier of the type whose field information is retrieved.
+
+ `celt`
+ [in] The number of [COR_FIELD](cor-field-structure.md) objects whose field information is to be retrieved.
+
+ `fields`
+ [out] An array of [COR_FIELD](cor-field-structure.md) objects that provide information about the fields that belong to the type.
+
+ `pceltNeeded`
+ [out] A pointer to the number of [COR_FIELD](cor-field-structure.md) objects included in `fields`.
+
+## Remarks
+
+The `celt` parameter, which specifies the number of fields whose field information the method uses to populate `fields`, should correspond to the value of the `COR_TYPE_LAYOUT::numFields` field.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefortypeid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefortypeid-method.md
new file mode 100644
index 0000000000000..f73e281fcf967
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypefortypeid-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetTypeForTypeID Method"
+title: "ICorDebugProcess5::GetTypeForTypeID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetTypeForTypeID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetTypeForTypeID"
+helpviewer_keywords:
+ - "GetTypeForTypeID method, ICorDebugProcess5 interface [.NET debugging]"
+ - "ICorDebugProcess5::GetTypeForTypeID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetTypeForTypeID Method
+
+Converts a type identifier to an ICorDebugType value.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeForTypeID(
+ [in] COR_TYPEID id, [
+ out] ICorDebugType **ppType
+);
+```
+
+## Parameters
+
+ `id`
+ [in] The type identifier.
+
+ `ppType`
+ [out] A pointer to the address of an ICorDebugType object.
+
+## Remarks
+
+In some cases, methods that return a type identifier may return a null `COR_TYPEID` value. If this value is passed as the `id` argument, the `GetTypeForTypeID` method will fail and return `E_FAIL`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypeid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypeid-method.md
new file mode 100644
index 0000000000000..6c9b7b33a2bd3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypeid-method.md
@@ -0,0 +1,56 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetTypeID Method"
+title: "ICorDebugProcess5::GetTypeID Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugProcess5.GetTypeID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetTypeID"
+helpviewer_keywords:
+ - "ICorDebugProcess5::GetTypeID method [.NET debugging]"
+ - "GetTypeID method, ICorDebugProcess5 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetTypeID Method
+
+Converts an object address to a [COR_TYPEID](cor-typeid-structure.md) identifier.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeID(
+ [in] CORDB_ADDRESS obj,
+ [out] COR_TYPEID *pId
+);
+```
+
+## Parameters
+
+ `obj`
+ [in] The object address.
+
+ `pId`
+A pointer to the [COR_TYPEID](cor-typeid-structure.md) value that identifies the object.
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypelayout-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypelayout-method.md
new file mode 100644
index 0000000000000..a5195858c7e8e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-gettypelayout-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugProcess5::GetTypeLayout Method"
+title: "ICorDebugProcess5::GetTypeLayout Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess5.GetTypeLayout"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcess5::GetTypeLayout"
+helpviewer_keywords:
+ - "ICorDebugProcess5::GetTypeLayout method [.NET debugging]"
+ - "GetTypeLayout method, ICorDebugProcess5 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess5::GetTypeLayout Method
+
+Gets information about the layout of an object in memory based on its type identifier.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeLayout( [in] COR_TYPEID id, [out] COR_TYPE_LAYOUT *pLayout);
+```
+
+## Parameters
+
+ `id`
+ [in] A [COR_TYPEID](cor-typeid-structure.md) token that specifies the type whose layout is desired.
+
+ `pLayout`
+ [out] A pointer to a [COR_TYPE_LAYOUT](cor-type-layout-structure.md) structure that contains information about the layout of the object in memory.
+
+## Remarks
+
+The `ICorDebugProcess5::GetTypeLayout` method provides information about an object based on its [COR_TYPEID](cor-typeid-structure.md), which is returned by a number of other [ICorDebugProcess5](icordebugprocess5-interface.md) methods. The information is provided by a [COR_TYPE_LAYOUT](cor-type-layout-structure.md) structure that is populated by the method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [COR_TYPE_LAYOUT Structure](cor-type-layout-structure.md)
+- [ICorDebugProcess5 Interface](icordebugprocess5-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess5-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-interface.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess5-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-interface.md
index 6c9a1b5076e49..41f4c1be3b97c 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess5-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess5-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugProcess5"
helpviewer_keywords:
- - "ICorDebugProcess5 interface [.NET Framework debugging]"
-ms.assetid: 30a39d79-1f10-4328-9c5d-094ed824e2ba
+ - "ICorDebugProcess5 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -39,22 +38,17 @@ Extends the ICorDebugProcess interface to support access to the managed heap, to
## Remarks
- This interface logically extends the ICorDebugProcess, ICorDebugProcess2, and [ICorDebugProcess3](icordebugprocess3-interface.md) interfaces.
+This interface logically extends the ICorDebugProcess, ICorDebugProcess2, and [ICorDebugProcess3](icordebugprocess3-interface.md) interfaces.
> [!NOTE]
> This interface does not support being called remotely, either from another machine or from another process.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess6-decodeevent-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-decodeevent-method.md
similarity index 86%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess6-decodeevent-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-decodeevent-method.md
index b794c22c1f777..1026469176b42 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess6-decodeevent-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-decodeevent-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugProcess6::DecodeEvent Method"
title: "ICorDebugProcess6::DecodeEvent Method"
ms.date: "03/30/2017"
-ms.assetid: 1453bc0c-6e0d-4d5a-b176-22607f8a3e6c
---
# ICorDebugProcess6::DecodeEvent Method
@@ -48,15 +47,14 @@ HRESULT DecodeEvent(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-enablevirtualmodulesplitting-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-enablevirtualmodulesplitting-method.md
new file mode 100644
index 0000000000000..cb56952e6ecee
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-enablevirtualmodulesplitting-method.md
@@ -0,0 +1,119 @@
+---
+description: "Learn more about: ICorDebugProcess6::EnableVirtualModuleSplitting Method"
+title: "ICorDebugProcess6::EnableVirtualModuleSplitting Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugProcess6::EnableVirtualModuleSplitting Method
+
+Enables or disables virtual module splitting.
+
+## Syntax
+
+```cpp
+HRESULT EnableVirtualModuleSplitting(
+ BOOL enableSplitting
+);
+```
+
+## Parameters
+
+ `enableSplitting`
+ `true` to enable virtual module splitting; `false` to disable it.
+
+## Remarks
+
+Virtual module splitting causes [ICorDebug](icordebug-interface.md) to recognize modules that were merged together during the build process and present them as a group of separate modules rather than a single large module. Doing this changes the behavior of various [ICorDebug](icordebug-interface.md) methods described below.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+This method can be called and the value of `enableSplitting` can be changed at any time. It does not cause any stateful functional changes in an [ICorDebug](icordebug-interface.md) object, other than altering the behavior of the methods listed in the [Virtual module splitting and the unmanaged debugging APIs](#APIs) section at the time they are called. Using virtual modules does incur a performance penalty when calling those methods. In addition, significant in-memory caching of the virtualized metadata may be required to correctly implement the [IMetaDataImport](../../metadata/interfaces/imetadataimport-interface.md) APIs, and these caches may be retained even after virtual module splitting has been turned off.
+
+## Terminology
+
+The following terms are used when describing virtual module splitting:
+
+container modules, or containers
+The aggregate modules.
+
+sub-modules, or virtual modules
+The modules found in a container.
+
+regular modules
+Modules that were not merged at build time. They are neither container modules nor sub-modules.
+
+Both container modules and sub-modules are represented by ICorDebugModule interface objects. However, the behavior of the interface is slightly different in each case, as the \ section describes.
+
+## Modules and assemblies
+
+Multi-module assemblies are not supported for assembly merging scenarios, so there is a one-to-one relationship between a module and an assembly. Each ICorDebugModule object, regardless of whether it represents a container module or a sub-module, has a corresponding ICorDebugAssembly object. The [ICorDebugModule::GetAssembly](icordebugmodule-getassembly-method.md) method converts from the module to the assembly. To map in the other direction, the [ICorDebugAssembly::EnumerateModules](icordebugassembly-enumeratemodules-method.md) method enumerates only 1 module. Because assembly and module form a tightly coupled pair in this case, the terms assembly and module become largely interchangeable.
+
+## Behavioral differences
+
+Container modules have the following behaviors and characteristics:
+
+- Their metadata for all of the constituent sub-modules is merged together.
+
+- Their type names may be mangled.
+
+- The [ICorDebugModule::GetName](icordebugmodule-getname-method.md) method returns the path to an on-disk module.
+
+- The [ICorDebugModule::GetSize](icordebugmodule-getsize-method.md) method returns the size of that image.
+
+- The ICorDebugAssembly3.EnumerateContainedAssemblies method lists the sub-modules.
+
+- The ICorDebugAssembly3.GetContainerAssembly method returns `S_FALSE`.
+
+Sub-modules have the following behaviors and characteristics:
+
+- They have a reduced set of metadata that corresponds only to the original assembly that was merged.
+
+- The metadata names are not mangled.
+
+- Metadata tokens are unlikely to match the tokens in the original assembly before it was merged in the build process.
+
+- The [ICorDebugModule::GetName](icordebugmodule-getname-method.md) method returns the assembly name, not a file path.
+
+- The [ICorDebugModule::GetSize](icordebugmodule-getsize-method.md) method returns the original unmerged image size.
+
+- The ICorDebugModule3.EnumerateContainedAssemblies method returns `S_FALSE`.
+
+- The ICorDebugAssembly3.GetContainerAssembly method returns the containing module.
+
+## Interfaces retrieved from modules
+
+A variety of interfaces can be created or retrieved from modules. Some of these include:
+
+- An ICorDebugClass object, which is returned by the [ICorDebugModule::GetClassFromToken](icordebugmodule-getclassfromtoken-method.md) method.
+
+- An ICorDebugAssembly object, which is returned by the [ICorDebugModule::GetAssembly](icordebugmodule-getassembly-method.md) method.
+
+These objects are always cached by [ICorDebug](icordebug-interface.md), and they will have the same pointer identity regardless of whether they were created or queried from the container module or a sub-module. The sub-module provides a filtered view of these cached objects, not a separate cache with its own copies.
+
+
+
+## Virtual module splitting and the unmanaged debugging APIs
+
+The following table shows how virtual module splitting affects the behavior of other methods in the unmanaged debugging API.
+
+|Method|`enableSplitting` = `true`|`enableSplitting` = `false`|
+|------------|---------------------------------|----------------------------------|
+|[ICorDebugFunction::GetModule](icordebugfunction-getmodule-method.md)|Returns the sub-module this function was originally defined in|Returns the container module this function was merged into|
+|[ICorDebugClass::GetModule](icordebugclass-getmodule-method.md)|Returns the sub-module this class was originally defined in.|Returns the container module this class was merged into.|
+|ICorDebugModuleDebugEvent::GetModule|Returns the container module that was loaded. Sub-modules are not given load events regardless of this setting.|Returns the container module that was loaded.|
+|[ICorDebugAppDomain::EnumerateAssemblies](icordebugappdomain-enumerateassemblies-method.md)|Returns a list of sub-assemblies and regular assemblies; no container assemblies are included. **Note:** If any container assembly is missing symbols, none of its sub-assemblies will be enumerated. If any regular assembly is missing symbols, it may or may not be enumerated.|Returns a list of container assemblies and regular assemblies; no sub-assemblies are included. **Note:** If any regular assembly is missing symbols, it may or may not be enumerated.|
+|[ICorDebugCode::GetCode](icordebugcode-getcode-method.md) (when referring to IL code only)|Returns IL that would be valid in a pre-merge assembly image. Specifically, any inline metadata tokens will correctly be TypeRef or MemberRef tokens when the types being referred to are not defined in the virtual module containing the IL. These TypeRef or MemberRef tokens can be looked up in the [IMetaDataImport](../../metadata/interfaces/imetadataimport-interface.md) object for the corresponding virtual ICorDebugModule object.|Returns the IL in the post-merge assembly image.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getcode-method.md
new file mode 100644
index 0000000000000..5d586f7e6f1e5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getcode-method.md
@@ -0,0 +1,43 @@
+---
+description: "Learn more about: ICorDebugProcess6::GetCode Method"
+title: "ICorDebugProcess6::GetCode Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugProcess6::GetCode Method
+
+Gets information about the managed code at a particular code address.
+
+## Syntax
+
+```cpp
+HRESULT GetCode(
+ [in] CORDB_ADDRESS codeAddress,
+ [out] ICorDebugCode **ppCode);
+```
+
+## Parameters
+
+ `codeAddress`
+ [in] A [CORDB_ADDRESS](../../../../framework/unmanaged-api/common-data-types-unmanaged-api-reference.md) value that specifies the starting address of the managed code segment.
+
+ `ppCode`
+ [out] A pointer to the address of an "ICorDebugCode" object that represents a segment of managed code.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess6-getexportstepinfo-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getexportstepinfo-method.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess6-getexportstepinfo-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getexportstepinfo-method.md
index 3a654e639cd8e..16d94461defb9 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess6-getexportstepinfo-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-getexportstepinfo-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugProcess6::GetExportStepInfo Method"
title: "ICorDebugProcess6::GetExportStepInfo Method"
ms.date: "03/30/2017"
-ms.assetid: a927e0ac-f110-426d-bbec-9377a29c8f17
---
# ICorDebugProcess6::GetExportStepInfo Method
@@ -19,18 +18,18 @@ HRESULT GetExportStepInfo(
## Parameters
- pszExportName
+pszExportName
[in] The name of a runtime export function as written in the PE export table.
- invokeKind
+invokeKind
[out] A pointer to a member of the [CorDebugCodeInvokeKind](cordebugcodeinvokekind-enumeration.md) enumeration that describes how the exported function will invoke managed code.
- invokePurpose
+invokePurpose
[out] A pointer to a member of the [CorDebugCodeInvokePurpose](cordebugcodeinvokepurpose-enumeration.md) enumeration that describes why the exported function will call managed code.
## Return Value
- The method can return the values listed in the following table.
+The method can return the values listed in the following table.
|Return value|Description|
|------------------|-----------------|
@@ -45,15 +44,14 @@ HRESULT GetExportStepInfo(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess6-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-interface.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess6-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-interface.md
index 4a1f59a7bf45b..ca1b43922a67b 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess6-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugProcess6 Interface"
title: "ICorDebugProcess6 Interface"
ms.date: "03/30/2017"
-ms.assetid: 34a10ac2-882c-4797-8369-f120e8e640c7
---
# ICorDebugProcess6 Interface
@@ -16,7 +15,7 @@ Logically extends the ICorDebugProcess interface to enable features such as deco
|[EnableVirtualModuleSplitting Method](icordebugprocess6-enablevirtualmodulesplitting-method.md)|Enables or disables virtual module splitting.|
|[GetCode Method](icordebugprocess6-getcode-method.md)|Gets information about the managed code at a particular code address.|
|[GetExportStepInfo Method](icordebugprocess6-getexportstepinfo-method.md)|Provides information on runtime exported functions to help step through managed code.|
-|[MarkDebuggerAttached Method](icordebugprocess6-markdebuggerattached-method.md)|Changes the internal state of the debugee so that the method in the .NET Framework Class Library returns `true`.|
+|[MarkDebuggerAttached Method](icordebugprocess6-markdebuggerattached-method.md)|Changes the internal state of the debugee so that the method returns `true`.|
|[ProcessStateChanged Method](icordebugprocess6-processstatechanged-method.md)|Notifies [ICorDebug](icordebug-interface.md) that the process is running.|
## Remarks
@@ -26,15 +25,10 @@ Logically extends the ICorDebugProcess interface to enable features such as deco
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/icordebugprocess6-markdebuggerattached-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-markdebuggerattached-method.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugprocess6-markdebuggerattached-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-markdebuggerattached-method.md
index 3cab43e1cb26d..c2738b46feced 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugprocess6-markdebuggerattached-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-markdebuggerattached-method.md
@@ -2,11 +2,10 @@
description: "Learn more about: ICorDebugProcess6::MarkDebuggerAttached Method"
title: "ICorDebugProcess6::MarkDebuggerAttached Method"
ms.date: "03/30/2017"
-ms.assetid: bf94f090-5265-4112-8e57-5b4e20e070d0
---
# ICorDebugProcess6::MarkDebuggerAttached Method
-Changes the internal state of the debugee so that the method in the .NET Framework Class Library returns `true`.
+Changes the internal state of the debugee so that the method returns `true`.
## Syntax
@@ -23,7 +22,7 @@ HRESULT MarkDebuggerAttached(
## Return Value
- The method can return the values listed in the following table.
+The method can return the values listed in the following table.
|Return value|Description|
|------------------|-----------------|
@@ -38,15 +37,14 @@ HRESULT MarkDebuggerAttached(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-processstatechanged-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-processstatechanged-method.md
new file mode 100644
index 0000000000000..de8a05dde7984
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess6-processstatechanged-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugProcess6::ProcessStateChanged Method"
+title: "ICorDebugProcess6::ProcessStateChanged Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugProcess6::ProcessStateChanged Method
+
+Notifies [ICorDebug](icordebug-interface.md) that the process is running.
+
+## Syntax
+
+```cpp
+HRESULT ProcessStateChanged( [in] CorDebugStateChange change);
+```
+
+## Parameters
+
+ `change`
+ [in] A member of the [ProcessStateChanged](icordebugprocess6-processstatechanged-method.md) enumeration
+
+## Remarks
+
+The debugger calls this method to notify [ICorDebug](icordebug-interface.md) that the process is running.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugProcess6 Interface](icordebugprocess6-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-interface.md
new file mode 100644
index 0000000000000..10b875c3c1785
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-interface.md
@@ -0,0 +1,34 @@
+---
+description: "Learn more about: ICorDebugProcess7 Interface"
+title: "ICorDebugProcess7 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcess7"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess7 Interface
+
+Provides a method that configures the debugger to handle in-memory metadata updates in the target process.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[SetWriteableMetadataUpdateMode Method](icordebugprocess7-setwriteablemetadataupdatemode-method.md)|Sets a value that determines how the debugger handles in-memory updates to metadata within the target process.|
+
+## Remarks
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-setwriteablemetadataupdatemode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-setwriteablemetadataupdatemode-method.md
new file mode 100644
index 0000000000000..cff8734a645e7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess7-setwriteablemetadataupdatemode-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugProcess7::SetWriteableMetadataUpdateMode Method"
+title: "ICorDebugProcess7::SetWriteableMetadataUpdateMode Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugProcess7.SetWriteableMetadataUpdateMode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcess7::SetWriteableMetadataUpdateMode Method
+
+Configures how the debugger handles in-memory updates to metadata within the target process.
+
+## Syntax
+
+```cpp
+HRESULT SetWriteableMetadataUpdateMode(
+ WriteableMetadataUpdateMode flags
+);
+```
+
+## Parameters
+
+ `flags`\
+A [WriteableMetadataUpdateMode](writeablemetadataupdatemode-enumeration.md) enumeration value that specifies whether in-memory updates to metadata in the target process are visible (`WriteableMetadataUpdateMode::AlwaysShowUpdates`) or not visible (`WriteableMetadataUpdateMode::LegacyCompatPolicy`) to the debugger.
+
+## Remarks
+
+Updates to the metadata of the target process can come from Edit and Continue, a profiler, or .
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [ICorDebugProcess7 Interface](icordebugprocess7-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method.md
new file mode 100644
index 0000000000000..982024faad16d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method.md
@@ -0,0 +1,47 @@
+---
+description: "Learn more about: ICorDebugProcess8::EnableExceptionCallbacksOutsideOfMyCode Method"
+title: "ICorDebugProcess8::EnableExceptionCallbacksOutsideOfMyCode Method"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+---
+# ICorDebugProcess8::EnableExceptionCallbacksOutsideOfMyCode Method
+
+Enables or disables certain types of [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md) exception callbacks.
+
+## Syntax
+
+```cpp
+HRESULT EnableExceptionCallbacksOutsideOfMyCode(
+ [in] BOOL enableExceptionsOutsideOfJMC
+);
+```
+
+## Parameters
+
+ `enableExceptionsOutsideOfJMC`
+ [in]
+
+## Remarks
+
+If the value of `enableExceptionsOutsideOfJMC` is `false`:
+
+- A DEBUG_EXCEPTION_FIRST_CHANCE exception will not result in a callback to the debugger.
+
+- A DEBUG_EXCEPTION_CATCH_HANDLER_FOUND exception will not result in a callback to the debugger if the exception never escapes into user code (that is, the path from an exception origin to an exception handler has no methods marked as JustMyCode, or JMC).
+
+The default value of `enableExceptionsOutsideOfJMC` is `true`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugProcess8 Interface](icordebugprocess8-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-interface.md
new file mode 100644
index 0000000000000..3a4d1517ecb6d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocess8-interface.md
@@ -0,0 +1,24 @@
+---
+description: "Learn more about: ICorDebugProcess8 Interface"
+title: "ICorDebugProcess8 Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugProcess8 Interface
+
+Logically extends the ICorDebugProcess interface to enable or disable certain types of [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md) exception callbacks.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnableExceptionCallbacksOutsideOfMyCode Method](icordebugprocess8-enableexceptioncallbacksoutsideofmycode-method.md)|Enables or disables certain types of [ICorDebugManagedCallback2](icordebugmanagedcallback2-interface.md) exception callbacks.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-interface.md
new file mode 100644
index 0000000000000..38337fb009e4c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugProcessEnum Interface"
+title: "ICorDebugProcessEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcessEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcessEnum"
+helpviewer_keywords:
+ - "ICorDebugProcessEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcessEnum Interface
+
+Implements ICorDebugEnum methods and enumerates ICorDebugProcess arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugprocessenum-next-method.md)|Gets the specified number of `ICorDebugProcess` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-next-method.md
new file mode 100644
index 0000000000000..5393c2a25d74a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugprocessenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugProcessEnum::Next Method"
+title: "ICorDebugProcessEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugProcessEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugProcessEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugProcessEnum interface [.NET debugging]"
+ - "ICorDebugProcessEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugProcessEnum::Next Method
+
+Gets the specified number of ICorDebugProcess instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugProcess *processes[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugProcess` instances to be retrieved.
+
+ `processes`
+ [out] An array of pointers, each of which points to an `ICorDebugProcess` object that represents a process.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugProcess` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereference-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereference-method.md
new file mode 100644
index 0000000000000..7413736d5bec9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereference-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugReferenceValue::Dereference Method"
+title: "ICorDebugReferenceValue::Dereference Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue.Dereference"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue::Dereference"
+helpviewer_keywords:
+ - "ICorDebugReferenceValue::Dereference method [.NET debugging]"
+ - "Dereference method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue::Dereference Method
+
+Gets the object that is referenced.
+
+## Syntax
+
+```cpp
+HRESULT Dereference (
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `ppValue`
+ [out] A pointer to the address of an ICorDebugValue that represents the object to which this ICorDebugReferenceValue object points.
+
+## Remarks
+
+The `ICorDebugValue` object is valid only while its reference has not yet been disabled.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereferencestrong-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereferencestrong-method.md
new file mode 100644
index 0000000000000..7ad3431498a23
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-dereferencestrong-method.md
@@ -0,0 +1,39 @@
+---
+description: "Learn more about: ICorDebugReferenceValue::DereferenceStrong Method"
+title: "ICorDebugReferenceValue::DereferenceStrong Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue.DereferenceStrong"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue::DereferenceStrong"
+helpviewer_keywords:
+ - "ICorDebugReferenceValue::DereferenceStrong method [.NET debugging]"
+ - "DereferenceStrong method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue::DereferenceStrong Method
+
+`DereferenceStrong` is not implemented. Do not call this method.
+
+## Syntax
+
+```cpp
+HRESULT DereferenceStrong (
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-getvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-getvalue-method.md
new file mode 100644
index 0000000000000..04a56efe4c74b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-getvalue-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugReferenceValue::GetValue Method"
+title: "ICorDebugReferenceValue::GetValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue.GetValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue::GetValue"
+helpviewer_keywords:
+ - "GetValue method, ICorDebugReferenceValue interface [.NET debugging]"
+ - "ICorDebugReferenceValue::GetValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue::GetValue Method
+
+Gets the current memory address of the referenced object.
+
+## Syntax
+
+```cpp
+HRESULT GetValue (
+ [out] CORDB_ADDRESS *pValue
+);
+```
+
+## Parameters
+
+ `pValue`
+ [out] A pointer to a `CORDB_ADDRESS` value that specifies the address of the object to which this ICorDebugReferenceValue object points.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-interface.md
new file mode 100644
index 0000000000000..76e5556a786d3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-interface.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugReferenceValue Interface"
+title: "ICorDebugReferenceValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue"
+helpviewer_keywords:
+ - "ICorDebugReferenceValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue Interface
+
+Provides methods that manage a value that is a reference to an object. (That is, this interface provides methods that manage a pointer.) This interface implements "ICorDebugValue".
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Dereference Method](icordebugreferencevalue-dereference-method.md)|Gets the object that is referenced.|
+|[DereferenceStrong Method](icordebugreferencevalue-dereferencestrong-method.md)|Not implemented. Do not call this method.|
+|[GetValue Method](icordebugreferencevalue-getvalue-method.md)|Gets the current memory address of the referenced object.|
+|[IsNull Method](icordebugreferencevalue-isnull-method.md)|Gets a value that indicates whether this `ICorDebugReferenceValue` is a null value, in which case the `ICorDebugReferenceValue` does not point to an object.|
+|[SetValue Method](icordebugreferencevalue-setvalue-method.md)|Sets the current memory address. That is, this method sets this `ICorDebugReferenceValue` to point to an object.|
+
+## Remarks
+
+The common language runtime (CLR) may do a garbage collection on objects when the debugged process is continued. The garbage collection may move objects around in memory. An `ICorDebugReferenceValue` will either cooperate with the garbage collection so that its information is updated after the garbage collection, or it will be invalidated implicitly before the garbage collection.
+
+The `ICorDebugReferenceValue` object may be implicitly invalidated after the debugged process has been continued. The derived "ICorDebugHandleValue" is not invalidated until it is explicitly released or exposed.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-isnull-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-isnull-method.md
new file mode 100644
index 0000000000000..a9a79d30bcf8f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-isnull-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugReferenceValue::IsNull Method"
+title: "ICorDebugReferenceValue::IsNull Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue.IsNull"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue::IsNull"
+helpviewer_keywords:
+ - "IsNull method, ICorDebugReferenceValue interface [.NET debugging]"
+ - "ICorDebugReferenceValue::IsNull method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue::IsNull Method
+
+Gets a value that indicates whether this ICorDebugReferenceValue is a null value, in which case the `ICorDebugReferenceValue` does not point to an object.
+
+## Syntax
+
+```cpp
+HRESULT IsNull (
+ [out] BOOL *pbNull
+);
+```
+
+## Parameters
+
+ `pbNull`
+ [out] A pointer to a Boolean value that is `true` if this `ICorDebugReferenceValue` object is null; otherwise, `pbNull` is `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-setvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-setvalue-method.md
new file mode 100644
index 0000000000000..21a7880639a5b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugreferencevalue-setvalue-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugReferenceValue::SetValue Method"
+title: "ICorDebugReferenceValue::SetValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugReferenceValue.SetValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugReferenceValue::SetValue"
+helpviewer_keywords:
+ - "SetValue method, ICorDebugReferenceValue interface [.NET debugging]"
+ - "ICorDebugReferenceValue::SetValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugReferenceValue::SetValue Method
+
+Sets the specified memory address. That is, this method sets this ICorDebugReferenceValue to point to an object.
+
+## Syntax
+
+```cpp
+HRESULT SetValue (
+ [in] CORDB_ADDRESS value
+);
+```
+
+## Parameters
+
+ `value`
+ [in] A `CORDB_ADDRESS` value that specifies the address of the object to which this `ICorDebugReferenceValue` points.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregisters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregisters-method.md
new file mode 100644
index 0000000000000..4fbe3a8ad961b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregisters-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugRegisterSet::GetRegisters Method"
+title: "ICorDebugRegisterSet::GetRegisters Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet.GetRegisters"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet::GetRegisters"
+helpviewer_keywords:
+ - "GetRegisters method, ICorDebugRegisterSet interface [.NET debugging]"
+ - "ICorDebugRegisterSet::GetRegisters method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet::GetRegisters Method
+
+Gets the value of each register (on the computer that is currently executing code) that is specified by the bit mask.
+
+## Syntax
+
+```cpp
+HRESULT GetRegisters (
+ [in] ULONG64 mask,
+ [in] ULONG32 regCount,
+ [out, size_is(regCount), length_is(regCount)]
+ CORDB_REGISTER regBuffer[]
+);
+```
+
+## Parameters
+
+ `mask`
+ [in] A bit mask that specifies which register values are to be retrieved. Each bit corresponds to a register. If a bit is set to one, the register's value is retrieved; otherwise, the register's value is not retrieved.
+
+ `regCount`
+ [in] The number of register values to be retrieved.
+
+ `regBuffer`
+ [out] An array of `CORDB_REGISTER` objects, each of which receives a value of a register.
+
+## Remarks
+
+The size of the array should be equal to the number of bits set to one in the bit mask. The `regCount` parameter specifies the number of elements in the buffer that will receive the register values. If the `regCount` value is too small for the number of registers indicated by the mask, the higher numbered registers will be truncated from the set. If the `regCount` value is too large, the unused `regBuffer` elements will be unmodified.
+
+If the bit mask specifies a register that is unavailable, `GetRegisters` returns an indeterminate value for that register.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregistersavailable-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregistersavailable-method.md
new file mode 100644
index 0000000000000..0f358d460f2b4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getregistersavailable-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugRegisterSet::GetRegistersAvailable Method"
+title: "ICorDebugRegisterSet::GetRegistersAvailable Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet.GetRegistersAvailable"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet::GetRegistersAvailable"
+helpviewer_keywords:
+ - "ICorDebugRegisterSet::GetRegistersAvailable method [.NET debugging]"
+ - "GetRegistersAvailable method, ICorDebugRegisterSet interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet::GetRegistersAvailable Method
+
+Gets a bit mask indicating which registers in this [ICorDebugRegisterSet](icordebugregisterset-interface.md) are currently available.
+
+## Syntax
+
+```cpp
+HRESULT GetRegistersAvailable (
+ [out] ULONG64 *pAvailable
+);
+```
+
+## Parameters
+
+ `pAvailable`
+ [out] A bit mask that indicates which registers are currently available.
+
+## Remarks
+
+A register may be unavailable if its value cannot be determined for the given situation.
+
+The returned mask contains a bit for each register (1 << the register index). The bit value is 1 if the register is available, or 0 if it is not available.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getthreadcontext-method.md
new file mode 100644
index 0000000000000..6a8b54d3ca203
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-getthreadcontext-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugRegisterSet::GetThreadContext Method"
+title: "ICorDebugRegisterSet::GetThreadContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet.GetThreadContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet::GetThreadContext"
+helpviewer_keywords:
+ - "GetThreadContext method, ICorDebugRegisterSet interface [.NET debugging]"
+ - "ICorDebugRegisterSet::GetThreadContext method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet::GetThreadContext Method
+
+Gets the context of the current thread.
+
+## Syntax
+
+```cpp
+HRESULT GetThreadContext(
+ [in] ULONG32 contextSize,
+ [in, out, length_is(contextSize),
+ size_is(contextSize)] BYTE context[]
+);
+```
+
+## Parameters
+
+ `contextSize`
+ [in] The size, in bytes, of the `context` array.
+
+ `context`
+ [in, out] An array of bytes that compose the Win32 `CONTEXT` structure for the current platform.
+
+## Remarks
+
+The debugger should call this function instead of the Win32 `GetThreadContext` function, because the thread may be in a "hijacked" state where its context has been temporarily changed. The data returned is a Win32 `CONTEXT` structure for the current platform.
+
+For non-leaf frames, clients should check which registers are valid by using [ICorDebugRegisterSet::GetRegistersAvailable](icordebugregisterset-getregistersavailable-method.md).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-interface.md
new file mode 100644
index 0000000000000..94337cf316a27
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-interface.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugRegisterSet Interface"
+title: "ICorDebugRegisterSet Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet"
+helpviewer_keywords:
+ - "ICorDebugRegisterSet interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet Interface
+
+Represents the set of registers available on the computer that is currently executing code.
+
+## Methods
+
+| Method | Description |
+|----------------------------------------------------------------------------|-----------------------------------------|
+| [GetRegisters Method](icordebugregisterset-getregisters-method.md) | Gets the value of each register (on the computer that's currently executing code) that's specified by the bit mask. |
+| [GetRegistersAvailable Method](icordebugregisterset-getregistersavailable-method.md) | Gets a bit mask indicating which registers in this `ICorDebugRegisterSet` are currently available. |
+| [GetThreadContext Method](icordebugregisterset-getthreadcontext-method.md) | Gets the context of the current thread. |
+| [SetRegisters Method](icordebugregisterset-setregisters-method.md) | Not implemented. |
+| [SetThreadContext Method](icordebugregisterset-setthreadcontext-method.md) | Not implemented. |
+
+## Remarks
+
+The `ICorDebugRegisterSet` interface supports only 32-bit registers. Use the [ICorDebugRegisterSet2](icordebugregisterset2-interface.md) interface on platforms such as IA-64 that require additional registers.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setregisters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setregisters-method.md
new file mode 100644
index 0000000000000..07fdb32347179
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setregisters-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugRegisterSet::SetRegisters Method"
+title: "ICorDebugRegisterSet::SetRegisters Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet.SetRegisters"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet::SetRegisters"
+helpviewer_keywords:
+ - "SetRegisters method, ICorDebugRegisterSet interface [.NET debugging]"
+ - "ICorDebugRegisterSet::SetRegisters method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet::SetRegisters Method
+
+`SetRegisters` is not implemented.
+
+> [!NOTE]
+> Use the higher-level operations such as [ICorDebugILFrame::SetIP](icordebugilframe-setip-method.md) or [ICorDebugNativeFrame::SetIP](icordebugnativeframe-setip-method.md).
+
+## Syntax
+
+```cpp
+HRESULT SetRegisters (
+ [in] ULONG64 mask,
+ [in] ULONG32 regCount,
+ [in, size_is(regCount)] CORDB_REGISTER regBuffer[]
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
+
+## See also
+
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setthreadcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setthreadcontext-method.md
new file mode 100644
index 0000000000000..a7f785eb2ae88
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset-setthreadcontext-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugRegisterSet::SetThreadContext Method"
+title: "ICorDebugRegisterSet::SetThreadContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet.SetThreadContext"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet::SetThreadContext"
+helpviewer_keywords:
+ - "ICorDebugRegisterSet::SetThreadContext method [.NET debugging]"
+ - "SetThreadContext method, ICorDebugRegisterSet interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet::SetThreadContext Method
+
+`SetThreadContext` is not implemented.
+
+> [!NOTE]
+> Use the higher-level operation [ICorDebugNativeFrame::SetIP](icordebugnativeframe-setip-method.md) to set the context of a thread.
+
+## Syntax
+
+```cpp
+HRESULT SetThreadContext (
+ [in] ULONG32 contextSize,
+ [in, length_is(contextSize),
+ size_is(contextSize)] BYTE context[]
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 1.1, 1.0
+
+## See also
+
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregisters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregisters-method.md
new file mode 100644
index 0000000000000..6c59381e937c5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregisters-method.md
@@ -0,0 +1,71 @@
+---
+description: "Learn more about: ICorDebugRegisterSet2::GetRegisters method"
+title: "ICorDebugRegisterSet2::GetRegisters Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet2.GetRegisters"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet2::GetRegisters"
+helpviewer_keywords:
+ - "GetRegisters method, ICorDebugRegisterSet2 interface [.NET debugging]"
+ - "ICorDebugRegisterSet2::GetRegisters method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet2::GetRegisters method
+
+Gets the value of each register (for the platform on which code is currently executing) that is specified by the given bit mask.
+
+## Syntax
+
+```cpp
+HRESULT GetRegisters (
+ [in] ULONG32 maskCount,
+ [in, size_is(maskCount)] BYTE mask[],
+ [in] ULONG32 regCount,
+ [out, size_is(regCount)] CORDB_REGISTER regBuffer[]
+);
+```
+
+## Parameters
+
+ `maskCount`
+ [in] The size, in bytes, of the `mask` array.
+
+ `mask`
+ [in] An array of bytes, each bit of which corresponds to a register. If the bit is 1, the corresponding register's value will be retrieved.
+
+ `regCount`
+ [in] The number of register values to be retrieved.
+
+ `regBuffer`
+ [out] An array of `CORDB_REGISTER` objects, each of which receives the value of a register.
+
+## Remarks
+
+The `GetRegisters` method returns an array of values from the registers that are specified by the mask. The array does not contain values of registers whose mask bit is not set. Thus, the size of the `regBuffer` array must be equal to the number of 1's in the mask. If the value of `regCount` is too small for the number of registers indicated by the mask, the values of the higher numbered registers will be truncated from the set. If `regCount` is too large, the unused `regBuffer` elements will be unmodified.
+
+If an unavailable register is indicated by the mask, an indeterminate value will be returned for that register.
+
+The `ICorDebugRegisterSet2::GetRegisters` method is necessary for platforms that have more than 64 registers. For example, IA64 has 128 general purpose registers and 128 floating-point registers, so you need more than 64 bits in the bit mask.
+
+If you don't have more than 64 registers, as is the case on platforms such as x86, the `GetRegisters` method just translates the bytes in the `mask` byte array into a `ULONG64` and then calls the [ICorDebugRegisterSet::GetRegisters](icordebugregisterset-getregisters-method.md) method, which takes the `ULONG64` mask.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregistersavailable-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregistersavailable-method.md
new file mode 100644
index 0000000000000..637a5c0002acb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-getregistersavailable-method.md
@@ -0,0 +1,65 @@
+---
+description: "Learn more about: ICorDebugRegisterSet2::GetRegistersAvailable Method"
+title: "ICorDebugRegisterSet2::GetRegistersAvailable Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet2.GetRegistersAvailable"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet2::GetRegistersAvailable"
+helpviewer_keywords:
+ - "GetRegistersAvailable method, ICorDebugRegisterSet2 interface [.NET debugging]"
+ - "ICorDebugRegisterSet2::GetRegistersAvailable method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet2::GetRegistersAvailable Method
+
+Gets an array of bytes that provides a bitmap of the available registers.
+
+## Syntax
+
+```cpp
+HRESULT GetRegistersAvailable (
+ [in] ULONG32 numChunks,
+ [out, size_is(numChunks)] BYTE availableRegChunks[]
+);
+```
+
+## Parameters
+
+ `numChunks`
+ [in] The size of the `availableRegChunks` array.
+
+ `availableRegChunks`
+ [out] An array of bytes, each bit of which corresponds to a register. If a register is available, the register's corresponding bit is set.
+
+## Remarks
+
+The values of the CorDebugRegister enumeration specify the registers of different microprocessors. The upper five bits of each value are the index into the `availableRegChunks` array of bytes. The lower three bits of each value identify the bit position within the indexed byte. Given a `CorDebugRegister` value that specifies a particular register, the register's position in the mask is determined as follows:
+
+1. Extract the index needed to access the correct byte in the `availableRegChunks` array:
+
+ `CorDebugRegister` value >> 3
+
+2. Extract the bit position within the indexed byte, where bit zero is the least significant bit:
+
+ `CorDebugRegister` value & 7
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugregisterset2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugregisterset2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-interface.md
index 807acdd6b1948..930f7d3062ba1 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugregisterset2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugRegisterSet2"
helpviewer_keywords:
- - "ICorDebugRegisterSet2 interface [.NET Framework debugging]"
-ms.assetid: d7fbccbf-3b6b-4db8-a96d-768e1cb6b1a6
+ - "ICorDebugRegisterSet2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -26,7 +25,7 @@ Extends the capabilities of the [ICorDebugRegisterSet](icordebugregisterset-inte
|------------|-----------------|
|[GetRegisters Method](icordebugregisterset2-getregisters-method.md)|Gets the value of each register (on the computer that is currently executing code) that is specified by the bit mask.|
|[GetRegistersAvailable Method](icordebugregisterset2-getregistersavailable-method.md)|Gets an array of bytes that provides a bitmap of the available registers.|
-|[SetRegisters Method](icordebugregisterset2-setregisters-method.md)|Not implemented in .NET Framework version 2.0.|
+|[SetRegisters Method](icordebugregisterset2-setregisters-method.md)|Not implemented.|
## Remarks
@@ -35,15 +34,14 @@ Extends the capabilities of the [ICorDebugRegisterSet](icordebugregisterset-inte
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
## See also
-- [Debugging Interfaces](debugging-interfaces.md)
- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-setregisters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-setregisters-method.md
new file mode 100644
index 0000000000000..434c55fc090c4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugregisterset2-setregisters-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugRegisterSet2::SetRegisters Method"
+title: "ICorDebugRegisterSet2::SetRegisters Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRegisterSet2.SetRegisters"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRegisterSet2::SetRegisters"
+helpviewer_keywords:
+ - "ICorDebugRegisterSet2::SetRegisters method [.NET debugging]"
+ - "SetRegisters method, ICorDebugRegisterSet2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRegisterSet2::SetRegisters Method
+
+`SetRegisters` is not implemented.
+
+> [!NOTE]
+> Use the higher-level operations such as [ICorDebugILFrame::SetIP](icordebugilframe-setip-method.md) or [ICorDebugNativeFrame::SetIP](icordebugnativeframe-setip-method.md).
+
+## Syntax
+
+```cpp
+HRESULT SetRegisters (
+ [in] ULONG32 maskCount,
+ [in, size_is(maskCount)] BYTE mask[],
+ [in] ULONG32 regCount,
+ [in, size_is(regCount)] CORDB_REGISTER regBuffer[]
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
+
+- [ICorDebugRegisterSet2 Interface](icordebugregisterset2-interface.md)
+- [ICorDebugRegisterSet Interface](icordebugregisterset-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugremote-createprocessex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-createprocessex-method.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/icordebugremote-createprocessex-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugremote-createprocessex-method.md
index e549566ee47cd..72f6004dd3df8 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugremote-createprocessex-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-createprocessex-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugRemoteTarget::CreateProcessEx"
helpviewer_keywords:
- - "CreateProcessEx method, ICorDebugRemote interface [.NET Framework debugging]"
- - "ICorDebugRemote::CreateProcessEx method [.NET Framework debugging]"
-ms.assetid: 41af93c7-e448-4251-8d4d-413d38c635f2
+ - "CreateProcessEx method, ICorDebugRemote interface [.NET debugging]"
+ - "ICorDebugRemote::CreateProcessEx method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -84,29 +83,27 @@ HRESULT CreateProcessEx (
## Return Value
- S_OK
- Successfully launched the process on the remote machine and returned an "ICorDebugProcess Interface" for debugging.
+S_OK
+Successfully launched the process on the remote machine and returned an "ICorDebugProcess Interface" for debugging.
- E_FAIL (or other E_ return codes)
- Unable to launch the process on the remote machine and return an "ICorDebugProcess Interface" for debugging.
+E_FAIL (or other E_ return codes)
+Unable to launch the process on the remote machine and return an "ICorDebugProcess Interface" for debugging.
## Remarks
- Mixed-mode debugging is not supported in Silverlight.
+Mixed-mode debugging is not supported in Silverlight.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl
**Library:** CorGuids.lib
- **.NET Framework Versions:** 4.5, 4, 3.5 SP1
+ **.NET versions:** 4.5, 4, 3.5 SP1
## See also
- [ICorDebugRemote Interface](icordebugremote-interface.md)
- [ICorDebug Interface](icordebug-interface.md)
-
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-debugactiveprocessex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-debugactiveprocessex-method.md
new file mode 100644
index 0000000000000..4e25fa8c06ffe
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-debugactiveprocessex-method.md
@@ -0,0 +1,73 @@
+---
+description: "Learn more about: ICorDebugRemote::DebugActiveProcessEx Method"
+title: "ICorDebugRemote::DebugActiveProcessEx Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRemote.DebugActiveProcessEx"
+api_location:
+ - "CorDebug.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRemoteTarget::DebugActiveProcessEx"
+helpviewer_keywords:
+ - "ICorDebugRemote::DebugActiveProcessEx method [.NET debugging]"
+ - "DebugActiveProcessEx method, ICorDebugRemote interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRemote::DebugActiveProcessEx Method
+
+Launches a process on a remote machine under the debugger.
+
+## Syntax
+
+```cpp
+HRESULT DebugActiveProcessEx (
+ [in] ICorDebugRemoteTarget * pRemoteTarget,
+ [in] DWORD dwProcessId,
+ [in] BOOL fWin32Attach,
+ [out] ICorDebugProcess ** ppProcess
+);
+```
+
+## Parameters
+
+ `pRemoteTarget`
+ [in] Pointer to an [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md). This parameter is used to determine the machine on which the process is running.
+
+ `id`
+ [in] The ID of the process to which the debugger is to be attached.
+
+ `win32Attach`
+ [in] `true` if the debugger should behave as the Win32 debugger for the process and dispatch the unmanaged callbacks; otherwise, `false`.
+
+ `ppProcess`
+ [out] A pointer to the address of an "ICorDebugProcess" object that represents the process to which the debugger has been attached.
+
+## Return Value
+
+S_OK
+Successfully attached to the process on the remote machine.
+
+E_FAIL (or other E_ return codes)
+Unable to attach to the process on the remote machine.
+
+## Remarks
+
+Mixed-mode debugging is not supported in Silverlight.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 4.5, 4, 3.5 SP1
+
+## See also
+
+- [ICorDebugRemote Interface](icordebugremote-interface.md)
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugremote-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-interface.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/icordebugremote-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugremote-interface.md
index a55af2af50b8b..3b9d30cf6e91a 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugremote-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugremote-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugRemote"
helpviewer_keywords:
- - "ICorDebugRemote interface [.NET Framework debugging]"
-ms.assetid: 53d073c6-fa02-40d2-82e1-b9452bb6abaa
+ - "ICorDebugRemote interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -61,21 +60,19 @@ interface ICorDebugRemote : IUnknown
## Remarks
- Currently, this functionality is supported only for debugging a Silverlight-based application target that is running on a remote Macintosh machine.
+Currently, this functionality is supported only for debugging a Silverlight-based application target that is running on a remote Macintosh machine.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** 4.5, 4, 3.5 SP1
+ **.NET versions:** 4.5, 4, 3.5 SP1
## See also
- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
- [ICorDebug Interface](icordebug-interface.md)
-
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-gethostname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-gethostname-method.md
new file mode 100644
index 0000000000000..79333e35f9daa
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-gethostname-method.md
@@ -0,0 +1,69 @@
+---
+description: "Learn more about: ICorDebugRemoteTarget::GetHostName Method"
+title: "ICorDebugRemoteTarget::GetHostName Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugRemoteTarget.GetHostName"
+api_location:
+ - "CorDebug.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugRemoteTarget::GetHostName"
+helpviewer_keywords:
+ - "ICorDebugRemoteTarget::GetHostName method [.NET debugging]"
+ - "GetHostName method, ICorDebugRemoteTarget interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugRemoteTarget::GetHostName Method
+
+Returns the fully qualified domain name or IPv4 address of the remote debugging target machine. IPV6 is not supported at this time.
+
+## Syntax
+
+```cpp
+HRESULT GetHostName (
+ [in] ULONG32 cchHostName,
+ [out] ULONG32* pcchHostName,
+ [out, size_is(cchHostName), length_is(*pcchHostName)]
+ WCHAR szHostName[]
+```
+
+## Parameters
+
+ `cchHostName`
+ [in] The size, in characters, of the `szHostName` buffer. If this parameter is 0 (zero), `szHostName` must be null.
+
+ `pcchHostName`
+ [out] The number of characters, including a null terminator, in the host name or IP address. This parameter can be null.
+
+ `szHostName`
+ [out] Buffer that contains the host name or IP address.
+
+## Return Value
+
+S_OK
+The host name or IP address was successfully returned.
+
+E_FAIL (or other E_ return codes)
+Unable to return the host name or IP address.
+
+## Remarks
+
+This method is implemented by the debugger writer. It must follow the multiple call paradigm: On the first call, the caller passes null to both `cchHostName` and `szHostName`, and `pcchHostName` returns the size of the required buffer. On the second call, the size that was previously returned is passed in `cchHostName`, and an appropriately sized buffer is passed in `szHostName`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** 3.5 SP1
+
+## See also
+
+- [ICorDebugRemoteTarget Interface](icordebugremotetarget-interface.md)
+- [ICorDebug Interface](icordebug-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugremotetarget-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugremotetarget-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-interface.md
index bf35a0d72879d..9dde3451570e0 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugremotetarget-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugremotetarget-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugRemoteTarget"
helpviewer_keywords:
- - "ICorDebugRemoteTarget interface [.NET Framework debugging]"
-ms.assetid: bd9936a6-cc24-4869-8761-0988664464e6
+ - "ICorDebugRemoteTarget interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -43,20 +42,19 @@ interface ICorDebugRemoteTarget : IUnknown
## Remarks
- Mixed-mode (that is, managed and native code) debugging is not supported on non-x86 platforms (such as IA-64 and AMD64).
+Mixed-mode (that is, managed and native code) debugging is not supported on non-x86 platforms (such as IA-64 and AMD64).
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl
**Library:** : CorGuids.lib
- **.NET Framework Versions:** 3.5 SP1
+ **.NET versions:** 3.5 SP1
## See also
- [ICorDebugRemote Interface](icordebugremote-interface.md)
- [ICorDebug Interface](icordebug-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugruntimeunwindableframe-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugruntimeunwindableframe-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugruntimeunwindableframe-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugruntimeunwindableframe-interface.md
index 1f3335585b894..7c2c0f37d7b5a 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugruntimeunwindableframe-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugruntimeunwindableframe-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugUnwindableFrame"
helpviewer_keywords:
- - "ICorDebugUnwindableFrame interface [.NET Framework debugging]"
-ms.assetid: cd6a3982-6ed3-4909-808d-a66055e813e0
+ - "ICorDebugUnwindableFrame interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -26,15 +25,10 @@ Provides support for unmanaged methods that require the common language runtime
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getcontext-method.md
new file mode 100644
index 0000000000000..c2f1532c643e2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getcontext-method.md
@@ -0,0 +1,71 @@
+---
+description: "Learn more about: ICorDebugStackWalk::GetContext Method"
+title: "ICorDebugStackWalk::GetContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStackWalk.GetContext Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStackWalk::GetContext"
+helpviewer_keywords:
+ - "GetContext method, ICorDebugStackWalk interface [.NET debugging]"
+ - "ICorDebugStackWalk::GetContext method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStackWalk::GetContext Method
+
+Returns the context for the current frame in the [ICorDebugStackWalk](icordebugstackwalk-interface.md) object.
+
+## Syntax
+
+```cpp
+HRESULT GetContext([in] ULONG32 contextFlags,
+ [in] ULONG32 contextBufSize,
+ [out] ULONG32* contextSize,
+ [out, size_is(contextBufSize)] BYTE contextBuf[]);
+```
+
+## Parameters
+
+ `contextFlags`
+ [in] Flags that indicate the requested contents of the context buffer (defined in WinNT.h).
+
+ `contextBufSize`
+ [in] The allocated size of the context buffer.
+
+ `contextSize`
+ [out] The actual size of the context. This value must be less than or equal to the size of the context buffer.
+
+ `contextBuf`
+ [out] The context buffer.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The context for the current frame was successfully returned.|
+|E_FAIL|The context could not be returned.|
+|HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER)|The context buffer is too small.|
+|CORDBG_E_PAST_END_OF_STACK|The frame pointer is already at the end of the stack; therefore, no additional frames can be accessed.|
+
+## Exceptions
+
+## Remarks
+
+Because unwinding restores only a subset of the registers, such as non-volatile registers, the context may not exactly match the register state at the time of the call.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getframe-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getframe-method.md
new file mode 100644
index 0000000000000..c9809d06baedc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-getframe-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugStackWalk::GetFrame Method"
+title: "ICorDebugStackWalk::GetFrame Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStackWalk.GetFrame Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStackWalk::GetFrame"
+helpviewer_keywords:
+ - "GetFrame method [.NET debugging]"
+ - "ICorDebugStackWalk::GetFrame method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStackWalk::GetFrame Method
+
+Gets the current frame in the [ICorDebugStackWalk](icordebugstackwalk-interface.md) object.
+
+## Syntax
+
+```cpp
+HRESULT GetFrame([out] ICorDebugFrame ** pFrame);
+```
+
+## Parameters
+
+ `pFrame`\
+ [in] A pointer to the address of the created frame object that represents the current frame in the stack.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+| HRESULT | Description |
+|----------------------------|------------------------------------------------------|
+| S_OK | The runtime successfully returned the current frame. |
+| E_FAIL | The current frame was not returned. |
+| S_FALSE | The current frame is a native stack frame. |
+| E_INVALIDARG | `pFrame` is null. |
+| CORDBG_E_PAST_END_OF_STACK | The frame pointer is already at the end of the stack; therefore, no additional frames can be accessed. |
+
+## Exceptions
+
+## Remarks
+
+ `ICorDebugStackWalk` returns only actual stack frames. Use the [ICorDebugThread3::GetActiveInternalFrames](icordebugthread3-getactiveinternalframes-method.md) method to return internal frames. (Internal frames are data structures pushed onto the stack by the runtime to store temporary data.)
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugStackWalk Interface](icordebugstackwalk-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugstackwalk-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugstackwalk-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-interface.md
index 47296abf2c88b..d04f3336f3f10 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugstackwalk-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugStackWalk"
helpviewer_keywords:
- - "ICorDebugStackWalk interface [.NET Framework debugging]"
-ms.assetid: 16d695e8-975d-431b-8421-e9e6c3e3f476
+ - "ICorDebugStackWalk interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -36,15 +35,10 @@ Provides methods for getting the managed methods, or frames, on a thread’s sta
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-next-method.md
new file mode 100644
index 0000000000000..75f3314a5cfa0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-next-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugStackWalk::Next Method"
+title: "ICorDebugStackWalk::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStackWalk.Next Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStackWalk::Next"
+helpviewer_keywords:
+ - "ICorDebugStackWalk::Next method [.NET debugging]"
+ - "Next method, ICorDebugStackWalk interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStackWalk::Next Method
+
+Moves the [ICorDebugStackWalk](icordebugstackwalk-interface.md) object to the next frame.
+
+## Syntax
+
+```cpp
+HRESULT Next();
+```
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The runtime successfully unwound to the next frame (see Remarks).|
+|E_FAIL|The `ICorDebugStackWalk` object could not be advanced.|
+|CORDBG_S_AT_END_OF_STACK|The end of the stack was reached as a result of this unwind.|
+|CORDBG_E_PAST_END_OF_STACK|The frame pointer is already at the end of the stack; therefore, no additional frames can be accessed.|
+
+## Exceptions
+
+## Remarks
+
+The `Next` method advances the `ICorDebugStackWalk` object to the calling frame only if the runtime can unwind the current frame. Otherwise, the object advances to the next frame that the runtime is able to unwind.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugStackWalk Interface](icordebugstackwalk-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-setcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-setcontext-method.md
new file mode 100644
index 0000000000000..0888f93003fbf
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstackwalk-setcontext-method.md
@@ -0,0 +1,71 @@
+---
+description: "Learn more about: ICorDebugStackWalk::SetContext Method"
+title: "ICorDebugStackWalk::SetContext Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStackWalk.SetContext Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStackWalk::SetContext"
+helpviewer_keywords:
+ - "SetContext method [.NET debugging]"
+ - "ICorDebugStackWalk::SetContext method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStackWalk::SetContext Method
+
+Sets the [ICorDebugStackWalk](icordebugstackwalk-interface.md) object’s current context to a valid context for the thread.
+
+## Syntax
+
+```cpp
+HRESULT SetContext([in] CorDebugSetContextFlag flag,
+ [in] ULONG32 contextSize,
+ [in, size_is(contextSize)] BYTE context[]);
+```
+
+## Parameters
+
+ `flag`
+ [in] A [CorDebugSetContextFlag](cordebugsetcontextflag-enumeration.md) flag that indicates whether the context is from the active frame on the stack, or a context obtained by unwinding the stack.
+
+ `contextSize`
+ [in] The allocated size of the `CONTEXT` buffer.
+
+ `context`
+ [in] The `CONTEXT` buffer.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The `ICorDebugStackWalk` object's context was successfully set.|
+|E_FAIL|The `ICorDebugStackWalk` object's context was not set.|
+|E_INVALIDARG|The context is null.|
+|HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)|The context buffer is too small.|
+
+## Exceptions
+
+## Remarks
+
+This method does not alter the current context of the thread.
+
+Setting the current context to an invalid context may cause unpredictable results from the stack walker.
+
+You can retrieve an exact bitwise copy of this context by immediately calling the [ICorDebugStackWalk::GetContext](icordebugstackwalk-getcontext-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getaddress-method.md
new file mode 100644
index 0000000000000..0e933544b8331
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getaddress-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugStaticFieldSymbol::GetAddress Method"
+title: "ICorDebugStaticFieldSymbol::GetAddress Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugStaticFieldSymbol::GetAddress Method
+
+Gets the address of a static field.
+
+## Syntax
+
+```cpp
+HRESULT GetAddress(
+ [out] CORDB_ADDRESS *pRVA
+);
+```
+
+## Parameters
+
+pRVA
+ [out] A pointer to the relative virtual address (RVA) of the static field.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugStaticFieldSymbol Interface](icordebugstaticfieldsymbol-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getname-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getname-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getname-method.md
index 3d317322b8ec3..26349efb31e84 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugstaticfieldsymbol-getname-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getname-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugStaticFieldSymbol::GetName Method"
title: "ICorDebugStaticFieldSymbol::GetName Method"
ms.date: "03/30/2017"
-ms.assetid: e2be4af2-15d1-4e6a-8b68-1d78c93294a4
---
# ICorDebugStaticFieldSymbol::GetName Method
@@ -36,15 +35,14 @@ HRESULT GetName(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugStaticFieldSymbol Interface](icordebugstaticfieldsymbol-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getsize-method.md
new file mode 100644
index 0000000000000..ef7af258da688
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-getsize-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugStaticFieldSymbol::GetSize Method"
+title: "ICorDebugStaticFieldSymbol::GetSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugStaticFieldSymbol::GetSize Method
+
+Gets the size in bytes of the static field.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcbSize
+);
+```
+
+## Parameters
+
+ `pcbSize`
+ [out] A pointer to length of the field.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugStaticFieldSymbol Interface](icordebugstaticfieldsymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-interface.md
new file mode 100644
index 0000000000000..7edf220985882
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstaticfieldsymbol-interface.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugStaticFieldSymbol Interface"
+title: "ICorDebugStaticFieldSymbol Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugStaticFieldSymbol Interface
+
+Represents the debug symbol information for a static field.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetAddress Method](icordebugstaticfieldsymbol-getaddress-method.md)|Gets the address of the static field.|
+|[GetName Method](icordebugstaticfieldsymbol-getname-method.md)|Gets the name of the static field.|
+|[GetSize Method](icordebugstaticfieldsymbol-getsize-method.md)|Gets the size in bytes of the static field.|
+
+## Remarks
+
+The `ICorDebugStaticFieldSymbol` interface is used to retrieve the debug symbol information for a static field.
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugInstanceFieldSymbol Interface](icordebuginstancefieldsymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-deactivate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-deactivate-method.md
new file mode 100644
index 0000000000000..ccdad93e09063
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-deactivate-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugStepper::Deactivate Method"
+title: "ICorDebugStepper::Deactivate Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.Deactivate"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::Deactivate"
+helpviewer_keywords:
+ - "Deactivate method [.NET debugging]"
+ - "ICorDebugStepper::Deactivate method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::Deactivate Method
+
+Causes this ICorDebugStepper to cancel the last step command that it received.
+
+## Syntax
+
+```cpp
+HRESULT Deactivate ();
+```
+
+## Remarks
+
+A new stepping command may be issued after the most recently received step command has been canceled.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-interface.md
new file mode 100644
index 0000000000000..e980478a3505e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-interface.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugStepper Interface"
+title: "ICorDebugStepper Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper"
+helpviewer_keywords:
+ - "ICorDebugStepper interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper Interface
+
+Represents a step in code execution that is performed by a debugger, serves as an identifier between the issuance and completion of a command, and provides a way to cancel a step.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Deactivate Method](icordebugstepper-deactivate-method.md)|Causes this `ICorDebugStepper` to cancel the last step command it received.|
+|[IsActive Method](icordebugstepper-isactive-method.md)|Gets a value that indicates whether this `ICorDebugStepper` is currently executing a step.|
+|[SetInterceptMask Method](icordebugstepper-setinterceptmask-method.md)|Sets a CorDebugIntercept value that specifies the types of code that are stepped into.|
+|[SetRangeIL Method](icordebugstepper-setrangeil-method.md)|Sets a value that indicates whether calls to [ICorDebugStepper::StepRange](icordebugstepper-steprange-method.md) pass argument values relative to the native code or to common intermediate language (CIL) code of the method that is being stepped through.|
+|[SetUnmappedStopMask Method](icordebugstepper-setunmappedstopmask-method.md)|Sets a CorDebugUnmappedStop value that specifies the type of unmapped code in which execution will halt.|
+|[Step Method](icordebugstepper-step-method.md)|Causes this `ICorDebugStepper` to single-step through its containing thread, and optionally, to continue single-stepping through functions that are called within the thread.|
+|[StepOut Method](icordebugstepper-stepout-method.md)|Causes this `ICorDebugStepper` to single-step through its containing thread, and to complete when the current frame returns control to the calling frame.|
+|[StepRange Method](icordebugstepper-steprange-method.md)|Causes this `ICorDebugStepper` to single-step through its containing thread, and to return when it reaches code beyond the last of the specified ranges.|
+
+## Remarks
+
+The `ICorDebugStepper` interface serves the following purposes:
+
+- It acts as an identifier between a step command that is issued and the completion of that command.
+
+- It provides a central interface to encapsulate all the stepping that can be performed.
+
+- It provides a way to prematurely cancel a stepping operation.
+
+There can be more than one stepper per thread. For example, a breakpoint may be hit while stepping over a function, and the user may wish to start a new stepping operation inside that function. It is up to the debugger to determine how to handle this situation. The debugger may want to cancel the original stepping operation or nest the two operations. The `ICorDebugStepper` interface supports both choices.
+
+A stepper may migrate between threads if the common language runtime (CLR) makes a cross-threaded, marshalled call.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-isactive-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-isactive-method.md
new file mode 100644
index 0000000000000..20f1c86ea9691
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-isactive-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugStepper::IsActive Method"
+title: "ICorDebugStepper::IsActive Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.IsActive"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::IsActive"
+helpviewer_keywords:
+ - "IsActive method, ICorDebugStepper interface [.NET debugging]"
+ - "ICorDebugStepper::IsActive method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::IsActive Method
+
+Gets a value that indicates whether this ICorDebugStepper is currently executing a step.
+
+## Syntax
+
+```cpp
+HRESULT IsActive (
+ [out] BOOL *pbActive
+);
+```
+
+## Parameters
+
+ `pbActive`
+ [out] Returns `true` if the stepper is currently executing a step; otherwise, returns `false`.
+
+## Remarks
+
+Any step action remains active until the debugger receives a [ICorDebugManagedCallback::StepComplete](icordebugmanagedcallback-stepcomplete-method.md) call, which automatically deactivates the stepper. A stepper may also be deactivated prematurely by calling [ICorDebugStepper::Deactivate](icordebugstepper-deactivate-method.md) before the callback condition is reached.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setinterceptmask-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setinterceptmask-method.md
new file mode 100644
index 0000000000000..cd0eddca86023
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setinterceptmask-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugStepper::SetInterceptMask Method"
+title: "ICorDebugStepper::SetInterceptMask Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.SetInterceptMask"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::SetInterceptMask"
+helpviewer_keywords:
+ - "SetInterceptMask method [.NET debugging]"
+ - "ICorDebugStepper::SetInterceptMask method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::SetInterceptMask Method
+
+Sets a value that specifies the types of code that are stepped into.
+
+## Syntax
+
+```cpp
+HRESULT SetInterceptMask (
+ [in] CorDebugIntercept mask
+);
+```
+
+## Parameters
+
+ `mask`
+ [in] A combination of values of the CorDebugIntercept enumeration that specifies the types of code.
+
+## Remarks
+
+If the bit for an interceptor is set, the stepper will complete when the given type of intercepting code is encountered. If the bit is cleared, the intercepting code will be skipped.
+
+The `SetInterceptMask` method may have unforeseen interactions with [ICorDebugStepper::SetUnmappedStopMask](icordebugstepper-setunmappedstopmask-method.md) (from the user's point of view). For example, if the only visible (that is, non-internal) portion of class initialization code lacks mapping information and STOP_NO_MAPPING_INFO isn't set (see the [ICorDebugStepper::SetUnmappedStopMask](icordebugstepper-setunmappedstopmask-method.md) method and the CorDebugUnmappedStop enumeration), the stepper will step over the class initialization. By default, only the INTERCEPT_NONE value of the `CorDebugIntercept` enumeration will be used.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setrangeil-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setrangeil-method.md
new file mode 100644
index 0000000000000..1737480230d9c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setrangeil-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugStepper::SetRangeIL Method"
+title: "ICorDebugStepper::SetRangeIL Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.SetRangeIL"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::SetRangeIL"
+helpviewer_keywords:
+ - "SetRangeIL method [.NET debugging]"
+ - "ICorDebugStepper::SetRangeIL method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::SetRangeIL Method
+
+Sets a value that specifies whether calls to [ICorDebugStepper::StepRange](icordebugstepper-steprange-method.md) pass argument values that are relative to the native code or relative to common intermediate language (CIL) code of the method that is being stepped through.
+
+## Syntax
+
+```cpp
+HRESULT SetRangeIL (
+ [in] BOOL bIL
+);
+```
+
+## Parameters
+
+ `bIL`
+ [in] Set to `true` to specify that the ranges are relative to the CIL code. Set to `false` to specify that the ranges are relative to the native code. The default value is `true`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setunmappedstopmask-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setunmappedstopmask-method.md
new file mode 100644
index 0000000000000..9b2402251c67c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-setunmappedstopmask-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugStepper::SetUnmappedStopMask Method"
+title: "ICorDebugStepper::SetUnmappedStopMask Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.SetUnmappedStopMask"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::SetUnmappedStopMask"
+helpviewer_keywords:
+ - "ICorDebugStepper::SetUnmappedStopMask method [.NET debugging]"
+ - "SetUnmappedStopMask method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::SetUnmappedStopMask Method
+
+Sets a value that specifies the type of unmapped code in which execution will halt.
+
+## Syntax
+
+```cpp
+HRESULT SetUnmappedStopMask (
+ [in] CorDebugUnmappedStop mask
+);
+```
+
+## Parameters
+
+ `mask`
+ [in] A value of the CorDebugUnmappedStop enumeration that specifies the type of unmapped code in which the debugger will halt execution.
+
+The default value is STOP_OTHER_UNMAPPED. The value STOP_UNMANAGED is only valid with interop debugging.
+
+## Remarks
+
+When the debugger finds a just-in-time (JIT) compilation that has no corresponding mapping to common intermediate language (CIL), it halts execution if the flag specifying that type of unmapped code has been set; otherwise, stepping transparently continues.
+
+If the debugger doesn't use a stepper to enter a method, then it won't necessarily step over unmapped code.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-step-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-step-method.md
new file mode 100644
index 0000000000000..4799ab21fe333
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-step-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugStepper::Step Method"
+title: "ICorDebugStepper::Step Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.Step"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::Step"
+helpviewer_keywords:
+ - "Step method, ICorDebugStepper interface [.NET debugging]"
+ - "ICorDebugStepper::Step method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::Step Method
+
+Causes this ICorDebugStepper to single-step through its containing thread, and optionally, to continue single-stepping through functions that are called within the thread.
+
+## Syntax
+
+```cpp
+HRESULT Step (
+ [in] BOOL bStepIn
+);
+```
+
+## Parameters
+
+ `bStepIn`
+ [in] Set to `true` to step into a function that is called within the thread. Set to `false` to step over the function.
+
+## Remarks
+
+The step completes when the common language runtime performs the next managed instruction in this stepper's frame. If `Step` is called on a stepper, which is not in managed code, the step will complete when the next managed code instruction is executed by the thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-stepout-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-stepout-method.md
new file mode 100644
index 0000000000000..da61c5bbeeadc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-stepout-method.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugStepper::StepOut Method"
+title: "ICorDebugStepper::StepOut Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.StepOut"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::StepOut"
+helpviewer_keywords:
+ - "ICorDebugStepper::StepOut method [.NET debugging]"
+ - "StepOut method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::StepOut Method
+
+Causes this `ICorDebugStepper` to single-step through its containing thread, and to complete when the current frame returns control to the calling frame.
+
+## Syntax
+
+```cpp
+HRESULT StepOut ();
+```
+
+## Remarks
+
+A `StepOut` operation will complete after returning normally from the current frame to the calling frame.
+
+If `StepOut` is called when in unmanaged code, the step will complete when the current frame returns to the managed code that called it.
+
+Do not use `StepOut` with the `STOP_UNMANAGED` flag set because it will fail. (Use [ICorDebugStepper::SetUnmappedStopMask](icordebugstepper-setunmappedstopmask-method.md) to set flags for stepping.) Interop debuggers must step out to native code themselves.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-steprange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-steprange-method.md
new file mode 100644
index 0000000000000..73df0a5f968f4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper-steprange-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugStepper::StepRange Method"
+title: "ICorDebugStepper::StepRange Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper.StepRange"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper::StepRange"
+helpviewer_keywords:
+ - "StepRange method [.NET debugging]"
+ - "ICorDebugStepper::StepRange method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper::StepRange Method
+
+Causes this ICorDebugStepper to single-step through its containing thread, and to return when it reaches code beyond the last of the specified ranges.
+
+## Syntax
+
+```cpp
+HRESULT StepRange (
+ [in] BOOL bStepIn,
+ [in, size_is(cRangeCount)] COR_DEBUG_STEP_RANGE ranges[],
+ [in] ULONG32 cRangeCount
+);
+```
+
+## Parameters
+
+ `bStepIn`
+ [in] Set to `true` to step into a function that is called within the thread. Set to `false` to step over the function.
+
+ `ranges`
+ [in] An array of COR_DEBUG_STEP_RANGE structures, each of which specifies a range.
+
+ `cRangeCount`
+ [in] The size of the `ranges` array.
+
+## Remarks
+
+The `StepRange` method works like the [ICorDebugStepper::Step](icordebugstepper-step-method.md) method, except that it does not complete until code outside the given range is reached.
+
+This can be more efficient than stepping one instruction at a time. Ranges are specified as a list of offset pairs from the start of the stepper's frame.
+
+Ranges are relative to the common intermediate language (CIL) code of a method. Call [ICorDebugStepper::SetRangeIL](icordebugstepper-setrangeil-method.md) with `false` to make the ranges relative to the native code of a method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-interface1.md
new file mode 100644
index 0000000000000..522d23699a6d4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-interface1.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugStepper2 Interface"
+title: "ICorDebugStepper2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper2"
+helpviewer_keywords:
+ - "ICorDebugStepper2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper2 Interface
+
+Provides support for just my code (JMC) debugging.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[SetJMC Method](icordebugstepper2-setjmc-method.md)|Sets a value that specifies whether this ICorDebugStepper steps only through code that is authored by an application's developer.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-setjmc-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-setjmc-method.md
new file mode 100644
index 0000000000000..9193fe994597e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepper2-setjmc-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugStepper2::SetJMC Method"
+title: "ICorDebugStepper2::SetJMC Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepper2.SetJMC"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepper2::SetJMC"
+helpviewer_keywords:
+ - "ICorDebugStepper2::SetJMC method [.NET debugging]"
+ - "SetJMC method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepper2::SetJMC Method
+
+Sets a value that specifies whether this ICorDebugStepper steps only through code that is authored by an application's developer. This process is also known as just my code (JMC) debugging.
+
+## Syntax
+
+```cpp
+HRESULT SetJMC (
+ [in] BOOL fIsJMCStepper
+);
+```
+
+## Parameters
+
+ `fIsJMCStepper`
+ [in] Set to `true` to step only through code that is authored by an application's developer; otherwise, set to `false`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-interface.md
new file mode 100644
index 0000000000000..612ce5f75fba9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugStepperEnum Interface"
+title: "ICorDebugStepperEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepperEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepperEnum"
+helpviewer_keywords:
+ - "ICorDebugStepperEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepperEnum Interface
+
+Implements ICorDebugEnum methods, and enumerates ICorDebugStepper arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugstepperenum-next-method.md)|Gets the specified number of `ICorDebugStepper` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-next-method.md
new file mode 100644
index 0000000000000..239225502eda3
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstepperenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugStepperEnum::Next Method"
+title: "ICorDebugStepperEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStepperEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStepperEnum::Next"
+helpviewer_keywords:
+ - "Next method, ICorDebugStepperEnum interface [.NET debugging]"
+ - "ICorDebugStepperEnum::Next method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStepperEnum::Next Method
+
+Gets the specified number of ICorDebugStepper instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next(
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugStepper *steppers[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugStepper` instances to be retrieved.
+
+ `steppers`
+ [out] An array of pointers, each of which points to an `ICorDebugStepper` object.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugStepper` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getlength-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getlength-method.md
new file mode 100644
index 0000000000000..2a6f1ee271598
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getlength-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugStringValue::GetLength Method"
+title: "ICorDebugStringValue::GetLength Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStringValue.GetLength"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStringValue::GetLength"
+helpviewer_keywords:
+ - "ICorDebugStringValue::GetLength method [.NET debugging]"
+ - "GetLength method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStringValue::GetLength Method
+
+Gets the number of characters in the string referenced by this ICorDebugStringValue.
+
+## Syntax
+
+```cpp
+HRESULT GetLength (
+ [out] ULONG32 *pcchString
+);
+```
+
+## Parameters
+
+ `pcchString`
+ [out] A pointer to a value that specifies the length of the string referenced by this `ICorDebugStringValue` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getstring-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getstring-method.md
new file mode 100644
index 0000000000000..467f38605e945
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-getstring-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugStringValue::GetString Method"
+title: "ICorDebugStringValue::GetString Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStringValue.GetString"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStringValue::GetString"
+helpviewer_keywords:
+ - "ICorDebugStringValue::GetString method [.NET debugging]"
+ - "GetString method, ICorDebugStringValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStringValue::GetString Method
+
+Gets the string referenced by this ICorDebugStringValue.
+
+## Syntax
+
+```cpp
+HRESULT GetString (
+ [in] ULONG32 cchString,
+ [out] ULONG32 *pcchString,
+ [out, size_is(cchString), length_is(*pcchString)]
+ WCHAR szString[]
+);
+```
+
+## Parameters
+
+ `cchString`
+ [in] The size of the `szString` array.
+
+ `pcchString`
+ [out] A pointer to the number of characters returned in the `szString` array.
+
+ `szString`
+ [out] An array that stores the retrieved string.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-interface.md
new file mode 100644
index 0000000000000..d4753ddb577a5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugstringvalue-interface.md
@@ -0,0 +1,42 @@
+---
+description: "Learn more about: ICorDebugStringValue Interface"
+title: "ICorDebugStringValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugStringValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugStringValue"
+helpviewer_keywords:
+ - "ICorDebugStringValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugStringValue Interface
+
+A subclass of ICorDebugHeapValue that applies to string values.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetLength Method](icordebugstringvalue-getlength-method.md)|Gets the number of characters in the string referenced by this `ICorDebugStringValue`.|
+|[GetString Method](icordebugstringvalue-getstring-method.md)|Gets the string referenced by this `ICorDebugStringValue`.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagebytes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagebytes-method.md
new file mode 100644
index 0000000000000..f42c3344e0858
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagebytes-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetAssemblyImageBytes Method"
+title: "ICorDebugSymbolProvider::GetAssemblyImageBytes Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetAssemblyImageBytes Method
+
+Reads data from a merged assembly given a relative virtual address (RVA) in the merged assembly.
+
+## Syntax
+
+```cpp
+HRESULT GetAssemblyImageBytes(
+ [in] CORDB_ADDRESS rva,
+ [in] ULONG32 length,
+ [out] ICorDebugMemoryBuffer** ppMemoryBuffer
+);
+```
+
+## Parameters
+
+ `rva`
+ [in] A relative virtual address (RVA) in a merged assembly.
+
+ `length`
+The number of bytes to read from the merged assembly.
+
+ `ppMemoryBuffer`
+A pointer to the address of an [ICorDebugMemoryBuffer](icordebugmemorybuffer-interface.md) object that contains information about the memory buffer with merged assembly metadata.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getassemblyimagemetadata-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagemetadata-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getassemblyimagemetadata-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagemetadata-method.md
index 1fc1aab7e42ad..d12d92593566e 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getassemblyimagemetadata-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getassemblyimagemetadata-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider::GetAssemblyImageMetadata Method"
title: "ICorDebugSymbolProvider::GetAssemblyImageMetadata Method"
ms.date: "03/30/2017"
-ms.assetid: c3c9de67-b865-4ecf-b887-1f1d0719a0c0
---
# ICorDebugSymbolProvider::GetAssemblyImageMetadata Method
@@ -28,15 +27,14 @@ HRESULT GetAssemblyImageMetadata(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getcoderange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getcoderange-method.md
new file mode 100644
index 0000000000000..8a09e847841e4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getcoderange-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetCodeRange Method"
+title: "ICorDebugSymbolProvider::GetCodeRange Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetCodeRange Method
+
+Gets the method start address and size given a relative virtual address (RVA) in a method.
+
+## Syntax
+
+```cpp
+HRESULT GetCodeRange(
+ [in] ULONG32 codeRva,
+ [out] ULONG32* pCodeStartAddress,
+ [out] ULONG32* pCodeSize
+);
+```
+
+## Parameters
+
+ `codeRva`
+ [in] The relative virtual address (RVA) in a method.
+
+ `pCodeStartAddress`
+ [out] A pointer to the starting address of the method.
+
+ `pCodeSize`
+A pointer to the method code size (the number of bytes of the method's code).
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getinstancefieldsymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getinstancefieldsymbols-method.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getinstancefieldsymbols-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getinstancefieldsymbols-method.md
index d0840304f594e..cf540d485eb4b 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getinstancefieldsymbols-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getinstancefieldsymbols-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider::GetInstanceFieldSymbols Method"
title: "ICorDebugSymbolProvider::GetInstanceFieldSymbols Method"
ms.date: "03/30/2017"
-ms.assetid: a29b9233-ee67-4b53-b8bc-c00b281e7edb
---
# ICorDebugSymbolProvider::GetInstanceFieldSymbols Method
@@ -44,16 +43,15 @@ HRESULT GetInstanceFieldSymbols(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [GetStaticFieldSymbols Method](icordebugsymbolprovider-getstaticfieldsymbols-method.md)
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmergedassemblyrecords-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmergedassemblyrecords-method.md
new file mode 100644
index 0000000000000..06ee0e4e0b8d2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmergedassemblyrecords-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetMergedAssemblyRecords Method"
+title: "ICorDebugSymbolProvider::GetMergedAssemblyRecords Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetMergedAssemblyRecords Method
+
+Gets the symbol records for all the merged assemblies.
+
+## Syntax
+
+```cpp
+HRESULT GetMergedAssemblyRecords(
+ [in] ULONG32 cRequestedRecords,
+ [out] ULONG32 *pcFetchedRecords,
+ [out, size_is(cRequestedRecords), length_is(*pcFetchedRecords)] ICorDebugMergedAssemblyRecord *pRecords[]
+);
+```
+
+## Parameters
+
+ `cRequestedRecords`
+ [in] The number of symbol records requested.
+
+ `pcFetchedRecords`
+ [out] A pointer to the number of symbol records retrieved by the method.
+
+ `pRecords`
+A pointer to an array of [ICorDebugMergedAssemblyRecord](icordebugmergedassemblyrecord-interface.md) objects.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodlocalsymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodlocalsymbols-method.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodlocalsymbols-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodlocalsymbols-method.md
index cf1c86c10f060..21d8d9ffac5cf 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodlocalsymbols-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodlocalsymbols-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider::GetMethodLocalSymbols Method"
title: "ICorDebugSymbolProvider::GetMethodLocalSymbols Method"
ms.date: "03/30/2017"
-ms.assetid: 8b989e38-e779-49d1-9e90-f1f920484b08
---
# ICorDebugSymbolProvider::GetMethodLocalSymbols Method
@@ -40,16 +39,15 @@ HRESULT GetMethodLocalSymbols(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [GetMethodParameterSymbols Method](icordebugsymbolprovider-getmethodparametersymbols-method.md)
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodparametersymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodparametersymbols-method.md
similarity index 82%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodparametersymbols-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodparametersymbols-method.md
index 953eb9a80d4eb..156cab2c3f607 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getmethodparametersymbols-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodparametersymbols-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider::GetMethodParameterSymbols Method"
title: "ICorDebugSymbolProvider::GetMethodParameterSymbols Method"
ms.date: "03/30/2017"
-ms.assetid: 58b7c0b9-f6ad-4b49-b92d-0e421cfd0ec6
---
# ICorDebugSymbolProvider::GetMethodParameterSymbols Method
@@ -40,16 +39,15 @@ HRESULT GetMethodParameterSymbols(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [GetMethodLocalSymbols Method](icordebugsymbolprovider-getmethodlocalsymbols-method.md)
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodprops-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodprops-method.md
new file mode 100644
index 0000000000000..557b5d3d3c296
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getmethodprops-method.md
@@ -0,0 +1,63 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetMethodProps Method"
+title: "ICorDebugSymbolProvider::GetMethodProps Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetMethodProps Method
+
+Returns information about method properties, such as the method's metadata token and information about its generic parameters, given a relative virtual address (RVA) in that method.
+
+## Syntax
+
+```cpp
+HRESULT GetMethodProps(
+ [in] ULONG32 codeRva,
+ [out] mdToken *pMethodToken,
+ [out] ULONG32 *pcGenericParams,
+ [in] ULONG32 cbSignature,
+ [out] ULONG32 *pcbSignature,
+ [out, size_is(cbSignature), length_is(*pcbSignature)] BYTE signature[]
+);
+```
+
+## Parameters
+
+ `codeRVA`
+ [in] A relative virtual address in the method about which information is to be retrieved.
+
+ `pMethodToken`
+ [out] A pointer to the method's metadata token.
+
+ `pcGenericParams`
+ [out] A pointer to the number of generic parameters associated with this method.
+
+ `cbSignature`
+ [in] The size of the `signature` array. See the Remarks section.
+
+ `pcbSignature`
+ [out] A pointer to the size of the returned `signature` array.
+
+ `signature`
+ [out] A buffer that holds the typespec signatures of all generic parameters.
+
+## Remarks
+
+To get the required size of the method's `signature` array, set the `cbSignature` argument to 0 and `signature` to **null**. When the method returns, `pcbSignature` will contain the number of bytes required for the `signature` array.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [GetTypeProps Method](icordebugsymbolprovider-gettypeprops-method.md)
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getobjectsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getobjectsize-method.md
new file mode 100644
index 0000000000000..60ef4bd45b52d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getobjectsize-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetObjectSize Method"
+title: "ICorDebugSymbolProvider::GetObjectSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetObjectSize Method
+
+Returns the object size for an object based on its typespec signature.
+
+## Syntax
+
+```cpp
+HRESULT GetObjectSize(
+ [in] ULONG32 cbSignature,
+ [in, size_is(cbSignature)] BYTE typeSig[],
+ [out] ULONG32 *pObjectSize
+);
+```
+
+## Parameters
+
+ `cbSignature`
+ [in] The number of bytes in the typespec signature.
+
+typeSig
+ [in] The typespec signature.
+
+ `pObjectSize`
+ [out] A pointer to the size of the object.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getstaticfieldsymbols-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getstaticfieldsymbols-method.md
similarity index 83%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getstaticfieldsymbols-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getstaticfieldsymbols-method.md
index cdcbdd85230f7..55416878719ce 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-getstaticfieldsymbols-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-getstaticfieldsymbols-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider::GetStaticFieldSymbols Method"
title: "ICorDebugSymbolProvider::GetStaticFieldSymbols Method"
ms.date: "03/30/2017"
-ms.assetid: b178367f-a6e4-413c-b06f-daf3804b456b
---
# ICorDebugSymbolProvider::GetStaticFieldSymbols Method
@@ -44,16 +43,15 @@ HRESULT GetStaticFieldSymbols(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [GetInstanceFieldSymbols Method](icordebugsymbolprovider-getinstancefieldsymbols-method.md)
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-gettypeprops-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-gettypeprops-method.md
new file mode 100644
index 0000000000000..d205230582ba5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-gettypeprops-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugSymbolProvider::GetTypeProps Method"
+title: "ICorDebugSymbolProvider::GetTypeProps Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugSymbolProvider::GetTypeProps Method
+
+Returns information about a type's properties, such as the number of signature of its generic parameters, given a relative virtual address (RVA) in a vtable.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeProps(
+ [in] ULONG32 vtableRva,
+ [in] ULONG32 cbSignature,
+ [out] ULONG32 *pcbSignature,
+ [out, size_is(cbSignature), length_is(*pcbSignature)] BYTE signature[]
+);
+```
+
+## Parameters
+
+ `tableRva`
+ [in] A relative virtual address (RVA) in a vtable.
+
+ `cbSignature`
+ [in] The size of the `signature` array. See the Remarks section.
+
+ `pcbSignature`
+ [out] [out] A pointer to the size of the returned `signature` array.
+
+ `signature`
+ [out] A buffer that holds the typespec signatures of all generic parameters.
+
+## Remarks
+
+To get the required size of the type's `signature` array, set the `cbSignature` argument to 0 and `signature` to **null**. When the method returns, `pcbSignature` will contain the number of bytes required for the `signature` array.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [GetMethodProps Method](icordebugsymbolprovider-getmethodprops-method.md)
+- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-interface.md
similarity index 88%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-interface.md
index b26713735566e..d74ade041e32a 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider Interface"
title: "ICorDebugSymbolProvider Interface"
ms.date: "03/30/2017"
-ms.assetid: 85b24196-b6c6-4bda-9de3-47180bd6ff96
---
# ICorDebugSymbolProvider Interface
@@ -31,15 +30,10 @@ Provides methods that can be used to retrieve debug symbol information.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getframeprops-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getframeprops-method.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getframeprops-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getframeprops-method.md
index 3711e4265654c..0bc4f83713884 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getframeprops-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getframeprops-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider2::GetFrameProps Method"
title: "ICorDebugSymbolProvider2::GetFrameProps Method"
ms.date: "03/30/2017"
-ms.assetid: f07b73f3-188d-43a9-8f7d-44dce2f1ddb7
---
# ICorDebugSymbolProvider2::GetFrameProps Method
@@ -36,15 +35,14 @@ HRESULT GetFrameProps(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugSymbolProvider2 Interface](icordebugsymbolprovider2-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md
similarity index 90%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md
index 0bbb98be042ce..1af4bf09d57fd 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-getgenericdictionaryinfo-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider2::GetGenericDictionaryInfo Method"
title: "ICorDebugSymbolProvider2::GetGenericDictionaryInfo Method"
ms.date: "03/30/2017"
-ms.assetid: ba28fe4e-5491-4670-bff7-7fde572d7593
---
# ICorDebugSymbolProvider2::GetGenericDictionaryInfo Method
@@ -72,15 +71,14 @@ The inclusion of the length for each heap element enables simple sorting of the
## Requirements
-**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
-**.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+**.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugSymbolProvider2 Interface](icordebugsymbolprovider2-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-interface.md
similarity index 78%
rename from docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-interface.md
index c0d1c82cb86aa..4e13ee9adbb11 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugsymbolprovider2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugsymbolprovider2-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugSymbolProvider2 Interface"
title: "ICorDebugSymbolProvider2 Interface"
ms.date: "03/30/2017"
-ms.assetid: 1c9c3d92-f0de-4d4d-87f1-0c702a4808af
---
# ICorDebugSymbolProvider2 Interface
@@ -22,16 +21,14 @@ Logically extends the [ICorDebugSymbolProvider](icordebugsymbolprovider-interfac
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugSymbolProvider Interface](icordebugsymbolprovider-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-clearcurrentexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-clearcurrentexception-method.md
new file mode 100644
index 0000000000000..1b011a5582f54
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-clearcurrentexception-method.md
@@ -0,0 +1,37 @@
+---
+description: "Learn more about: ICorDebugThread::ClearCurrentException Method"
+title: "ICorDebugThread::ClearCurrentException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.ClearCurrentException"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::ClearCurrentException"
+helpviewer_keywords:
+ - "ICorDebugThread::ClearCurrentException method [.NET debugging]"
+ - "ClearCurrentException method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::ClearCurrentException Method
+
+This method is not implemented. Do not use it.
+
+## Syntax
+
+```cpp
+HRESULT ClearCurrentException();
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createeval-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createeval-method.md
new file mode 100644
index 0000000000000..c8818444ff0b4
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createeval-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::CreateEval Method"
+title: "ICorDebugThread::CreateEval Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.CreateEval"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::CreateEval"
+helpviewer_keywords:
+ - "CreateEval method [.NET debugging]"
+ - "ICorDebugThread::CreateEval method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::CreateEval Method
+
+Creates an ICorDebugEval object that collects and exposes the functionality of this ICorDebugThread.
+
+## Syntax
+
+```cpp
+HRESULT CreateEval (
+ [out] ICorDebugEval **ppEval
+);
+```
+
+## Parameters
+
+ `ppEval`
+ [out] A pointer to the address of an `ICorDebugEval` object that collects and exposes the functionality of this thread.
+
+## Remarks
+
+The evaluation object will push a new chain on the thread before doing its computation. This interrupts the computation currently being performed on the thread until the evaluation completes.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createstepper-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createstepper-method.md
new file mode 100644
index 0000000000000..1c6d8133f7c8c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-createstepper-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugThread::CreateStepper Method"
+title: "ICorDebugThread::CreateStepper Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.CreateStepper"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::CreateStepper"
+helpviewer_keywords:
+ - "ICorDebugThread::CreateStepper method [.NET debugging]"
+ - "CreateStepper method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::CreateStepper Method
+
+Creates an ICorDebugStepper object that allows stepping through the active frame of this ICorDebugThread.
+
+## Syntax
+
+```cpp
+HRESULT CreateStepper (
+ [out] ICorDebugStepper **ppStepper
+);
+```
+
+## Parameters
+
+ `ppStepper`
+ [out] A pointer to the address of an `ICorDebugStepper` object that allows stepping through the active frame of this thread.
+
+## Remarks
+
+The active frame may be unmanaged code.
+
+The `ICorDebugStepper` interface must be used to perform the actual stepping.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-enumeratechains-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-enumeratechains-method.md
new file mode 100644
index 0000000000000..4af135321d0e5
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-enumeratechains-method.md
@@ -0,0 +1,58 @@
+---
+description: "Learn more about: ICorDebugThread::EnumerateChains Method"
+title: "ICorDebugThread::EnumerateChains Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.EnumerateChains"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::EnumerateChains"
+helpviewer_keywords:
+ - "EnumerateChains method [.NET debugging]"
+ - "ICorDebugThread::EnumerateChains method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::EnumerateChains Method
+
+Gets an interface pointer to an ICorDebugChainEnum enumerator that contains all the stack chains in this ICorDebugThread object.
+
+## Syntax
+
+```cpp
+HRESULT EnumerateChains (
+ [out] ICorDebugChainEnum **ppChains
+);
+```
+
+## Parameters
+
+ `ppChains`
+ [out] A pointer to the address of an `ICorDebugChainEnum` object that allows enumeration of all the stack chains in this thread, starting at the active (that is, the most recent) chain.
+
+## Remarks
+
+The stack chain represents the physical call stack for the thread. The following circumstances create a stack chain boundary:
+
+- A managed-to-unmanaged or unmanaged-to-managed transition.
+
+- A context switch.
+
+- A debugger hijacking of a user thread.
+
+In the simple case for a thread that is running purely managed code in a single context, a one-to-one correspondence will exist between threads and stack chains.
+
+A debugger may want to rearrange the physical call stacks of all threads into logical call stacks. This would involve sorting all the threads' chains by their caller/callee relationships and regrouping them.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactivechain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactivechain-method.md
new file mode 100644
index 0000000000000..543563b8406dd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactivechain-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetActiveChain Method"
+title: "ICorDebugThread::GetActiveChain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetActiveChain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetActiveChain"
+helpviewer_keywords:
+ - "ICorDebugThread::GetActiveChain method [.NET debugging]"
+ - "GetActiveChain method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetActiveChain Method
+
+Gets an interface pointer to the active (most recent) stack chain on this ICorDebugThread object.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveChain (
+ [out] ICorDebugChain **ppChain
+);
+```
+
+## Parameters
+
+ `ppChain`
+ [out] A pointer to the address of an ICorDebugChain object that represents the stack chain.
+
+## Remarks
+
+The `ppChain` parameter is null if no stack chain is currently active.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactiveframe-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactiveframe-method.md
new file mode 100644
index 0000000000000..c21eec7dfa2ae
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getactiveframe-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetActiveFrame Method"
+title: "ICorDebugThread::GetActiveFrame Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetActiveFrame"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetActiveFrame"
+helpviewer_keywords:
+ - "ICorDebugThread::GetActiveFrame method [.NET debugging]"
+ - "GetActiveFrame method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetActiveFrame Method
+
+Gets an interface pointer to the active (most recent) frame on this ICorDebugThread object.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveFrame (
+ [out] ICorDebugFrame **ppFrame
+);
+```
+
+## Parameters
+
+ `ppFrame`
+ [out] A pointer to the address of an ICorDebugFrame interface object that represents a frame.
+
+## Remarks
+
+The `ppFrame` parameter is null if no frame is currently active.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getappdomain-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getappdomain-method.md
new file mode 100644
index 0000000000000..09f54071939ba
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getappdomain-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugThread::GetAppDomain Method"
+title: "ICorDebugThread::GetAppDomain Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetAppDomain"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetAppDomain"
+helpviewer_keywords:
+ - "GetAppDomain method, ICorDebugThread interface [.NET debugging]"
+ - "ICorDebugThread::GetAppDomain method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetAppDomain Method
+
+Gets an interface pointer to the application domain in which this ICorDebugThread is currently executing.
+
+## Syntax
+
+```cpp
+HRESULT GetAppDomain (
+ [out] ICorDebugAppDomain **ppAppDomain
+);
+```
+
+## Parameters
+
+ `ppAppDomain`
+ [out] A pointer to an ICorDebugAppDomain object that represents the application domain in which this thread is currently executing.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getcurrentexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getcurrentexception-method.md
new file mode 100644
index 0000000000000..015336bc97dd0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getcurrentexception-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugThread::GetCurrentException Method"
+title: "ICorDebugThread::GetCurrentException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetCurrentException"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetCurrentException"
+helpviewer_keywords:
+ - "ICorDebugThread::GetCurrentException method [.NET debugging]"
+ - "GetCurrentException method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetCurrentException Method
+
+Gets an interface pointer to an ICorDebugValue object that represents an exception that is currently being thrown by managed code.
+
+## Syntax
+
+```cpp
+HRESULT GetCurrentException (
+ [out] ICorDebugValue **ppExceptionObject
+);
+```
+
+## Parameters
+
+ `ppExceptionObject`
+ [out] A pointer to the address of an `ICorDebugValue` object that represents the exception that is currently being thrown by managed code.
+
+## Remarks
+
+The exception object will exist from the time the exception is thrown until the end of the `catch` block. A function evaluation, which is performed by the ICorDebugEval methods, will clear out the exception object on setup and restore it on completion.
+
+Exceptions can be nested (for example, if an exception is thrown in a filter or in a function evaluation), so there may be multiple outstanding exceptions on a single thread. `GetCurrentException` returns the most current exception.
+
+The exception object and type may change throughout the life of the exception. For example, after an exception of type x is thrown, the common language runtime (CLR) may run out of memory and promote it to an out-of-memory exception.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getdebugstate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getdebugstate-method.md
new file mode 100644
index 0000000000000..838a08a4c9669
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getdebugstate-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetDebugState Method"
+title: "ICorDebugThread::GetDebugState Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetDebugState"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetDebugState"
+helpviewer_keywords:
+ - "GetDebugState method [.NET debugging]"
+ - "ICorDebugThread::GetDebugState method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetDebugState Method
+
+Gets the current debug state of this ICorDebugThread object.
+
+## Syntax
+
+```cpp
+HRESULT GetDebugState (
+ [out] CorDebugThreadState *pState
+);
+```
+
+## Parameters
+
+ `pState`
+ [out] A pointer to a bitwise combination of CorDebugThreadState enumeration values that describes the current debug state of this thread.
+
+## Remarks
+
+If the process is currently stopped, `pState` represents the debug state that would exist for this thread if the process were to be continued, not the actual current state of this thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-gethandle-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-gethandle-method.md
new file mode 100644
index 0000000000000..03131245a0b96
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-gethandle-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugThread::GetHandle Method"
+title: "ICorDebugThread::GetHandle Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetHandle"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetHandle"
+helpviewer_keywords:
+ - "GetHandle method, ICorDebugThread interface [.NET debugging]"
+ - "ICorDebugThread::GetHandle method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetHandle Method
+
+Gets the current handle for the active part of this ICorDebugThread.
+
+## Syntax
+
+```cpp
+HRESULT GetHandle (
+ [out] HTHREAD *phThreadHandle
+);
+```
+
+## Parameters
+
+ `phThreadHandle`
+ [out] A pointer to an HTHREAD that is the handle of the active part of this thread.
+
+## Remarks
+
+The handle may change as the process executes, and may be different for different parts of the thread.
+
+This handle is owned by the debugging API. The debugger should duplicate it before using it.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getid-method.md
new file mode 100644
index 0000000000000..dacfdb728f191
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getid-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetID Method"
+title: "ICorDebugThread::GetID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetID"
+helpviewer_keywords:
+ - "ICorDebugThread::GetID method [.NET debugging]"
+ - "GetID method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetID Method
+
+Gets the current operating system identifier of the active part of this ICorDebugThread.
+
+## Syntax
+
+```cpp
+HRESULT GetID (
+ [out] DWORD *pdwThreadId
+);
+```
+
+## Parameters
+
+ `pdwThreadId`
+ [out] The identifier of the thread.
+
+## Remarks
+
+The operating system identifier can potentially change during execution of a process, and can be a different value for different parts of the thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getobject-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getobject-method.md
new file mode 100644
index 0000000000000..62726ad0b7f27
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getobject-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetObject Method"
+title: "ICorDebugThread::GetObject Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetObject"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetObject"
+helpviewer_keywords:
+ - "GetObject method, ICorDebugThread interface [.NET debugging]"
+ - "ICorDebugThread::GetObject method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetObject Method
+
+Gets an interface pointer to the common language runtime (CLR) thread.
+
+## Syntax
+
+```cpp
+HRESULT GetObject (
+ [out] ICorDebugValue **ppObject
+);
+```
+
+## Parameters
+
+ `ppObject`
+ [out] A pointer to the address of an ICorDebugValue interface object that represents the CLR thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+-
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getprocess-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getprocess-method.md
new file mode 100644
index 0000000000000..a990ef5e418ac
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getprocess-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugThread::GetProcess Method"
+title: "ICorDebugThread::GetProcess Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetProcess"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetProcess"
+helpviewer_keywords:
+ - "ICorDebugThread::GetProcess method [.NET debugging]"
+ - "GetProcess method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetProcess Method
+
+Gets an interface pointer to the process of which this ICorDebugThread forms a part.
+
+## Syntax
+
+```cpp
+HRESULT GetProcess (
+ [out] ICorDebugProcess **ppProcess
+);
+```
+
+## Parameters
+
+ `ppProcess`
+ [out] A pointer to the address of an ICorDebugProcess interface object that represents the process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getregisterset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getregisterset-method.md
new file mode 100644
index 0000000000000..0180ad940de43
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getregisterset-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugThread::GetRegisterSet Method"
+title: "ICorDebugThread::GetRegisterSet Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetRegisterSet"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetRegisterSet"
+helpviewer_keywords:
+ - "ICorDebugThread::GetRegisterSet method [.NET debugging]"
+ - "GetRegisterSet method, ICorDebugThread interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetRegisterSet Method
+
+Gets an interface pointer to the register set that is associated with the active part of this ICorDebugThread object.
+
+## Syntax
+
+```cpp
+HRESULT GetRegisterSet (
+ [out] ICorDebugRegisterSet **ppRegisters
+);
+```
+
+## Parameters
+
+ `ppRegisters`
+ [out] A pointer to the address of an [ICorDebugRegisterSet](icordebugregisterset-interface.md) interface object that represents the register set for the active part of this thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getuserstate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getuserstate-method.md
new file mode 100644
index 0000000000000..44da90b6cfd2d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-getuserstate-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread::GetUserState Method"
+title: "ICorDebugThread::GetUserState Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread.GetUserState"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread::GetUserState"
+helpviewer_keywords:
+ - "GetUserState method, ICorDebugThread interface [.NET debugging]"
+ - "ICorDebugThread::GetUserState method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread::GetUserState Method
+
+Gets the current user state of this ICorDebugThread.
+
+## Syntax
+
+```cpp
+HRESULT GetUserState (
+ [out] CorDebugUserState *pState
+);
+```
+
+## Parameters
+
+ `pState`
+ [out] A pointer to a bitwise combination of CorDebugUserState enumeration values that describe the current user state of this thread.
+
+## Remarks
+
+The user state of the thread is the state of the thread when it is examined by the program that is being debugged. A thread may have multiple state bits set.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugthread-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-interface.md
similarity index 89%
rename from docs/framework/unmanaged-api/debugging/icordebugthread-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugthread-interface.md
index 0d9932645c7aa..2f910b47d190d 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugthread-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugThread"
helpviewer_keywords:
- - "ICorDebugThread interface [.NET Framework debugging]"
-ms.assetid: 3930fd9b-2bc3-4b72-80a0-b6eeb94d60c6
+ - "ICorDebugThread interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -48,14 +47,10 @@ Represents a thread in a process. The lifetime of an `ICorDebugThread` instance
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugthread-setdebugstate-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-setdebugstate-method.md
similarity index 84%
rename from docs/framework/unmanaged-api/debugging/icordebugthread-setdebugstate-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugthread-setdebugstate-method.md
index 8db50d20ba878..2529ecb5a7602 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugthread-setdebugstate-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread-setdebugstate-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugThread::SetDebugState"
helpviewer_keywords:
- - "ICorDebugThread::SetDebugState method [.NET Framework debugging]"
- - "SetDebugState method [.NET Framework debugging]"
-ms.assetid: 6382bdf6-d488-4952-b653-cb09b6e1c6c2
+ - "ICorDebugThread::SetDebugState method [.NET debugging]"
+ - "SetDebugState method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -40,10 +39,10 @@ HRESULT SetDebugState (
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getactivefunctions-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getactivefunctions-method.md
new file mode 100644
index 0000000000000..6f43e155d14cc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getactivefunctions-method.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugThread2::GetActiveFunctions Method"
+title: "ICorDebugThread2::GetActiveFunctions Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread2.GetActiveFunctions"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread2::GetActiveFunctions"
+helpviewer_keywords:
+ - "GetActiveFunctions method [.NET debugging]"
+ - "ICorDebugThread2::GetActiveFunctions method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread2::GetActiveFunctions Method
+
+Gets information about the active function in each of this thread's frames.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveFunctions (
+ [in] ULONG32 cFunctions,
+ [out] ULONG32 *pcFunctions,
+ [in, out, size_is(cFunctions), length_is(*pcFunctions)]
+ COR_ACTIVE_FUNCTION pFunctions[]
+);
+```
+
+## Parameters
+
+ `cFunctions`
+ [in] The size of the `pFunctions` array.
+
+ `pcFunctions`
+ [out] A pointer to the number of objects returned in the `pFunctions` array. The number of objects returned will be equal to the number of managed frames on the stack.
+
+ `pFunctions`
+ [in, out] An array of COR_ACTIVE_FUNCTION objects, each of which contains information about the active functions in this thread's frames.
+
+The first element will be used for the leaf frame, and so on back to the root of the stack.
+
+## Remarks
+
+If `pFunctions` is null on input, `GetActiveFunctions` returns only the number of functions that are on the stack. That is, If `pFunctions` is null on input, `GetActiveFunctions` returns a value only in `pcFunctions`.
+
+The `GetActiveFunctions` method is intended as an optimization over getting the same information from frames in a stack trace, and includes only frames that would have had an ICorDebugILFrame object for them in the full stack trace.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getconnectionid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getconnectionid-method.md
new file mode 100644
index 0000000000000..99cf21c065ed1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getconnectionid-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugThread2::GetConnectionID Method"
+title: "ICorDebugThread2::GetConnectionID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread2.GetConnectionID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread2::GetConnectionID"
+helpviewer_keywords:
+ - "ICorDebugThread2::GetConnectionID method [.NET debugging]"
+ - "GetConnectionID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread2::GetConnectionID Method
+
+Gets the connection identifier for this ICorDebugThread2 object.
+
+## Syntax
+
+```cpp
+HRESULT GetConnectionID (
+ [out] CONNID *pdwConnectionId
+);
+```
+
+## Parameters
+
+ `pdwConnectionId`
+ [out] A `CONNID` that represents the connection identifier.
+
+## Remarks
+
+The `GetConnectionID` method returns zero in the `pdwConnectionId` parameter, if this thread is not part of a connection.
+
+If this thread is connected to an instance of Microsoft SQL Server 2005 Analysis Services (SSAS), the `CONNID` maps to a server process identifier (SPID).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-gettaskid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-gettaskid-method.md
new file mode 100644
index 0000000000000..3f65c0914c6d0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-gettaskid-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread2::GetTaskID Method"
+title: "ICorDebugThread2::GetTaskID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread2.GetTaskID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread2::GetTaskID"
+helpviewer_keywords:
+ - "ICorDebugThread2::GetTaskID method [.NET debugging]"
+ - "GetTaskID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread2::GetTaskID Method
+
+Gets the identifier of the task running on this thread.
+
+## Syntax
+
+```cpp
+HRESULT GetTaskID (
+ [out] TASKID *pTaskId
+);
+```
+
+## Parameters
+
+ `pTaskId`
+ [out] A pointer to the identifier of the task running on the thread represented by this ICorDebugThread2 object.
+
+## Remarks
+
+A task can only be running on the thread if the thread is associated with a connection. `GetTaskID` returns zero in `pTaskId` if the thread is not associated with a connection.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getvolatileosthreadid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getvolatileosthreadid-method.md
new file mode 100644
index 0000000000000..1f080f8b5df9b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-getvolatileosthreadid-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugThread2::GetVolatileOSThreadID Method"
+title: "ICorDebugThread2::GetVolatileOSThreadID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread2.GetVolatileOSThreadID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread2::GetVolatileOSThreadID"
+helpviewer_keywords:
+ - "GetVolatileOSThreadID method [.NET debugging]"
+ - "ICorDebugThread2::GetVolatileOSThreadID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread2::GetVolatileOSThreadID Method
+
+Gets the operating system thread identifier for this ICorDebugThread2.
+
+## Syntax
+
+```cpp
+HRESULT GetVolatileOSThreadID (
+ [out] DWORD *pdwTid
+);
+```
+
+## Parameters
+
+ `pdwTid`
+ [out] The operating system thread identifier for this thread.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interceptcurrentexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interceptcurrentexception-method.md
new file mode 100644
index 0000000000000..508c122000a22
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interceptcurrentexception-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugThread2::InterceptCurrentException Method"
+title: "ICorDebugThread2::InterceptCurrentException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread2.InterceptCurrentException"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread2::InterceptCurrentException"
+helpviewer_keywords:
+ - "InterceptCurrentException method [.NET debugging]"
+ - "ICorDebugThread2::InterceptCurrentException method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread2::InterceptCurrentException Method
+
+Allows a debugger to intercept the current exception on this thread.
+
+## Syntax
+
+```cpp
+HRESULT InterceptCurrentException (
+ [in] ICorDebugFrame *pFrame
+);
+```
+
+## Parameters
+
+ `pFrame`
+ [in] A pointer to an ICorDebugFrame that represents the active stack frame.
+
+## Remarks
+
+The `InterceptCurrentException` method can be called between an exception callback ([ICorDebugManagedCallback::Exception](icordebugmanagedcallback-exception-method.md) or [ICorDebugManagedCallback2::Exception](icordebugmanagedcallback2-exception-method.md)) and the associated call to [ICorDebugController::Continue](icordebugcontroller-continue-method.md).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugthread2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interface.md
similarity index 79%
rename from docs/framework/unmanaged-api/debugging/icordebugthread2-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interface.md
index a81f71a75204d..57d8d468ce7a8 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugthread2-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread2-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugThread2"
helpviewer_keywords:
- - "ICorDebugThread2 interface [.NET Framework debugging]"
-ms.assetid: 678f89f9-cce7-46d1-af87-5e989abaa93c
+ - "ICorDebugThread2 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -37,14 +36,10 @@ Serves as a logical extension to the ICorDebugThread interface.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-createstackwalk-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-createstackwalk-method.md
new file mode 100644
index 0000000000000..5bed3c1f83dee
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-createstackwalk-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugThread3::CreateStackWalk Method"
+title: "ICorDebugThread3::CreateStackWalk Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread3.CreateStackWalk Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread3::CreateStackWalk"
+helpviewer_keywords:
+ - "CreateStackWalk method [.NET debugging]"
+ - "ICorDebugThread3::CreateStackWalk method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread3::CreateStackWalk Method
+
+Creates an [ICorDebugStackWalk](icordebugstackwalk-interface.md) object for the thread whose stack you want to unwind.
+
+## Syntax
+
+```cpp
+HRESULT CreateStackWalk([out] ICorDebugStackWalk **ppStackWalk);
+```
+
+## Parameters
+
+ `ppStackWalk`
+ [out] A pointer to address of the [ICorDebugStackWalk](icordebugstackwalk-interface.md) object for the thread whose stack you want to unwind.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The `ICorDebugStackWalk` object was successfully created.|
+|E_FAIL|The `ICorDebugStackWalk` object was not created.|
+
+## Exceptions
+
+## Remarks
+
+If the `CreateStackWalk` method succeeds, the returned `ICorDebugStackWalk` object's context is set to the thread's current context.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-getactiveinternalframes-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-getactiveinternalframes-method.md
new file mode 100644
index 0000000000000..b8aedcb1d2fe0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-getactiveinternalframes-method.md
@@ -0,0 +1,76 @@
+---
+description: "Learn more about: ICorDebugThread3::GetActiveInternalFrames Method"
+title: "ICorDebugThread3::GetActiveInternalFrames Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread3.GetActiveInternalFrames Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread3::GetActiveInternalFrames"
+helpviewer_keywords:
+ - "ICorDebugThread3::GetActiveInternalFrames method [.NET debugging]"
+ - "GetActiveInternalFrames method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread3::GetActiveInternalFrames Method
+
+Returns an array of internal frames ([ICorDebugInternalFrame2](icordebuginternalframe2-interface.md) objects) on the stack.
+
+## Syntax
+
+```cpp
+HRESULT GetActiveInternalFrames
+ (
+ [in] ULONG32 cInternalFrames,
+ [out] ULONG32 *pcInternalFrames,
+ [in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
+ ICorDebugInternalFrame2 * ppInternalFrames[]
+ );
+```
+
+## Parameters
+
+ `cInternalFrames`
+ [in] The number of internal frames expected in `ppInternalFrames`.
+
+ `pcInternalFrames`
+ [out] A pointer to a `ULONG32` that contains the number of internal frames on the stack.
+
+ `ppInternalFrames`
+ [in, out] A pointer to the address of an array of internal frames on the stack.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The [ICorDebugInternalFrame2](icordebuginternalframe2-interface.md) object was successfully created.|
+|E_INVALIDARG|`cInternalFrames` is not zero and `ppInternalFrames` is `null`, or `pcInternalFrames` is `null`.|
+|HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)|`ppInternalFrames` is smaller than the count of internal frames.|
+
+## Exceptions
+
+## Remarks
+
+Internal frames are data structures pushed onto the stack by the runtime to store temporary data.
+
+When you first call `GetActiveInternalFrames`, you should set the `cInternalFrames` parameter to 0 (zero), and the `ppInternalFrames` parameter to null. When `GetActiveInternalFrames` first returns, `pcInternalFrames` contains the count of the internal frames on the stack.
+
+ `GetActiveInternalFrames` should then be called a second time. You should pass the proper count (`pcInternalFrames`) in the `cInternalFrames` parameter, and specify a pointer to an appropriately sized array in `ppInternalFrames`.
+
+Use the [ICorDebugStackWalk::GetFrame](icordebugthread3-getactiveinternalframes-method.md) method to return actual stack frames.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugthread3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-interface.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugthread3-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-interface.md
index 45ebbbe0d0d49..d23a5cdc7a30e 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugthread3-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread3-interface.md
@@ -11,8 +11,7 @@ api_type:
f1_keywords:
- "ICorDebugThread3"
helpviewer_keywords:
- - "ICorDebugThread3 interface [.NET Framework debugging]"
-ms.assetid: eb2860ef-06cb-4968-a6c3-6d048ecda2a4
+ - "ICorDebugThread3 interface [.NET debugging]"
topic_type:
- "apiref"
---
@@ -36,15 +35,10 @@ Provides the entry point to the [ICorDebugStackWalk](icordebugstackwalk-interfac
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getblockingobjects-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getblockingobjects-method.md
new file mode 100644
index 0000000000000..2949da4e175ad
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getblockingobjects-method.md
@@ -0,0 +1,59 @@
+---
+description: "Learn more about: ICorDebugThread4::GetBlockingObjects Method"
+title: "ICorDebugThread4::GetBlockingObjects Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread4.GetBlockingObjects Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread4::GetBlockingObjects"
+helpviewer_keywords:
+ - "GetBlockingObjects method [.NET debugging]"
+ - "ICorDebugThread4::GetBlockingObjects method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread4::GetBlockingObjects Method
+
+Provides an ordered enumeration of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures that provide thread blocking information.
+
+## Syntax
+
+```cpp
+HRESULT GetBlockingObjects (
+ [out] ICorDebugBlockingObjectEnum **ppBlockingObjectEnum
+```
+
+## Parameters
+
+ `ppBlockingObjectEnum`
+ [out] A pointer to an ordered enumeration of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures.
+
+## Remarks
+
+The first element in the returned enumeration corresponds to the first structure that is blocking the thread. The second element corresponds to a blocking item that is encountered while running an asynchronous procedure call (APC) when blocked on the first, and so on.
+
+The enumeration is valid only for the duration of the current synchronized state.
+
+This method must be called while the debuggee is in a synchronized state.
+
+If `ppBlockingObjectEnum` is not a valid pointer, the result is undefined.
+
+If a thread is blocked and the error cannot be determined, the method returns an HRESULT that indicates failure; otherwise, it returns S_OK.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugThread4 Interface](icordebugthread4-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugthread4-getcurrentcustomdebuggernotification-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getcurrentcustomdebuggernotification-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugthread4-getcurrentcustomdebuggernotification-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getcurrentcustomdebuggernotification-method.md
index 00c33be0642f4..026c9304de7ce 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugthread4-getcurrentcustomdebuggernotification-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-getcurrentcustomdebuggernotification-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugThread4::GetCurrentCustomDebuggerNotification"
helpviewer_keywords:
- - "GetCurrentCustomDebuggerNotification method [.NET Framework debugging]"
- - "ICorDebugThread4::GetCurrentCustomDebuggerNotification method [.NET Framework debugging]"
-ms.assetid: 57e0f2d2-5f0e-4e2d-99ec-3f26632eb693
+ - "GetCurrentCustomDebuggerNotification method [.NET debugging]"
+ - "ICorDebugThread4::GetCurrentCustomDebuggerNotification method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -41,16 +40,14 @@ The value of `ppNotificationObject` is null if the method is not called from wit
## Requirements
-**Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
-**.NET Framework Versions:** [!INCLUDE[net_current_v40plus](../../../../includes/net-current-v40plus-md.md)]
+**.NET versions:** Available since .NET Framework 4.0
## See also
- [ICorDebugThread4 Interface](icordebugthread4-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-hadunhandledexception-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-hadunhandledexception-method.md
new file mode 100644
index 0000000000000..f07580275dd50
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-hadunhandledexception-method.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugThread4::HadUnhandledException Method"
+title: "ICorDebugThread4::HadUnhandledException Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread4.HadUnhandledException Method"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread4::HadUnhandledException"
+helpviewer_keywords:
+ - "ICorDebugThread4::HadUnhandledException method [.NET debugging]"
+ - "HadUnhandledException method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread4::HadUnhandledException Method
+
+Indicates whether the thread has ever had an unhandled exception.
+
+## Syntax
+
+```cpp
+HRESULT GetBlockingObjects (
+ [out] ICorDebugBlockingObjectEnum **ppBlockingObjectEnum
+ );
+```
+
+## Parameters
+
+ `ppBlockingObjectEnum`
+ [out] A pointer to the address of an ordered enumeration of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures.
+
+## Return Value
+
+This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|S_OK|The thread has had an unhandled exception since its creation.|
+|S_FALSE|The thread has never had an unhandled exception.|
+
+## Remarks
+
+This method indicates whether the thread has ever had an unhandled exception. By the time the unhandled exception callback is triggered or native JIT-attach is initiated, this method is guaranteed to return S_OK. There is no guarantee that the [ICorDebugThread.GetCurrentException](icordebugthread-getcurrentexception-method.md) method will return the unhandled exception; however, it will if the process has not yet been continued after getting the unhandled exception callback or upon native JIT-attach. Furthermore, it is possible (although unlikely) to have more than one thread with an unhandled exception at the time native JIT-attach is triggered. In such a case there is no way to determine which exception triggered the JIT-attach.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
+
+## See also
+
+- [ICorDebugThread4 Interface](icordebugthread4-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-interface.md
new file mode 100644
index 0000000000000..c191d7b53e5fb
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthread4-interface.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugThread4 Interface"
+title: "ICorDebugThread4 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThread4"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThread4"
+helpviewer_keywords:
+ - "ICorDebugThread4 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThread4 Interface
+
+Provides thread blocking information.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetBlockingObjects Method](icordebugthread4-getblockingobjects-method.md)|Provides an ordered enumeration of [CorDebugBlockingObject](cordebugblockingobject-structure.md) structures that provide thread blocking information.|
+|[HadUnhandledException Method](icordebugthread4-hadunhandledexception-method.md)|Indicates whether the thread has ever had an unhandled exception.|
+|[GetCurrentCustomDebuggerNotification Method](icordebugthread4-getcurrentcustomdebuggernotification-method.md)|Gets the current [ICorDebugManagedCallback3::CustomNotification](icordebugmanagedcallback3-customnotification-method.md) object on the current thread.|
+
+## Remarks
+
+This interface is a logical extension of the ICorDebugThread, ICorDebugThread2, and [ICorDebugThread3](icordebugthread3-interface.md) interfaces.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-interface1.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-interface1.md
new file mode 100644
index 0000000000000..b702194382f13
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-interface1.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugThreadEnum Interface"
+title: "ICorDebugThreadEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThreadEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThreadEnum"
+helpviewer_keywords:
+ - "ICorDebugThreadEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThreadEnum Interface
+
+Implements ICorDebugEnum methods and enumerates ICorDebugThread arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugthreadenum-next-method.md)|Gets the specified number of `ICorDebugThread` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-next-method.md
new file mode 100644
index 0000000000000..1090ec8fca367
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugthreadenum-next-method.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: ICorDebugThreadEnum::Next Method"
+title: "ICorDebugThreadEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugThreadEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugThreadEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugThreadEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugThreadEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugThreadEnum::Next Method
+
+Gets the number of specified ICorDebugThread instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugThread *threads[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugThread` instances to be retrieved.
+
+ `threads`
+ [out] An array of pointers, each of which points to an `ICorDebugThread` object that represents a thread.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugThread` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugtype-enumeratetypeparameters-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-enumeratetypeparameters-method.md
similarity index 75%
rename from docs/framework/unmanaged-api/debugging/icordebugtype-enumeratetypeparameters-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugtype-enumeratetypeparameters-method.md
index 5d9a0a8b464dd..2400ec384cbaa 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugtype-enumeratetypeparameters-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-enumeratetypeparameters-method.md
@@ -11,8 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugType::EnumerateTypeParameters"
helpviewer_keywords:
- - "EnumerateTypeParameters method, ICorDebugType interface [.NET Framework debugging]"
- - "ICorDebugType::EnumerateTypeParameters method [.NET Framework debugging]"
+ - "EnumerateTypeParameters method, ICorDebugType interface [.NET debugging]"
+ - "ICorDebugType::EnumerateTypeParameters method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -35,7 +35,7 @@ HRESULT EnumerateTypeParameters (
## Remarks
- You can use `EnumerateTypeParameters` if the CorElementType value returned by [ICorDebugType::GetType](icordebugtype-gettype-method.md) is ELEMENT_TYPE_CLASS, ELEMENT_TYPE_VALUETYPE, ELEMENT_TYPE_ARRAY, ELEMENT_TYPE_SZARRAY, ELEMENT_TYPE_BYREF, ELEMENT_TYPE_PTR, or ELEMENT_TYPE_FNPTR. The number of parameters and their order depends on the type:
+You can use `EnumerateTypeParameters` if the CorElementType value returned by [ICorDebugType::GetType](icordebugtype-gettype-method.md) is ELEMENT_TYPE_CLASS, ELEMENT_TYPE_VALUETYPE, ELEMENT_TYPE_ARRAY, ELEMENT_TYPE_SZARRAY, ELEMENT_TYPE_BYREF, ELEMENT_TYPE_PTR, or ELEMENT_TYPE_FNPTR. The number of parameters and their order depends on the type:
- ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE: The number of type parameters contained in the `ICorDebugTypeEnum` that this method returns, will depend on the number of formal type parameters for the corresponding class. For example, if the type is `class Dict`, then `EnumerateTypeParameters` will return an `ICorDebugTypeEnum` that contains objects representing `String` and `int32` in sequence.
@@ -45,10 +45,10 @@ HRESULT EnumerateTypeParameters (
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getbase-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getbase-method.md
new file mode 100644
index 0000000000000..c54f982f15cb9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getbase-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugType::GetBase Method"
+title: "ICorDebugType::GetBase Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType.GetBase"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetBase"
+helpviewer_keywords:
+ - "ICorDebugType::GetBase method [.NET debugging]"
+ - "GetBase method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType::GetBase Method
+
+Gets an interface pointer to an ICorDebugType that represents the base type, if one exists, of the type represented by this `ICorDebugType`.
+
+## Syntax
+
+```cpp
+HRESULT GetBase (
+ [out] ICorDebugType **pBase
+);
+```
+
+## Parameters
+
+ `pBase`
+ [out] A pointer to the address of an `ICorDebugType` object that represents the base type.
+
+## Remarks
+
+Looking up the base type for a type is useful to implement common debugger functionality, such as printing out all the fields of an object or its parent classes.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getclass-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getclass-method.md
new file mode 100644
index 0000000000000..d07b9a9aec258
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getclass-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugType::GetClass Method"
+title: "ICorDebugType::GetClass Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType.GetClass"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetClass"
+helpviewer_keywords:
+ - "ICorDebugType::GetClass method [.NET debugging]"
+ - "GetClass method, ICorDebugType interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType::GetClass Method
+
+Gets an interface pointer to an ICorDebugClass that represents the uninstantiated generic type.
+
+## Syntax
+
+```cpp
+HRESULT GetClass (
+ [out] ICorDebugClass **ppClass
+);
+```
+
+## Parameters
+
+ `ppClass`
+ [out] A pointer to the address of an `ICorDebugClass` interface that represents the uninstantiated generic type.
+
+## Remarks
+
+ `GetClass` can be called only under certain conditions. Call [ICorDebugType::GetType](icordebugtype-gettype-method.md) before calling `GetClass`. If `ICorDebugType::GetType` returns a CorElementType value that is ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE, `GetClass` can be called to get the uninstantiated type for a generic type.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/framework/unmanaged-api/debugging/icordebugtype-getfirsttypeparameter-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getfirsttypeparameter-method.md
similarity index 76%
rename from docs/framework/unmanaged-api/debugging/icordebugtype-getfirsttypeparameter-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getfirsttypeparameter-method.md
index 2decd090aa0f9..359574c60d136 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugtype-getfirsttypeparameter-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getfirsttypeparameter-method.md
@@ -11,9 +11,8 @@ api_type:
f1_keywords:
- "ICorDebugType::GetFirstTypeParameter"
helpviewer_keywords:
- - "ICorDebugType::GetFirstTypeParameter method [.NET Framework debugging]"
- - "GetFirstTypeParameter method [.NET Framework debugging]"
-ms.assetid: 35bb594f-af6a-4349-83fe-e98702674e03
+ - "ICorDebugType::GetFirstTypeParameter method [.NET debugging]"
+ - "GetFirstTypeParameter method [.NET debugging]"
topic_type:
- "apiref"
---
@@ -40,10 +39,10 @@ HRESULT GetFirstTypeParameter (
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getrank-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getrank-method.md
new file mode 100644
index 0000000000000..ba2daadf5af36
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getrank-method.md
@@ -0,0 +1,44 @@
+---
+description: "Learn more about: ICorDebugType::GetRank Method"
+title: "ICorDebugType::GetRank Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType.GetRank"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetRank"
+helpviewer_keywords:
+ - "GetRank method, ICorDebugType interface [.NET debugging]"
+ - "ICorDebugType::GetRank method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType::GetRank Method
+
+Gets the number of dimensions in an array type.
+
+## Syntax
+
+```cpp
+HRESULT GetRank (
+ [out] ULONG32 *pnRank
+);
+```
+
+## Parameters
+
+ `pnRank`
+ [out] A pointer to the number of dimensions.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getstaticfieldvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getstaticfieldvalue-method.md
new file mode 100644
index 0000000000000..8e0b2f81ae0d2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-getstaticfieldvalue-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugType::GetStaticFieldValue Method"
+title: "ICorDebugType::GetStaticFieldValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType.GetStaticFieldValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetStaticFieldValue"
+helpviewer_keywords:
+ - "GetStaticFieldValue method, ICorDebugType interface [.NET debugging]"
+ - "ICorDebugType::GetStaticFieldValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType::GetStaticFieldValue Method
+
+Gets an interface pointer to an ICorDebugValue object that contains the value of the static field referenced by the specified field token in the specified stack frame.
+
+## Syntax
+
+```cpp
+HRESULT GetStaticFieldValue (
+ [in] mdFieldDef fieldDef,
+ [in] ICorDebugFrame *pFrame,
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `fieldDef`
+ [in] An `mdFieldDef` token that specifies the static field.
+
+ `pFrame`
+ [in] A pointer to an ICorDebugFrame that represents the stack frame.
+
+ `ppValue`
+ [out] A pointer to the address of an `ICorDebugValue` that contains the value of the static field.
+
+## Remarks
+
+The `GetStaticFieldValue` method may be used only if the type is ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE, as indicated by the [ICorDebugType::GetType](icordebugtype-gettype-method.md) method.
+
+For non-generic types, the operation performed by `GetStaticFieldValue` is identical to calling [ICorDebugClass::GetStaticFieldValue](icordebugclass-getstaticfieldvalue-method.md) on the ICorDebugClass object that is returned by [ICorDebugType::GetClass](icordebugtype-getclass-method.md).
+
+For generic types, a static field value will be relative to a particular instantiation. Also, if the static field could possibly be relative to a thread, a context, or an application domain, then the stack frame will help the debugger determine the proper value.
+
+ `GetStaticFieldValue` can be used only when a call to `ICorDebugType::GetType` returns a value of ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-gettype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-gettype-method.md
new file mode 100644
index 0000000000000..7998702512151
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-gettype-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugType::GetType Method"
+title: "ICorDebugType::GetType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType.GetType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetType"
+helpviewer_keywords:
+ - "ICorDebugType::GetType method [.NET debugging]"
+ - "GetType method, ICorDebugType interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType::GetType Method
+
+Gets a CorElementType value that describes the native type of the common language runtime (CLR) represented by this ICorDebugType.
+
+## Syntax
+
+```cpp
+HRESULT GetType (
+ [out] CorElementType *ty
+);
+```
+
+## Parameters
+
+ `ty`
+ [out] A pointer to a value of the `CorElementType` enumeration that indicates the CLR that this `ICorDebugType` represents.
+
+## Remarks
+
+If the value of `ty` is either ELEMENT_TYPE_CLASS or ELEMENT_TYPE_VALUETYPE, the [ICorDebugType::GetClass](icordebugtype-getclass-method.md) method may be called to get the uninstantiated type for a generic type; otherwise, do not call `ICorDebugType::GetClass`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-interface.md
new file mode 100644
index 0000000000000..0a0551e1dc484
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype-interface.md
@@ -0,0 +1,51 @@
+---
+description: "Learn more about: ICorDebugType Interface"
+title: "ICorDebugType Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType"
+helpviewer_keywords:
+ - "ICorDebugType interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType Interface
+
+Represents a type, either basic or complex (that is, user-defined). If the type is generic, `ICorDebugType` represents the instantiated generic type.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[EnumerateTypeParameters Method](icordebugtype-enumeratetypeparameters-method.md)|Gets an interface pointer to an ICorDebugTypeEnum that references the generic parameters of the class referenced by this `ICorDebugType`.|
+|[GetBase Method](icordebugtype-getbase-method.md)|Gets an interface pointer to an `ICorDebugType` that references the base class of the class referenced by this `ICorDebugType`, if one exists.|
+|[GetClass Method](icordebugtype-getclass-method.md)|Gets an interface pointer to an ICorDebugClass that references the typed constructor of this `ICorDebugType`.|
+|[GetFirstTypeParameter Method](icordebugtype-getfirsttypeparameter-method.md)|Gets an interface pointer to an `ICorDebugType` that references the first generic parameter for the constructor of the class referenced by this `ICorDebugType`.|
+|[GetRank Method](icordebugtype-getrank-method.md)|Gets the number of dimensions in an array type.|
+|[GetStaticFieldValue Method](icordebugtype-getstaticfieldvalue-method.md)|Gets an interface pointer to an ICorDebugValue that contains the value of the static field referenced by the specified field token in the specified stack frame.|
+|[GetType Method](icordebugtype-gettype-method.md)|Gets a CorElementType value that describes the native type of the common language runtime referenced by this `ICorDebugType`.|
+
+## Remarks
+
+If the type is generic, `ICorDebugClass` represents the uninstantiated type. The `ICorDebugType` interface represents an instantiated generic type. For example, Hashtable\ would be represented by `ICorDebugClass`, whereas Hashtable\ would be represented by `ICorDebugType`.
+
+Non-generic types are represented by both `ICorDebugClass` and `ICorDebugType`. The latter interface was introduced in .NET Framework 2.0 to deal with type instantiation.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-gettypeid-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-gettypeid-method.md
new file mode 100644
index 0000000000000..3fe67b5211c9a
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-gettypeid-method.md
@@ -0,0 +1,64 @@
+---
+description: "Learn more about: ICorDebugType2::GetTypeID Method"
+title: "ICorDebugType2::GetTypeID Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType2.GetTypeID"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType::GetTypeID"
+helpviewer_keywords:
+ - "GetTypeID method, ICorDebugType2 interface [.NET debugging]"
+ - "ICorDebugType2.GetTypeID method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType2::GetTypeID Method
+
+Gets a [COR_TYPEID](cor-typeid-structure.md) for this type.
+
+## Syntax
+
+```cpp
+HRESULT GetTypeID(
+ ([out] COR_TYPEID *id
+);
+```
+
+## Parameters
+
+ `id`
+ [out] A pointer to the [COR_TYPEID](cor-typeid-structure.md) for this ICorDebugType.
+
+## Return Value
+
+The return value is `S_OK` on success, or a failure `HRESULT` code on failure. The `HRESULT` codes include the following:
+
+|Return code|Description|
+|-----------------|-----------------|
+|`S_OK`|Method succeeded. The method has retrieved a valid [COR_TYPEID](cor-typeid-structure.md).|
+|`CORDBG_E_CLASS_NOT_LOADED`|The type has not been loaded.|
+|`CORDBG_E_UNSUPPORTED`|The type is not supported.|
+
+## Remarks
+
+This method provides a mapping from the ICorDebugType, which represents a type that may or may not have been loaded into the runtime, to a [COR_TYPEID](cor-typeid-structure.md), which serves as an opaque handle that identifies a type loaded into the runtime.
+
+When the type that the ICorDebugType represents has not yet been loaded, this method returns `CORDBG_E_CLASS_NOT_LOADED`. If the type is not supported, it returns `CORDBG_E_UNSUPPORTED`.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugType2 Interface](icordebugtype2-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-interface.md
new file mode 100644
index 0000000000000..02071b29a02d8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtype2-interface.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugType2 Interface"
+title: "ICorDebugType2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugType2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugType2"
+helpviewer_keywords:
+ - "ICorDebugType2 interface"
+topic_type:
+ - "apiref"
+---
+# ICorDebugType2 Interface
+
+Extends the ICorDebugType interface to retrieve the type identifier of a base type or complex (user-defined) type.
+
+## Methods
+
+| Method | Description |
+| ------------------------------------------------------ | ----------------------------------------------------------- |
+| [GetTypeID Method](icordebugtype2-gettypeid-method.md) | Gets a [COR_TYPEID](cor-typeid-structure.md) for this type. |
+
+## Remarks
+
+This interface is a logical extension of the ICorDebugType interface.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Example
+
+The following code fragment illustrates the use of the [ICorDebugType2::GetTypeID](icordebugtype2-gettypeid-method.md) method.
+
+```cpp
+// (error checking omitted for brevity)
+// given an ICorDebugType *pType
+
+ICorDebugType2 *pType2 = NULL;
+pType->QueryInterface(IID_ICorDebugType2, &pType);
+
+COR_TYPEID id;
+pType2->GetTypeID(&id);
+
+// now we can use existing APIs to get information about this COR_TYPEID
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-interface.md
new file mode 100644
index 0000000000000..5c9a2883623b9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugTypeEnum Interface"
+title: "ICorDebugTypeEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugTypeEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugTypeEnum"
+helpviewer_keywords:
+ - "ICorDebugTypeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugTypeEnum Interface
+
+Implements "ICorDebugEnum" methods and enumerates "ICorDebugType" arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugtypeenum-next-method.md)|Gets the specified number of `ICorDebugType` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-next-method.md
new file mode 100644
index 0000000000000..59c233da33602
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugtypeenum-next-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugTypeEnum::Next Method"
+title: "ICorDebugTypeEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugTypeEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugTypeEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugTypeEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugTypeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugTypeEnum::Next Method
+
+Gets the number of "ICorDebugType" instances specified by `celt` from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugType *values[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugType` instances to be retrieved.
+
+ `values`
+ [out] An array of pointers, each of which points to an `ICorDebugType` object.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugType` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-debugevent-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-debugevent-method.md
new file mode 100644
index 0000000000000..509f2f116285f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-debugevent-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugUnmanagedCallback::DebugEvent Method"
+title: "ICorDebugUnmanagedCallback::DebugEvent Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugUnmanagedCallback.DebugEvent"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugUnmanagedCallback::DebugEvent"
+helpviewer_keywords:
+ - "DebugEvent method [.NET debugging]"
+ - "ICorDebugUnmanagedCallback::DebugEvent method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugUnmanagedCallback::DebugEvent Method
+
+Notifies the debugger that a native event has been fired.
+
+## Syntax
+
+```cpp
+HRESULT DebugEvent (
+ [in] LPDEBUG_EVENT pDebugEvent,
+ [in] BOOL fOutOfBand
+);
+```
+
+## Parameters
+
+ `pDebugEvent`
+ [in] A pointer to the native event.
+
+ `fOutOfBand`
+ [in] `true`, if interaction with the managed process state is impossible after an unmanaged event occurs, until the debugger calls [ICorDebugController::Continue](icordebugcontroller-continue-method.md); otherwise, `false`.
+
+## Remarks
+
+If the thread being debugged is a Win32 thread, do not use any members of the Win32 debugging interface. You can call `ICorDebugController::Continue` only on a Win32 thread and only when continuing past an out-of-band event.
+
+The `DebugEvent` callback does not follow the standard rules for callbacks. When you call `DebugEvent`, the process will be in the raw, OS-debug stopped state. The process will not be synchronized. It will automatically enter the synchronized state when necessary to satisfy requests for information about managed code, which may result in other nested `DebugEvent` callbacks.
+
+Call [ICorDebugProcess::ClearCurrentException](icordebugprocess-clearcurrentexception-method.md) on the process to ignore an exception event before continuing the process. Calling this method sends DBG_CONTINUE instead of DBG_EXCEPTION_NOT_HANDLED on the continue request, and automatically clears out-of-band breakpoints and single-step exceptions. Out-of-band events can come at any time, even when the application being debugged appears stopped and when an outstanding in-band event already exists.
+
+The debugger should immediately continue past an out-of-band breakpoint event. The debugger should be using the [ICorDebugProcess2::SetUnmanagedBreakpoint](icordebugprocess2-setunmanagedbreakpoint-method.md) and [ICorDebugProcess2::ClearUnmanagedBreakpoint](icordebugprocess2-clearunmanagedbreakpoint-method.md) methods to add and remove breakpoints. These methods will skip over any out-of-band breakpoints automatically. Thus, the only out-of-band breakpoints that get dispatched should be raw breakpoints that are already in the instruction stream, such as a call to the Win32 `DebugBreak` function. Do not try to use `ICorDebugProcess::ClearCurrentException`, [ICorDebugProcess::GetThreadContext](icordebugprocess-getthreadcontext-method.md), [ICorDebugProcess::SetThreadContext](icordebugprocess-setthreadcontext-method.md), or any other member of the debugging API.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugUnmanagedCallback Interface](icordebugunmanagedcallback-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-interface.md
new file mode 100644
index 0000000000000..91d9592d92c10
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugunmanagedcallback-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugUnmanagedCallback Interface"
+title: "ICorDebugUnmanagedCallback Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugUnmanagedCallback"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugUnmanagedCallback"
+helpviewer_keywords:
+ - "ICorDebugUnmanagedCallback interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugUnmanagedCallback Interface
+
+Provides notification of native events that are not directly related to the common language runtime (CLR).
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[DebugEvent Method](icordebugunmanagedcallback-debugevent-method.md)|Notifies the debugger that a native event has been fired.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-createbreakpoint-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-createbreakpoint-method.md
new file mode 100644
index 0000000000000..a6930a15ea66e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-createbreakpoint-method.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugValue::CreateBreakpoint Method"
+title: "ICorDebugValue::CreateBreakpoint Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue.CreateBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue::CreateBreakpoint"
+helpviewer_keywords:
+ - "CreateBreakpoint method, ICorDebugValue interface [.NET debugging]"
+ - "ICorDebugValue::CreateBreakpoint method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue::CreateBreakpoint Method
+
+The `CreateBreakpoint` method is currently not implemented.
+
+## Syntax
+
+```cpp
+HRESULT CreateBreakpoint (
+ [out] ICorDebugValueBreakpoint **ppBreakpoint
+);
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getaddress-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getaddress-method.md
new file mode 100644
index 0000000000000..1eb4300096bc1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getaddress-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugValue::GetAddress Method"
+title: "ICorDebugValue::GetAddress Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue.GetAddress"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue::GetAddress"
+helpviewer_keywords:
+ - "ICorDebugValue::GetAddress method [.NET debugging]"
+ - "GetAddress method, ICorDebugValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue::GetAddress Method
+
+Gets the address of this "ICorDebugValue" object, which is in the process of being debugged.
+
+## Syntax
+
+```cpp
+HRESULT GetAddress (
+ [out] CORDB_ADDRESS *pAddress
+);
+```
+
+## Parameters
+
+ `pAddress`
+ [out] Pointer to a `CORDB_ADDRESS` object that specifies the address of this value object.
+
+## Remarks
+
+If the value is unavailable, 0 (zero) is returned. This could happen if the value is at least partly in registers or stored in a garbage collector handle (`GCHandle`).
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getsize-method.md
new file mode 100644
index 0000000000000..646576b7115b8
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-getsize-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugValue::GetSize Method"
+title: "ICorDebugValue::GetSize Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue.GetSize"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue::GetSize"
+helpviewer_keywords:
+ - "GetSize method, ICorDebugValue interface [.NET debugging]"
+ - "ICorDebugValue::GetSize method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue::GetSize Method
+
+Gets the size, in bytes, of this "ICorDebugValue" object.
+
+## Syntax
+
+```cpp
+HRESULT GetSize (
+ [out] ULONG32 *pSize
+);
+```
+
+## Parameters
+
+ `pSize`
+ [out] The size, in bytes, of this value object.
+
+## Remarks
+
+If the value's type is a reference type, this method returns the size of the pointer rather than the size of the object.
+
+The `ICorDebugValue::GetSize` method returns `COR_E_OVERFLOW` for objects that are larger than 4 GB on 64-bit platforms. Use the [ICorDebugValue3::GetSize64](icordebugvalue3-getsize64-method.md) method instead for objects that are larger than 4 GB.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [GetSize64 Method](icordebugvalue3-getsize64-method.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-gettype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-gettype-method.md
new file mode 100644
index 0000000000000..af225d57d7e5f
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-gettype-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugValue::GetType Method"
+title: "ICorDebugValue::GetType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue.GetType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue::GetType"
+helpviewer_keywords:
+ - "ICorDebugValue::GetType method [.NET debugging]"
+ - "GetType method, ICorDebugValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue::GetType Method
+
+Gets the primitive type of this "ICorDebugValue" object.
+
+## Syntax
+
+```cpp
+HRESULT GetType (
+ [out] CorElementType *pType
+);
+```
+
+## Parameters
+
+ `pType`
+ [out] A pointer to a value of the "CorElementType" enumeration that indicates the value's type.
+
+## Remarks
+
+If the object is a complex run-time type, that type may be examined through the appropriate subclasses of the `ICorDebugValue` interface. For example, "ICorDebugObjectValue", which inherits from `ICorDebugValue`, represents a complex type.
+
+The `GetType` and [ICorDebugObjectValue::GetClass](icordebugobjectvalue-getclass-method.md) methods each return information about the type of a value. They are both superseded by the generics-aware [ICorDebugValue2::GetExactType](icordebugvalue2-getexacttype-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-interface.md
new file mode 100644
index 0000000000000..3de444d37e9bd
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue-interface.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: ICorDebugValue Interface"
+title: "ICorDebugValue Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue"
+helpviewer_keywords:
+ - "ICorDebugValue interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue Interface
+
+Represents a value in the process being debugged. The value can be a read or a write value.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[CreateBreakpoint Method](icordebugvalue-createbreakpoint-method.md)|This method is not currently implemented.|
+|[GetAddress Method](icordebugvalue-getaddress-method.md)|Gets the address of this `ICorDebugValue` object, which is in the process of being debugged.|
+|[GetSize Method](icordebugvalue-getsize-method.md)|Gets the size, in bytes, of this `ICorDebugValue` object.|
+|[GetType Method](icordebugvalue-gettype-method.md)|Gets the primitive type of this `ICorDebugValue` object.|
+
+## Remarks
+
+In general, ownership of a value object is passed when it is returned. The recipient is responsible for removing a reference from the object when it is finished with the object.
+
+Depending on where the value was retrieved from, the value may not remain valid after the process is resumed. So, in general, the value shouldn't be held across a call of the [ICorDebugController::Continue](icordebugcontroller-continue-method.md) method.
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+- [ICorDebugValue3 Interface](icordebugvalue3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-getexacttype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-getexacttype-method.md
new file mode 100644
index 0000000000000..b926b4225bcf7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-getexacttype-method.md
@@ -0,0 +1,50 @@
+---
+description: "Learn more about: ICorDebugValue2::GetExactType Method"
+title: "ICorDebugValue2::GetExactType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue2.GetExactType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue2::GetExactType"
+helpviewer_keywords:
+ - "ICorDebugValue2::GetExactType method [.NET debugging]"
+ - "GetExactType method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue2::GetExactType Method
+
+Gets an interface pointer to an "ICorDebugType" object that represents the of this value.
+
+## Syntax
+
+```cpp
+HRESULT GetExactType (
+ [out] ICorDebugType **ppType
+);
+```
+
+## Parameters
+
+ `ppType`
+ [out] A pointer to the address of an `ICorDebugType` object that represents the of the value represented by this "ICorDebugValue2" object.
+
+## Remarks
+
+The generics-aware `GetExactType` method supersedes both the [ICorDebugObjectValue::GetClass](icordebugobjectvalue-getclass-method.md) and the [ICorDebugValue::GetType](icordebugvalue-gettype-method.md) methods, each of which return information about the type of a value.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-interface.md
new file mode 100644
index 0000000000000..2ed4cde109db7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue2-interface.md
@@ -0,0 +1,43 @@
+---
+description: "Learn more about: ICorDebugValue2 Interface"
+title: "ICorDebugValue2 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue2"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue2"
+helpviewer_keywords:
+ - "ICorDebugValue2 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue2 Interface
+
+Extends the "ICorDebugValue" interface to provide support for "ICorDebugType" objects.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetExactType Method](icordebugvalue2-getexacttype-method.md)|Gets an interface pointer to an `ICorDebugType` object that represents the of this value.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 2.0
+
+- [ICorDebugValue3 Interface](icordebugvalue3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-getsize64-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-getsize64-method.md
new file mode 100644
index 0000000000000..c9a201710e348
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-getsize64-method.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: ICorDebugValue3::GetSize64 Method"
+title: "ICorDebugValue3::GetSize64 Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue3::GetSize64"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue3::GetSize64"
+helpviewer_keywords:
+ - "GetSize64 method, ICorDebugValue3 interface [.NET debugging]"
+ - "ICorDebugValue3::GetSize64 method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue3::GetSize64 Method
+
+Gets the size, in bytes, of this [ICorDebugValue3](icordebugvalue3-interface.md) object.
+
+## Syntax
+
+```cpp
+HRESULT GetSize64(
+ [out] ULONG64 *pSize
+);
+```
+
+## Parameters
+
+pSize
+ [out] A pointer to the size, in bytes, of this object.
+
+## Remarks
+
+If this value's type is a reference type, this method returns the size of the pointer rather than the size of the object.
+
+The `ICorDebugValue3::GetSize` method differs from the [ICorDebugValue::GetSize](icordebugvalue-getsize-method.md) method in the type of its output parameter. In [ICorDebugValue::GetSize](icordebugvalue-getsize-method.md), the output parameter is a `ULONG32`; in `ICorDebugValue3::GetSize`, it is a `ULONG64`. This enables the [ICorDebugValue3](icordebugvalue3-interface.md) interface to report the size of arrays that exceed 2GB.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
+
+## See also
+
+- [ICorDebugValue3 Interface](icordebugvalue3-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-interface.md
new file mode 100644
index 0000000000000..0415e1379e66c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalue3-interface.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugValue3 Interface"
+title: "ICorDebugValue3 Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValue3"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValue3"
+helpviewer_keywords:
+ - "ICorDebugValue3 interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValue3 Interface
+
+Extends the "ICorDebugValue" and "ICorDebugValue2" interfaces to provide support for arrays that are larger than 2 GB.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetSize64 Method](icordebugvalue3-getsize64-method.md)|Gets the size, in bytes, of this `ICorDebugValue3` object.|
+
+## Remarks
+
+The [ICorDebugValue::GetSize](icordebugvalue3-getsize64-method.md) method returns an object size that ranges from 0 to 2,147,483,647 bytes. In .NET Framework 4.5 and later versions, the size of arrays can exceed 2 GB. The `ICorDebugValue3` interface enables you to determine the size of these arrays.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-getvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-getvalue-method.md
new file mode 100644
index 0000000000000..05e7fa075ef33
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-getvalue-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugValueBreakpoint::GetValue Method"
+title: "ICorDebugValueBreakpoint::GetValue Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValueBreakpoint.GetValue"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValueBreakpoint::GetValue"
+helpviewer_keywords:
+ - "GetValue method, ICorDebugValueBreakpoint interface [.NET debugging]"
+ - "ICorDebugValueBreakpoint::GetValue method [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValueBreakpoint::GetValue Method
+
+Gets an interface pointer to an "ICorDebugValue" object that represents the value of the object on which the breakpoint is set.
+
+## Syntax
+
+```cpp
+HRESULT GetValue (
+ [out] ICorDebugValue **ppValue
+);
+```
+
+## Parameters
+
+ `ppValue`
+ [out] A pointer to the address of an `ICorDebugValue` object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-interface.md
new file mode 100644
index 0000000000000..df59ce31441f7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvaluebreakpoint-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugValueBreakpoint Interface"
+title: "ICorDebugValueBreakpoint Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValueBreakpoint"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValueBreakpoint"
+helpviewer_keywords:
+ - "ICorDebugValueBreakpoint interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValueBreakpoint Interface
+
+Extends the ICorDebugBreakpoint interface to provide access to specific values.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetValue Method](icordebugvaluebreakpoint-getvalue-method.md)|Gets an interface pointer to an ICorDebugValue object that represents the value of the object upon which the breakpoint is set.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-interface.md
new file mode 100644
index 0000000000000..be3eb167af319
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-interface.md
@@ -0,0 +1,41 @@
+---
+description: "Learn more about: ICorDebugValueEnum Interface"
+title: "ICorDebugValueEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValueEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValueEnum"
+helpviewer_keywords:
+ - "ICorDebugValueEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValueEnum Interface
+
+Implements "ICorDebugEnum" methods and enumerates "ICorDebugValue" arrays.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugvalueenum-next-method.md)|Gets the specified number of `ICorDebugValue` instances from the enumeration, starting at the current position.|
+
+## Remarks
+
+> [!NOTE]
+> This interface does not support being called remotely, either cross-machine or cross-process.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-next-method.md
new file mode 100644
index 0000000000000..92d909ffa782d
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvalueenum-next-method.md
@@ -0,0 +1,55 @@
+---
+description: "Learn more about: ICorDebugValueEnum::Next Method"
+title: "ICorDebugValueEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugValueEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugValueEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugValueEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugValueEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugValueEnum::Next Method
+
+Gets the specified number of "ICorDebugValue" instances from the enumeration, starting at the current position.
+
+## Syntax
+
+```cpp
+HRESULT Next (
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)]
+ ICorDebugValue *values[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of `ICorDebugValue` instances to be retrieved.
+
+ `values`
+ [out] An array of pointers, each of which points to an `ICorDebugValue` object.
+
+ `pceltFetched`
+ [out] Pointer to the number of `ICorDebugValue` instances actually returned. This value may be null if `celt` is one.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getargumentindex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getargumentindex-method.md
new file mode 100644
index 0000000000000..2f52af77d8ccc
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getargumentindex-method.md
@@ -0,0 +1,62 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetArgumentIndex Method"
+title: "ICorDebugVariableHome::GetArgumentIndex Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetArgumentIndex"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetArgumentIndex"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetArgumentIndex method [.NET debugging]"
+ - "GetArgumentIndex method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+
+# ICorDebugVariableHome::GetArgumentIndex Method
+
+Gets the index of a function argument.
+
+## Syntax
+
+```cpp
+HRESULT GetArgumentIndex(
+ [out] ULONG32* pArgumentIndex
+);
+```
+
+## Parameters
+
+`pArgumentIndex`\
+[out] A pointer to the argument index.
+
+## Return Value
+
+The method returns the following values.
+
+| Value | Description |
+|----------|--------------------------------------------------|
+| `S_OK` | The method call returned a valid argument index. |
+| `E_FAIL` | The current [ICorDebugVariableHome](icordebugvariablehome-interface.md) instance represents a local variable. |
+
+## Remarks
+
+The argument index can be used to retrieve metadata for this argument.
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorDebug.idl, CorDebug.h
+
+**Library:** CorGuids.lib
+
+**.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getcode-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getcode-method.md
new file mode 100644
index 0000000000000..bdb873c810638
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getcode-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetCode Method"
+title: "ICorDebugVariableHome::GetCode Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetCode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetCode"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetCode method [.NET debugging]"
+ - "GetCode method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome::GetCode Method
+
+Gets the "ICorDebugCode" instance that contains this [ICorDebugVariableHome](icordebugvariablehome-interface.md) object.
+
+## Syntax
+
+```cpp
+HRESULT GetCode(
+ [out] ICorDebugCode **ppCode
+);
+```
+
+## Parameters
+
+ `ppCode`
+ [out] A pointer to the address of the "ICorDebugCode" instance that contains this [ICorDebugVariableHome](icordebugvariablehome-interface.md) object.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getliverange-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getliverange-method.md
new file mode 100644
index 0000000000000..d8c27a71f5680
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getliverange-method.md
@@ -0,0 +1,52 @@
+---
+description: "Learn more about: IcorDebugVariableHome::GetLiveRange Method"
+title: "IcorDebugVariableHome::GetLiveRange Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetLiveRange"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetLiveRange"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetLiveRange method [.NET debugging]"
+ - "GetLiveRange method, ICorDebugVariableFrame interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# IcorDebugVariableHome::GetLiveRange Method
+
+Gets the native range over which this variable is live.
+
+## Syntax
+
+```cpp
+HRESULT GetLiveRange(
+ [out] ULONG32* pStartOffset,
+ [out] ULONG32 *pEndOffset
+);
+```
+
+## Parameters
+
+ `pStartOffset`
+ [out] The logical offset at which the variable is first live.
+
+ `pEndOffset`
+ [out] The logical offset immediately after the point at which the variable is last live.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getlocationtype-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getlocationtype-method.md
new file mode 100644
index 0000000000000..ceb757e3321e7
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getlocationtype-method.md
@@ -0,0 +1,49 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetLocationType Method"
+title: "ICorDebugVariableHome::GetLocationType Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetLocationType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetLocationType"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetLocationType method [.NET debugging]"
+ - "GetLocationType method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome::GetLocationType Method
+
+Gets the type of the variable's native location.
+
+## Syntax
+
+```cpp
+HRESULT GetLocationType(
+ [out] VariableLocationType *pLocationType
+);
+```
+
+## Parameters
+
+ `pLocationType`\
+ [out] A pointer to the type of the variable's native location.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome interface](icordebugvariablehome-interface.md)
+- [VariableLocationType enumeration](variablelocationtype-enumeration.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getoffset-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getoffset-method.md
new file mode 100644
index 0000000000000..65695e328636e
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getoffset-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetOffset Method"
+title: "ICorDebugVariableHome::GetOffset Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetOffset"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetOffset"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetOffset method [.NET debugging]"
+ - "GetOffset method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome::GetOffset Method
+
+Gets the offset from the base register for a variable.
+
+## Syntax
+
+```cpp
+HRESULT GetOffset(
+ [out] LONG *pOffset
+);
+```
+
+## Parameters
+
+ `pOffset`
+ [out] The offset from the base register.
+
+## Return Value
+
+The method returns the following values:
+
+|Value|Description|
+|-----------|-----------------|
+|`S_OK`|The variable is in a register-relative memory location.|
+|`E_FAIL`|The variable is not in a register-relative memory location.|
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getregister-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getregister-method.md
new file mode 100644
index 0000000000000..c8cbd03aa1875
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getregister-method.md
@@ -0,0 +1,57 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetRegister Method"
+title: "ICorDebugVariableHome::GetRegister Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetRegister"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetRegister"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetRegister method [.NET debugging]"
+ - "GetRegister method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome::GetRegister Method
+
+Gets the register that contains a variable with a location type of `VLT_REGISTER`, and the base register for a variable with a location type of `VLT_REGISTER_RELATIVE`.
+
+## Syntax
+
+```cpp
+HRESULT GetRegister(
+ [out] CorDebugRegister *pRegister
+);
+```
+
+## Parameters
+
+ `pRegister`\
+ [out] A [CorDebugRegister](cordebugregister-enumeration.md) enumeration value that indicates the register for a variable with a location type of `VLT_REGISTER`, and the base register for a variable with a location type of `VLT_REGISTER_RELATIVE`.
+
+## Return Value
+
+The method returns the following values:
+
+| Value | Description |
+|----------|------------------------------------------------------------------------|
+| `S_OK` | The variable is in the register indicated by the `pRegister` argument. |
+| `E_FAIL` | The variable is not in a register or a register-relative location. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getslotindex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getslotindex-method.md
new file mode 100644
index 0000000000000..a01a0a19898c2
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-getslotindex-method.md
@@ -0,0 +1,61 @@
+---
+description: "Learn more about: ICorDebugVariableHome::GetSlotIndex Method"
+title: "ICorDebugVariableHome::GetSlotIndex Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHome.GetSlotIndex"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome::GetSlotIndex"
+helpviewer_keywords:
+ - "ICorDebugVariableHome::GetSlotIndex method [.NET debugging]"
+ - "GetSlotIndex method, ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome::GetSlotIndex Method
+
+Gets the managed slot-index of a local variable.
+
+## Syntax
+
+```cpp
+HRESULT GetSlotIndex(
+ [out] ULONG32 *pSlotIndex
+);
+```
+
+## Parameters
+
+ `pSlotIndex`
+ [out] A pointer to the slot-index of a local variable.
+
+## Return Value
+
+The method returns the following values.
+
+|Value|Description|
+|-----------|-----------------|
+|`S_OK`|The method call returned a slot-index value in `pSlotIndex`.|
+|`E_FAIL`|The current [ICorDebugVariableHome](icordebugvariablehome-interface.md) instance represents a function argument.|
+
+## Remarks
+
+The slot-index can be used to retrieve the metadata for this local variable.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-interface.md
new file mode 100644
index 0000000000000..863dd143442c9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehome-interface.md
@@ -0,0 +1,91 @@
+---
+description: "Learn more about: ICorDebugVariableHome Interface"
+title: "ICorDebugVariableHome Interface"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "ICorDebugVariableHome"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHome"
+helpviewer_keywords:
+ - "ICorDebugVariableHome interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHome Interface
+
+Represents a local variable or argument of a function.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[GetArgumentIndex Method](icordebugvariablehome-getargumentindex-method.md)|Gets the index of a function argument.|
+|[GetCode Method](icordebugvariablehome-getcode-method.md)|Gets the "ICorDebugCode" instance that contains this `ICorDebugVariableHome` object.|
+|[GetLiveRange Method](icordebugvariablehome-getliverange-method.md)|Gets the native range over which this variable is live.|
+|[GetLocationType Method](icordebugvariablehome-getlocationtype-method.md)|Gets the type of the variable's native location.|
+|[GetOffset Method](icordebugvariablehome-getoffset-method.md)|Gets the offset from the base register for a variable.|
+|[GetRegister Method](icordebugvariablehome-getregister-method.md)|Gets the register that contains a variable with a location type of `VLT_REGISTER`, and the base register for a variable with a location type of `VLT_REGISTER_RELATIVE`.|
+|[GetSlotIndex Method](icordebugvariablehome-getslotindex-method.md)|Gets the managed slot-index of a local variable.|
+
+## Example
+
+The following code fragment uses the [ICorDebugCode4](icordebugcode4-interface.md) object named `pCode4`.
+
+```cpp
+ICorDebugCode4 *pCode4 = NULL;
+pCode->QueryInterface(IID_ICorDebugCode4, &pCode4);
+
+ICorDebugVariableEnum *pVarLocEnum = NULL;
+pCode4->EnumerateVariableHomes(&pVarLocEnum);
+
+// retrieve local variables and arguments
+ULONG celt = 0;
+pVarLocEnum->GetCount(&celt);
+ICorDebugVariableHome **homes = new ICorDebugVariableHome *[celt];
+ULONG celtFetched = 0;
+pVarLocEnum->Next(celt, homes, &celtFetched);
+
+for (int i = 0; i < celtFetched; i++)
+{
+ VariableLocationType locType = VLT_INVALID;
+ homes[i].GetLocationType(&locType);
+ switch (locType)
+ {
+ case VLT_REGISTER:
+ CorDebugRegister register = 0;
+ locals[i].GetRegister(®ister);
+ // now we know which register it is in
+ break;
+ case VLT_REGISTER_RELATIVE:
+ CorDebugRegister baseRegister = 0;
+ LONG offset = 0;
+ locals[i].GetRegister(®ister);
+ locals[i].GetOffset(&offset);
+ // now we know the register-relative offset
+ break;
+ case VLT_INVALID:
+ // handle case where we can't access the location
+ break;
+ }
+}
+```
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHomeEnum Interface](icordebugvariablehomeenum-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-interface.md
new file mode 100644
index 0000000000000..062fcdc0e9759
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-interface.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugVariableHomeEnum Interface"
+title: "ICorDebugVariableHomeEnum Interface"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHomeEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHomeEnum"
+helpviewer_keywords:
+ - "ICorDebugVariableHomeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHomeEnum Interface
+
+Provides an enumerator to the local variables and arguments in a function.
+
+## Methods
+
+|Method|Description|
+|------------|-----------------|
+|[Next Method](icordebugvariablehomeenum-next-method.md)|Gets the specified number of [ICorDebugVariableHome](icordebugvariablehome-interface.md) instances that contain information about the local variables and arguments in a function.|
+
+## Remarks
+
+The `ICorDebugVariableHomeEnum` interface implements the ICorDebugEnum interface.
+
+An `ICorDebugVariableHomeEnum` instance is populated with [ICorDebugVariableHome](icordebugvariablehome-interface.md) instances by calling the [ICorDebugCode4::EnumerateVariableHomes](icordebugcode4-enumeratevariablehomes-method.md) method. Each [ICorDebugVariableHome](icordebugvariablehome-interface.md) instance in the collection represents a local variable or argument in a function. The [ICorDebugVariableHome](icordebugvariablehome-interface.md) objects in the collection can be enumerated by calling the [ICorDebugVariableHomeEnum::Next](icordebugvariablehomeenum-next-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-next-method.md
new file mode 100644
index 0000000000000..37caf3a34853b
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablehomeenum-next-method.md
@@ -0,0 +1,70 @@
+---
+description: "Learn more about: ICorDebugVariableHomeEnum::Next Method"
+title: "ICorDebugVariableHomeEnum::Next Method"
+ms.date: "03/30/2017"
+api_name:
+ - "ICorDebugVariableHomeEnum.Next"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "ICorDebugVariableHomeEnum::Next"
+helpviewer_keywords:
+ - "ICorDebugVariableHomeEnum::Next method [.NET debugging]"
+ - "Next method, ICorDebugVariableHomeEnum interface [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# ICorDebugVariableHomeEnum::Next Method
+
+Gets the specified number of [ICorDebugVariableHome](icordebugvariablehome-interface.md) instances that contain information about the local variables and arguments in a function.
+
+## Syntax
+
+```cpp
+HRESULT Next(
+ [in] ULONG celt,
+ [out, size_is(celt), length_is(*pceltFetched)] ICorDebugVariableHome *homes[],
+ [out] ULONG *pceltFetched
+);
+```
+
+## Parameters
+
+ `celt`
+ [in] The number of objects to be retrieved.
+
+ `homes`
+An array of pointers, each of which points to a [ICorDebugVariableHome](icordebugvariablehome-interface.md) object that provides information about a local variable or argument of a function.
+
+ `pceltFetched`
+ [out] The number of instances actually returned in objects.
+
+## Return Value
+
+The method returns the following values.
+
+|HRESULT|Description|
+|-------------|-----------------|
+|`S_OK`|The method completed successfully.|
+|`S_FALSE`|The actual number of instances retrieved, as reflected in `pceltFetched`, is less than the number of instances requested.|
+
+## Remarks
+
+The [ICorDebugVariableHomeEnum::Next](icordebugvariablehomeenum-next-method.md) method retrieves a maximum of `celt` objects starting at the current position of the enumerator. When the method returns, `pceltFetched` contains the actual number of objects retrieved.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
+
+## See also
+
+- [ICorDebugVariableHomeEnum Interface](icordebugvariablehomeenum-interface.md)
+- [ICorDebugVariableHome Interface](icordebugvariablehome-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getname-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getname-method.md
new file mode 100644
index 0000000000000..2b47b2e19e8d9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getname-method.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: ICorDebugVariableSymbol::GetName Method"
+title: "ICorDebugVariableSymbol::GetName Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugVariableSymbol::GetName Method
+
+Gets the name of a variable.
+
+## Syntax
+
+```cpp
+HRESULT GetName(
+ [in] ULONG32 cchName,
+ [out] ULONG32 *pcchName,
+ [out, size_is(cchName), length_is(*pcchName)] WCHAR szName[]
+);
+```
+
+## Parameters
+
+ `cchName`
+ [in] The number of characters in the `szName` buffer.
+
+ `pcchName`
+ [out] A pointer to the number of characters actually written to the `szName` buffer.
+
+ `szName`
+A pointer to a character array that contains the variable name.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugVariableSymbol Interface](icordebugvariablesymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getsize-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getsize-method.md
new file mode 100644
index 0000000000000..9d8512958873c
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getsize-method.md
@@ -0,0 +1,40 @@
+---
+description: "Learn more about: ICorDebugVariableSymbol::GetSize Method"
+title: "ICorDebugVariableSymbol::GetSize Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugVariableSymbol::GetSize Method
+
+Gets the size of a variable in bytes.
+
+## Syntax
+
+```cpp
+HRESULT GetSize(
+ [out] ULONG32 *pcbValue
+);
+```
+
+## Parameters
+
+ `pcbValue`
+A pointer to a 32-bit unsigned integer containing the size of the variable.
+
+## Remarks
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugVariableSymbol Interface](icordebugvariablesymbol-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getslotindex-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getslotindex-method.md
new file mode 100644
index 0000000000000..b11cefbb579e0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getslotindex-method.md
@@ -0,0 +1,46 @@
+---
+description: "Learn more about: ICorDebugVariableSymbol::GetSlotIndex Method"
+title: "ICorDebugVariableSymbol::GetSlotIndex Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugVariableSymbol::GetSlotIndex Method
+
+Gets the managed slot index of a local variable.
+
+## Syntax
+
+```cpp
+HRESULT GetSlotIndex(
+ [out] ULONG32 *pSlotIndex
+);
+```
+
+## Parameters
+
+ `pSlotIndex`
+ [out] A pointer to the local variable's slot index.
+
+## Return Value
+
+ `S_OK` if successful. `E_FAIL` if the variable is a function argument.
+
+## Remarks
+
+The managed slot index of a local variable can be used to retrieve the variable's metadata information
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugVariableSymbol Interface](icordebugvariablesymbol-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getvalue-method.md
similarity index 81%
rename from docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getvalue-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getvalue-method.md
index 030f9790af46e..9222460c39a6f 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-getvalue-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-getvalue-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugVariableSymbol::GetValue Method"
title: "ICorDebugVariableSymbol::GetValue Method"
ms.date: "03/30/2017"
-ms.assetid: 90abece1-392e-4ade-94a1-30c75b0f7074
---
# ICorDebugVariableSymbol::GetValue Method
@@ -48,15 +47,14 @@ HRESULT GetValue(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugVariableSymbol Interface](icordebugvariablesymbol-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-interface.md
similarity index 77%
rename from docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-interface.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-interface.md
index f7ea1cd1e91b9..6895604652809 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-interface.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-interface.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugVariableSymbol Interface"
title: "ICorDebugVariableSymbol Interface"
ms.date: "03/30/2017"
-ms.assetid: 0e58b85e-69bd-41ff-bedb-8cdc8be6a7a2
---
# ICorDebugVariableSymbol Interface
@@ -25,15 +24,10 @@ Retrieves the debug symbol information for a variable.
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
-
-## See also
-
-- [Debugging Interfaces](debugging-interfaces.md)
-- [Debugging](index.md)
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-setvalue-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-setvalue-method.md
similarity index 81%
rename from docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-setvalue-method.md
rename to docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-setvalue-method.md
index 4484d891e0d50..bfaaf5f1e8c80 100644
--- a/docs/framework/unmanaged-api/debugging/icordebugvariablesymbol-setvalue-method.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvariablesymbol-setvalue-method.md
@@ -2,7 +2,6 @@
description: "Learn more about: ICorDebugVariableSymbol::SetValue Method"
title: "ICorDebugVariableSymbol::SetValue Method"
ms.date: "03/30/2017"
-ms.assetid: 4609418d-71fa-44bc-9618-4d529d25cabb
---
# ICorDebugVariableSymbol::SetValue Method
@@ -48,15 +47,14 @@ HRESULT SetValue(
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_46_native](../../../../includes/net-46-native-md.md)]
+ **.NET versions:** Available since .NET Framework 4.6
## See also
- [ICorDebugVariableSymbol Interface](icordebugvariablesymbol-interface.md)
-- [Debugging Interfaces](debugging-interfaces.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-getcontext-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-getcontext-method.md
new file mode 100644
index 0000000000000..1e26e9b1b3679
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-getcontext-method.md
@@ -0,0 +1,60 @@
+---
+description: "Learn more about: ICorDebugVirtualUnwinder::GetContext Method"
+title: "ICorDebugVirtualUnwinder::GetContext Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugVirtualUnwinder::GetContext Method
+
+Gets the current context of this unwinder.
+
+## Syntax
+
+```cpp
+HRESULT GetContext(
+ [in] ULONG32 contextFlags,
+ [in] ULONG32 cbContextBuf,
+ [out] ULONG32* contextSize,
+ [out, size_is(cbContextBuf)] BYTE contextBuf[]
+);
+```
+
+## Parameters
+
+ `contextFlags`
+ [in] Flags that specify which parts of the context to return (defined in WinNT.h).
+
+ `cbContextBuf`
+ [in] The number of bytes in `contextBuf`.
+
+ `contextSize`
+ [out] A pointer to the number of bytes actually written to `contextBuf`.
+
+ `contextBuf`
+ [out] A byte array that contains the current context of this unwinder.
+
+## Return Value
+
+Any failing HRESULT value received by mscordbi is considered fatal and will cause ICorDebug APIs to return `CORDBG_E_DATA_TARGET_ERROR`.
+
+## Remarks
+
+You set the initial value of the `contextBuf` argument to the context buffer returned by calling the [ICorDebugStackWalk::GetContext](icordebugstackwalk-getcontext-method.md) method.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+Because unwinding may only restore a subset of the registers, such as the non-volatile registers only, the context may not exactly match the register state at the time of the actual method call.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMemoryBuffer Interface](icordebugmemorybuffer-interface.md)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-interface.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-interface.md
new file mode 100644
index 0000000000000..2026379fc4b04
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-interface.md
@@ -0,0 +1,32 @@
+---
+description: "Learn more about: ICorDebugVirtualUnwinder Interface"
+title: "ICorDebugVirtualUnwinder Interface"
+ms.date: "03/30/2017"
+---
+# ICorDebugVirtualUnwinder Interface
+
+Provides methods to help in stack unwinding.
+
+## Methods
+
+|Method|Name|
+|------------|----------|
+|[GetContext Method](icordebugvirtualunwinder-getcontext-method.md)|Gets the current context of this unwinder.|
+|[Next Method](icordebugvirtualunwinder-next-method.md)|Advances to the caller's context.|
+
+## Remarks
+
+The members of the `ICorDebugVirtualUnwinder` interface are implemented by the debugger to help in stack unwinding.
+
+> [!NOTE]
+> This interface is available with .NET Native only. If you implement this interface for ICorDebug scenarios outside of .NET Native, the common language runtime will ignore this interface.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
diff --git a/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-next-method.md b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-next-method.md
new file mode 100644
index 0000000000000..69e1039f7a3f0
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/icordebugvirtualunwinder-next-method.md
@@ -0,0 +1,45 @@
+---
+description: "Learn more about: ICorDebugVirtualUnwinder::Next Method"
+title: "ICorDebugVirtualUnwinder::Next Method"
+ms.date: "03/30/2017"
+---
+# ICorDebugVirtualUnwinder::Next Method
+
+Advances to the caller's context.
+
+## Syntax
+
+```cpp
+HRESULT Next();
+```
+
+## Parameters
+
+None.
+
+## Return Value
+
+ `S_OK` if the unwind occurred successfully, or `CORDBG_S_AT_END_OF_STACK` if the unwind cannot be completed because there are no more frames.
+
+If a failing HRESULT is returned, ICorDebug APIs will return `CORDBG_E_DATA_TARGET_ERROR`.
+
+## Remarks
+
+The stack walker should ensure that it makes forward progress, so that eventually a call to `Next` will return a failing HRESULT or `CORDBG_S_AT_END_OF_STACK`. Returning `S_OK` indefinitely may cause an infinite loop.
+
+> [!NOTE]
+> This method is available with .NET Native only.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6
+
+## See also
+
+- [ICorDebugMemoryBuffer Interface](icordebugmemorybuffer-interface.md)
diff --git a/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/ilcodekind-enumeration.md
similarity index 80%
rename from docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md
rename to docs/core/unmanaged-api/debugging/icordebug/ilcodekind-enumeration.md
index 89636f4db0f8c..7c84b9610c65a 100644
--- a/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md
+++ b/docs/core/unmanaged-api/debugging/icordebug/ilcodekind-enumeration.md
@@ -10,14 +10,11 @@ api_location:
- "mscordbi.dll"
api_type:
- "COM"
-ms.assetid: b91765e4-82db-46f9-a6dc-6b80610276af
topic_type:
- "apiref"
---
# ILCodeKind Enumeration
-[Supported in the .NET Framework 4.5.2 and later versions]
-
Provides values that specify whether the debugger is able to access local variables or code added in profiler ReJIT instrumentation.
## Syntax
@@ -42,16 +39,15 @@ typedef enum ILCodeKind {
## Requirements
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
**Header:** CorDebug.idl, CorDebug.h
**Library:** CorGuids.lib
- **.NET Framework Versions:** [!INCLUDE[net_current_v452plus](../../../../includes/net-current-v452plus-md.md)]
+ **.NET versions:** Available since .NET Framework 4.5.2
## See also
-- [Debugging Enumerations](debugging-enumerations.md)
- [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md)
- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide)
diff --git a/docs/core/unmanaged-api/debugging/icordebug/logginglevelenum-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/logginglevelenum-enumeration.md
new file mode 100644
index 0000000000000..abcd85a1b5ae9
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/logginglevelenum-enumeration.md
@@ -0,0 +1,76 @@
+---
+description: "Learn more about: LoggingLevelEnum Enumeration"
+title: "LoggingLevelEnum Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "LoggingLevelEnum"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "LoggingLevelEnum"
+helpviewer_keywords:
+ - "LoggingLevelEnum enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# LoggingLevelEnum Enumeration
+
+Indicates the severity level of a descriptive message that is written to the event log when a managed thread logs an event.
+
+## Syntax
+
+```cpp
+typedef enum LoggingLevelEnum {
+ LTraceLevel0 = 0,
+ LTraceLevel1,
+ LTraceLevel2,
+ LTraceLevel3,
+ LTraceLevel4,
+ LStatusLevel0 = 20,
+ LStatusLevel1,
+ LStatusLevel2,
+ LStatusLevel3,
+ LStatusLevel4,
+ LWarningLevel = 40,
+ LErrorLevel = 50,
+ LPanicLevel = 100
+} LoggingLevelEnum;
+```
+
+## Members
+
+| Member | Description |
+|-----------------|----------------------------------|
+| `LTraceLevel0` | The message is a trace level 0. |
+| `LTraceLevel1` | The message is a trace level 1. |
+| `LTraceLevel2` | The message is a trace level 2. |
+| `LTraceLevel3` | The message is a trace level 3. |
+| `LTraceLevel4` | The message is a trace level 4. |
+| `LStatusLevel0` | The message is a status level 0. |
+| `LStatusLevel1` | The message is a status level 1. |
+| `LStatusLevel2` | The message is a status level 2. |
+| `LStatusLevel3` | The message is a status level 3. |
+| `LStatusLevel4` | The message is a status level 4. |
+| `LWarningLevel` | The message is a warning level. |
+| `LErrorLevel` | The message is an error level. |
+| `LPanicLevel` | The message is a panic level. |
+
+## Remarks
+
+ The common language runtime (CLR) calls the [ICorDebugManagedCallback::LogMessage](icordebugmanagedcallback-logmessage-method.md) method to notify the debugger that a managed thread has logged an event. The CLR passes a value of the `LoggingLevelEnum` enumeration to indicate the severity level of the message that the managed thread wrote to the event log.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
+
+## See also
+
+-
diff --git a/docs/core/unmanaged-api/debugging/icordebug/logswitchcallreason-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/logswitchcallreason-enumeration.md
new file mode 100644
index 0000000000000..674b449fcedc1
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/logswitchcallreason-enumeration.md
@@ -0,0 +1,48 @@
+---
+description: "Learn more about: LogSwitchCallReason Enumeration"
+title: "LogSwitchCallReason Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "LogSwitchCallReason"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "LogSwitchCallReason"
+helpviewer_keywords:
+ - "LogSwitchCallReason enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# LogSwitchCallReason Enumeration
+
+Indicates the operation that was performed on a debugging/tracing switch.
+
+## Syntax
+
+```cpp
+typedef enum LogSwitchCallReason {
+ SWITCH_CREATE,
+ SWITCH_MODIFY,
+ SWITCH_DELETE
+} LogSwitchCallReason;
+```
+
+## Members
+
+| Member | Description |
+|-----------------|------------------------------------------|
+| `SWITCH_CREATE` | A debugging/tracing switch was created. |
+| `SWITCH_MODIFY` | A debugging/tracing switch was modified. |
+| `SWITCH_DELETE` | A debugging/tracing switch was deleted. |
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/debugging/icordebug/variablelocationtype-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/variablelocationtype-enumeration.md
new file mode 100644
index 0000000000000..c847196a3ca31
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/variablelocationtype-enumeration.md
@@ -0,0 +1,53 @@
+---
+description: "Learn more about: VariableLocationType Enumeration"
+title: "VariableLocationType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "VariableLocationType"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "VariableLocationType"
+helpviewer_keywords:
+ - "VariableLocationType enumeration [.NET debugging]"
+topic_type:
+ - "apiref"
+---
+# VariableLocationType Enumeration
+
+Indicates the native location type of a variable.
+
+## Syntax
+
+```cpp
+typedef enum VariableLocationType
+{
+ VLT_REGISTER,
+ VLT_REGISTER_RELATIVE,
+ VLT_INVALID
+} VariableLocationType;
+```
+
+## Members
+
+| Member | Description |
+|-------------------------|----------------------------------------------------------------------------------|
+| `VLT_REGISTER` | The variable is in a register. |
+| `VLT_REGISTER_RELATIVE` | The variable is in a register-relative memory location. |
+| `VLT_INVALID` | The variable is not stored in a register or a register-relative memory location. |
+
+## Remarks
+
+ A member of the `VariableLocationType` enumeration is returned by the [ICorDebugVariableHome::GetLocationType](icordebugvariablehome-getlocationtype-method.md) method.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.6.2
diff --git a/docs/core/unmanaged-api/debugging/icordebug/writeablemetadataupdatemode-enumeration.md b/docs/core/unmanaged-api/debugging/icordebug/writeablemetadataupdatemode-enumeration.md
new file mode 100644
index 0000000000000..213e74f12e200
--- /dev/null
+++ b/docs/core/unmanaged-api/debugging/icordebug/writeablemetadataupdatemode-enumeration.md
@@ -0,0 +1,54 @@
+---
+description: "Learn more about: WriteableMetadataUpdateMode Enumeration"
+title: "WriteableMetadataUpdateMode Enumeration"
+ms.date: "03/30/2017"
+dev_langs:
+ - "cpp"
+api_name:
+ - "WriteableMetadataUpdateMode"
+api_location:
+ - "mscordbi.dll"
+api_type:
+ - "COM"
+topic_type:
+ - "apiref"
+---
+# WriteableMetadataUpdateMode Enumeration
+
+Provides values that specify whether in-memory updates to metadata are visible to a debugger.
+
+## Syntax
+
+```cpp
+typedef enum WriteableMetadataUpdateMode {
+ LegacyCompatPolicy,
+ AlwaysShowUpdates
+} WriteableMetadataUpdateMode;
+```
+
+## Members
+
+| Member name | Description |
+|----------------------|-------------------------------------------------------------|
+| `LegacyCompatPolicy` | Maintain compatibility with older versions of .NET Framework when making in-memory updates to metadata visible. |
+| `AlwaysShowUpdates` | Make in-memory updates to metadata visible to the debugger. |
+
+## Remarks
+
+A member of the `WriteableMetadataUpdateMode` enumeration can be passed to the [SetWriteableMetadataUpdateMode](icordebugprocess7-setwriteablemetadataupdatemode-method.md) method to control whether in-memory updates to metadata in the target process are visible to the debugger.
+
+The `LegacyCompatPolicy` option enforces the same behavior as in versions of .NET Framework prior to 4.5.2. This often means that metadata from updates is not visible. However, calls to a number of debugging methods implicitly coerce the debugger to make updates visible. For example, if the debugger passes [ICorDebugILFrame::GetLocalVariable](icordebugilframe-getlocalvariable-method.md) the index of a variable not found in the method's original metadata, all metadata for the module is updated to a snapshot matching the current state of the process. In other words, with the `LegacyCompatPolicy` option, the debugger might see none, some, or all of the available metadata updates, depending on how it uses other parts of the unmanaged debugging API.
+
+## Requirements
+
+ **Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+ **Header:** CorDebug.idl, CorDebug.h
+
+ **Library:** CorGuids.lib
+
+ **.NET versions:** Available since .NET Framework 4.5.2
+
+## See also
+
+- [SetWriteableMetadataUpdateMode Method](icordebugprocess7-setwriteablemetadataupdatemode-method.md)
diff --git a/docs/core/unmanaged-api/debugging/index.md b/docs/core/unmanaged-api/debugging/index.md
index 3f63be77f008e..b051ad7400568 100644
--- a/docs/core/unmanaged-api/debugging/index.md
+++ b/docs/core/unmanaged-api/debugging/index.md
@@ -7,7 +7,123 @@ ms.date: 09/19/2023
The articles in this section describe the unmanaged APIs that the common language runtime (CLR) provides to support debugging .NET applications that are running on Windows, Linux, or macOS operating systems.
-These articles describe APIs that were introduced in .NET Core 2.0 and later versions. For .NET Framework-era unmanaged APIs, most of which can also be used to debug .NET (Core) apps, see [.NET Framework debugging](../../../framework/unmanaged-api/debugging/index.md).
+These articles describe APIs that were introduced in .NET Core 2.0 or later, or were introduced in .NET Framework but can be used on .NET (Core). For .NET Framework-specific unmanaged APIs, see [.NET Framework debugging](../../../framework/unmanaged-api/debugging/index.md).
+
+## Enumerations
+
+[CorDebugBlockingReason enumeration](icordebug/cordebugblockingreason-enumeration.md)\
+Specifies the reasons why a thread may become blocked on a given object.
+
+[CorDebugChainReason enumeration](icordebug/cordebugchainreason-enumeration.md)\
+Indicates the reason or reasons for the initiation of a call chain.
+
+[CorDebugCodeInvokeKind enumeration](icordebug/cordebugcodeinvokekind-enumeration.md)\
+Describes how an exported function invokes managed code.
+
+[CorDebugCodeInvokePurpose enumeration](icordebug/cordebugcodeinvokepurpose-enumeration.md)\
+Describes why an exported function calls managed code.
+
+[CorDebugCreateProcessFlags enumeration](icordebug/cordebugcreateprocessflags-enumeration.md)\
+Provides additional debugging options that can be used in a call to the [ICorDebug::CreateProcess](icordebug/icordebug-createprocess-method.md) method.
+
+[CorDebugDebugEventKind enumeration](icordebug/cordebugdebugeventkind-enumeration.md)\
+Indicates the type of event whose information is decoded by the [DecodeEvent](icordebug/icordebugprocess6-decodeevent-method.md) method.
+
+[CorDebugDecodeEventFlagsWindows enumeration](icordebug/cordebugdecodeeventflagswindows-enumeration.md)\
+Provides additional information about debug events on the Windows platform.
+
+[CorDebugExceptionCallbackType enumeration](icordebug/cordebugexceptioncallbacktype-enumeration.md)\
+Indicates the type of callback that is made from an [ICorDebugManagedCallback2::Exception](icordebug/icordebugmanagedcallback2-exception-method.md) event.
+
+[CorDebugExceptionFlags enumeration](icordebug/cordebugexceptionflags-enumeration.md)\
+Provides additional information about an exception.
+
+[CorDebugExceptionUnwindCallbackType enumeration](icordebug/cordebugexceptionunwindcallbacktype-enumeration.md)\
+Indicates the event that is being signaled by the callback during the unwind phase.
+
+[CorDebugGCType enumeration](icordebug/cordebuggctype-enumeration.md)\
+Indicates whether the garbage collector is running on a workstation or a server.
+
+[CorDebugGenerationTypes enumeration](icordebug/cordebuggenerationtypes-enumeration.md)\
+Specifies the generation of a region of memory on the managed heap.
+
+[CorDebugHandleType enumeration](icordebug/cordebughandletype-enumeration.md)\
+Indicates the handle type.
+
+[CorDebugIlToNativeMappingTypes enumeration](icordebug/cordebugiltonativemappingtypes-enumeration.md)\
+Indicates whether a particular range of native instructions corresponds to a special code region.
+
+[CorDebugIntercept enumeration](icordebug/cordebugintercept-enumeration.md)\
+Indicates the types of code that can be stepped into.
+
+[CorDebugInterfaceVersion enumeration](icordebug/cordebuginterfaceversion-enumeration.md)\
+Specifies either a version of the .NET Framework, or the version of the .NET Framework in which an interface was introduced.
+
+[CorDebugInternalFrameType enumeration](icordebug/cordebuginternalframetype-enumeration.md)\
+Identifies the type of stack frame.
+
+[CorDebugJITCompilerFlags enumeration](icordebug/cordebugjitcompilerflags-enumeration.md)\
+Contains values that influence the behavior of the managed just-in-time (JIT) compiler.
+
+[CorDebugMappingResult enumeration](icordebug/cordebugmappingresult-enumeration.md)\
+Provides the details of how the value of the instruction pointer (IP) was obtained.
+
+[CorDebugMDAFlags enumeration](icordebug/cordebugmdaflags-enumeration.md)\
+Specifies the status of the thread on which the managed debugging assistant (MDA) is fired.
+
+[CorDebugNGenPolicy enumeration](icordebug/cordebugngenpolicy-enumeration.md)\
+Provides a value that determines whether a debugger loads native (NGen) images from the native image cache.
+
+[CorDebugPlatform enumeration](icordebug/cordebugplatform-enumeration.md)\
+Provides target platform values that are used by the [ICorDebugDataTarget::GetPlatform](icordebug/icordebugdatatarget-getplatform-method.md) method.
+
+[CorDebugRecordFormat enumeration](icordebug/cordebugrecordformat-enumeration.md)\
+Describes the format of the data in a byte array that contains information about a native exception debug event.
+
+[CorDebugRegister enumeration](icordebug/cordebugregister-enumeration.md)\
+Specifies the registers associated with a given processor architecture.
+
+[CorDebugSetContextFlag enumeration](icordebug/cordebugsetcontextflag-enumeration.md)\
+Indicates whether the context is from the active (or leaf) frame on the stack or has been computed by unwinding from another frame.
+
+[CorDebugStateChange enumeration](icordebug/cordebugstatechange-enumeration.md)\
+Describes the amount of cached data that must be discarded based on changes to the process.
+
+[CorDebugStepReason enumeration](icordebug/cordebugstepreason-enumeration.md)\
+Indicates the outcome of an individual step.
+
+[CorDebugThreadState enumeration](icordebug/cordebugthreadstate-enumeration.md)\
+Specifies the state of a thread for debugging.
+
+[CorDebugUnmappedStop enumeration](icordebug/cordebugunmappedstop-enumeration.md)\
+Specifies the type of unmapped code that can trigger a halt in code execution by the stepper.
+
+[CorDebugUserState enumeration](icordebug/cordebuguserstate-enumeration.md)\
+Indicates the user state of a thread.
+
+[CorGCReferenceType enumeration](icordebug/corgcreferencetype-enumeration.md)\
+Identifies the source of an object to be garbage-collected.
+
+[COR_PUB_ENUMPROCESS enumeration](icordebug/cor-pub-enumprocess-enumeration.md)\
+Identifies the type of process to be enumerated.
+
+[ILCodeKind enumeration](icordebug/ilcodekind-enumeration.md)\
+Provides values that specify whether the debugger is able to access local variables or code added in profiler ReJIT instrumentation.
+
+[LIBRARY_PROVIDER_INDEX_TYPE enumeration](libraryproviderindextype-enumeration.md)\
+The type of index information passed to the library provider is either the identity of the requested module or of the runtime (coreclr) module.
+
+[LoggingLevelEnum enumeration](icordebug/logginglevelenum-enumeration.md)\
+Indicates the severity level of a descriptive message that is written to the event log when a managed thread logs an event.
+
+[LogSwitchCallReason enumeration](icordebug/logswitchcallreason-enumeration.md)\
+Indicates the operation that was performed on a debugging/tracing switch.
+
+[VariableLocationType enumeration](icordebug/variablelocationtype-enumeration.md)\
+Indicates the native location type of a variable.
+
+[WriteableMetadataUpdateMode enumeration](icordebug/writeablemetadataupdatemode-enumeration.md)\
+Provides values that specify whether in-memory updates to metadata are visible to a debugger.
## Functions
@@ -64,11 +180,6 @@ Stops/cancels runtime startup notification.
[PSTARTUP_CALLBACK function pointer](pstartup_callback-function-pointer.md)\
Points to a function that's called when the .NET runtime has started for the [RegisterForRuntimeStartup](registerforruntimestartup-function.md) API.
-## Enumerations
-
-[LIBRARY_PROVIDER_INDEX_TYPE enumeration](libraryproviderindextype-enumeration.md)\
-The type of index information passed to the library provider is either the identity of the requested module or of the runtime (coreclr) module.
-
## Interfaces
[ICLRDebuggingLibraryProvider2 interface](iclrdebugginglibraryprovider2-interface.md)\
@@ -76,3 +187,440 @@ Includes the [ProvideLibrary2](iclrdebugginglibraryprovider2-providelibrary2-met
[ICLRDebuggingLibraryProvider3 interface](iclrdebugginglibraryprovider3-interface.md)\
Includes callback methods that allow common language runtime version-specific debugging libraries to be located and loaded on demand for .NET regular and single-file applications.
+
+[ICorDebug interface](icordebug/icordebug-interface.md)\
+Provides methods that allow developers to debug applications in the CLR environment.
+
+[ICorDebugAppDomain interface](icordebug/icordebugappdomain-interface.md)\
+Provides methods for debugging application domains.
+
+[ICorDebugAppDomain2 interface](icordebug/icordebugappdomain2-interface.md)\
+Provides methods to work with arrays, pointers, function pointers, and ByRef types. This interface is an extension of the `ICorDebugAppDomain` interface.
+
+[ICorDebugAppDomain3 interface](icordebug/icordebugappdomain3-interface.md)\
+Provides methods to work with the Windows Runtime types in an application domain. This interface is an extension of the `ICorDebugAppDomain` and `ICorDebugAppDomain2` interfaces.
+
+[ICorDebugAppDomain4 interface](icordebug/icordebugappdomain4-interface.md)\
+Logically extends the [ICorDebugAppDomain](icordebug/icordebugappdomain-interface.md) interface to get a managed object from a COM callable wrapper.
+
+[ICorDebugAppDomainEnum interface](icordebug/icordebugappdomainenum-interface.md)\
+Provides a method that returns a specified number of `ICorDebugAppDomain` values starting at the next location in the enumeration.
+
+[ICorDebugArrayValue interface](icordebug/icordebugarrayvalue-interface.md)\
+A subclass of `ICorDebugHeapValue` that represents a single-dimensional or multi-dimensional array.
+
+[ICorDebugAssembly interface](icordebug/icordebugassembly-interface.md)\
+Represents an assembly.
+
+[ICorDebugAssembly2 interface](icordebug/icordebugassembly2-interface.md)\
+Represents an assembly. This interface is an extension of the `ICorDebugAssembly` interface.
+
+[ICorDebugAssembly3 interface](icordebug/icordebugassembly3-interface.md)\
+Logically extends the [ICorDebugAssembly](icordebug/icordebugassembly-interface.md) interface to provide support for container assemblies and their contained assemblies. **Available on .NET Native only.**
+
+[ICorDebugAssemblyEnum interface](icordebug/icordebugassemblyenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugAssembly` arrays.
+
+[ICorDebugBlockingObjectEnum interface](icordebug/icordebugblockingobjectenum-interface.md)\
+Provides an enumerator for a list of [CorDebugBlockingObject](icordebug/cordebugblockingobject-structure.md) structures.
+
+[ICorDebugBoxValue interface](icordebug/icordebugboxvalue-interface.md)\
+A subclass of `ICorDebugHeapValue` that represents a boxed value class object.
+
+[ICorDebugBreakpoint interface](icordebug/icordebugbreakpoint-interface.md)\
+Represents a breakpoint in a function or a watch point on a value.
+
+[ICorDebugBreakpointEnum interface](icordebug/icordebugbreakpointenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugBreakpoint` arrays.
+
+[ICorDebugChain interface](icordebug/icordebugchain-interface.md)\
+Represents a segment of a physical or logical call stack.
+
+[ICorDebugChainEnum interface](icordebug/icordebugchainenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugChain` arrays.
+
+[ICorDebugClass interface](icordebug/icordebugclass-interface.md)\
+Represents a type, which can be either basic or complex (that is, user-defined). If the type is generic, `ICorDebugClass` represents the uninstantiated generic type.
+
+[ICorDebugClass2 interface](icordebug/icordebugclass2-interface.md)\
+Represents a generic class or a class with a method parameter of type . This interface extends `ICorDebugClass`.
+
+[ICorDebugCode interface](icordebug/icordebugcode-interface1.md)\
+Represents a segment of either common intermediate language (CIL) code or native code.
+
+[ICorDebugCode2 interface](icordebug/icordebugcode2-interface.md)\
+Provides methods that extend the capabilities of `ICorDebugCode`.
+
+[ICorDebugCode3 interface](icordebug/icordebugcode3-interface.md)\
+Provides a method that extends [ICorDebugCode](icordebug/icordebugcode-interface1.md) and [ICorDebugCode2](icordebug/icordebugcode2-interface.md) to provide information about a managed return value.
+
+[ICorDebugCode4 interface](icordebug/icordebugcode4-interface.md)\
+Provides a method that enables a debugger to enumerate the local variables and arguments in a function.
+
+[ICorDebugCodeEnum interface](icordebug/icordebugcodeenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugCode` arrays.
+
+[ICorDebugComObjectValue interface](icordebug/icordebugcomobjectvalue-interface.md)\
+Provides methods to retrieve cached interface objects.
+
+[ICorDebugContext interface](icordebug/icordebugcontext-interface.md)\
+Represents a context object. This interface has not been implemented yet.
+
+[ICorDebugController interface](icordebug/icordebugcontroller-interface.md)\
+Represents a scope, either a or an , in which code execution context can be controlled.
+
+[ICorDebugDataTarget interface](icordebug/icordebugdatatarget-interface.md)\
+Provides a callback interface that provides access to a particular target process.
+
+[ICorDebugDataTarget2 interface](icordebug/icordebugdatatarget2-interface.md)\
+Logically extends the [ICorDebugDataTarget](icordebug/icordebugdatatarget-interface.md) interface. **Available on .NET Native only.**
+
+[ICorDebugDataTarget3 interface](icordebug/icordebugdatatarget3-interface.md)\
+Logically extends the [ICorDebugDataTarget](icordebug/icordebugdatatarget-interface.md) interface to provide information about loaded modules. **Available on .NET Native only.**
+
+[ICorDebugDebugEvent interface](icordebug/icordebugdebugevent-interface.md)\
+Defines the base interface from which all `ICorDebug` debug events derive. **Available on .NET Native only.**
+
+[ICorDebugEditAndContinueErrorInfo interface](icordebug/icordebugeditandcontinueerrorinfo-interface.md)\
+Obsolete. Do not use this interface.
+
+[ICorDebugEditAndContinueSnapshot interface](icordebug/icordebugeditandcontinuesnapshot-interface.md)\
+Obsolete. Do not use this interface.
+
+[ICorDebugEnum interface](icordebug/icordebugenum-interface1.md)\
+Serves as the abstract base interface for debugging enumerators.
+
+[ICorDebugErrorInfoEnum interface](icordebug/icordebugerrorinfoenum-interface.md)\
+Obsolete. Do not use this interface.
+
+[ICorDebugEval interface](icordebug/icordebugeval-interface.md)\
+Provides methods to enable the debugger to execute code within the context of the code being debugged.
+
+[ICorDebugEval2 interface](icordebug/icordebugeval2-interface.md)\
+Extends `ICorDebugEval` to provide support for generic types.
+
+[ICorDebugExceptionDebugEvent interface](icordebug/icordebugexceptiondebugevent-interface.md)\
+Extends the [ICorDebugDebugEvent](icordebug/icordebugdebugevent-interface.md) interface to support exception events. **Available on .NET Native only.**
+
+[ICorDebugExceptionObjectCallStackEnum interface](icordebug/icordebugexceptionobjectcallstackenum-interface.md)\
+Provides an enumerator for call stack information that is embedded in an exception object.
+
+[ICorDebugExceptionObjectValue interface](icordebug/icordebugexceptionobjectvalue-interface.md)\
+Extends the [ICorDebugObjectValue](icordebug/icordebugobjectvalue-interface.md) interface to provide stack trace information from a managed exception object.
+
+[ICorDebugFrame interface](icordebug/icordebugframe-interface.md)\
+Represents a frame on the current stack.
+
+[ICorDebugFrameEnum interface](icordebug/icordebugframeenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugFrame` arrays.
+
+[ICorDebugFunction interface](icordebug/icordebugfunction-interface1.md)\
+Represents a managed function or method.
+
+[ICorDebugFunction2 interface](icordebug/icordebugfunction2-interface.md)\
+Logically extends `ICorDebugFunction` to provide support for Just My Code step-through debugging.
+
+[ICorDebugFunction3 interface](icordebug/icordebugfunction3-interface.md)\
+Logically extends the [ICorDebugFunction](icordebug/icordebugfunction-interface1.md) interface to provide access to code from a ReJIT request.
+
+[ICorDebugFunctionBreakpoint interface](icordebug/icordebugfunctionbreakpoint-interface.md)\
+Extends `ICorDebugBreakpoint` to support breakpoints within functions.
+
+[ICorDebugGCReferenceEnum interface](icordebug/icordebuggcreferenceenum-interface.md)\
+Provides an enumerator for objects that will be garbage-collected.
+
+[ICorDebugGenericValue interface](icordebug/icordebuggenericvalue-interface.md)\
+A subclass of `ICorDebugValue` that applies to all values. This interface provides Get and Set methods for the value.
+
+[ICorDebugGuidToTypeEnum interface](icordebug/icordebugguidtotypeenum-interface.md)\
+Provides an enumerator for an object that maps GUIDs and their corresponding `ICorDebugType` objects.
+
+[ICorDebugHandleValue interface](icordebug/icordebughandlevalue-interface.md)\
+A subclass of `ICorDebugReferenceValue` that represents a reference value to which the debugger has created a handle for garbage collection.
+
+[ICorDebugHeapEnum interface](icordebug/icordebugheapenum-interface.md)\
+Provides an enumerator for objects on the managed heap.
+
+[ICorDebugHeapSegmentEnum interface](icordebug/icordebugheapsegmentenum-interface.md)\
+Provides an enumerator for the memory regions of the managed heap.
+
+[ICorDebugHeapValue interface](icordebug/icordebugheapvalue-interface.md)\
+A subclass of `ICorDebugValue` that represents an object that has been collected by the CLR garbage collector.
+
+[ICorDebugHeapValue2 interface](icordebug/icordebugheapvalue2-interface1.md)\
+An extension of `ICorDebugHeapValue` that provides support for runtime handles.
+
+[ICorDebugHeapValue3 interface](icordebug/icordebugheapvalue3-interface.md)\
+Exposes the monitor lock properties of objects.
+
+[ICorDebugILCode interface](icordebug/icordebugilcode-interface.md)\
+Represents a segment of intermediate language (IL) code.
+
+[ICorDebugILCode2 interface](icordebug/icordebugilcode2-interface.md)\
+Logically extends the [ICorDebugILCode](icordebug/icordebugilcode-interface.md) interface to provide methods that return the token for a function's local variable signature, and that map a profiler's instrumented intermediate language (IL) offsets to original method IL offsets.
+
+[ICorDebugILFrame interface](icordebug/icordebugilframe-interface.md)\
+Represents a stack frame of CIL code.
+
+[ICorDebugILFrame2 interface](icordebug/icordebugilframe2-interface.md)\
+A logical extension of `ICorDebugILFrame`.
+
+[ICorDebugILFrame3 interface](icordebug/icordebugilframe3-interface.md)\
+Provides a method that encapsulates the return value of a function.
+
+[ICorDebugILFrame4 interface](icordebug/icordebugilframe4-interface.md)\
+Provides methods that allow you to access the local variables and code in a stack frame of intermediate language (IL) code. A parameter specifies whether the debugger has access to variables and code added in profiler ReJIT instrumentation.
+
+[ICorDebugInstanceFieldSymbol interface](icordebug/icordebuginstancefieldsymbol-interface.md)\
+Represents the debug symbol information for an instance field. **Available on .NET Native only.**
+
+[ICorDebugInternalFrame interface](icordebug/icordebuginternalframe-interface.md)\
+Identifies frame types for the debugger.
+
+[ICorDebugInternalFrame2 interface](icordebug/icordebuginternalframe2-interface.md)\
+Provides information about internal frames, including stack address and position in relation to [ICorDebugFrame](icordebug/icordebugframe-interface.md) objects.
+
+[ICorDebugLoadedModule interface](icordebug/icordebugloadedmodule-interface.md)\
+Provides information about a loaded module. **Available on .NET Native only.**
+
+[ICorDebugManagedCallback interface](icordebug/icordebugmanagedcallback-interface.md)\
+Provides methods to process debugger callbacks.
+
+[ICorDebugManagedCallback2 interface](icordebug/icordebugmanagedcallback2-interface.md)\
+Provides methods to support debugger exception handling and managed debugging assistants (MDAs). `ICorDebugManagedCallback2` is a logical extension of `ICorDebugManagedCallback`.
+
+[ICorDebugManagedCallback3 interface](icordebug/icordebugmanagedcallback3-interface.md)\
+Provides a callback method that indicates that an enabled custom debugger notification has been raised.
+
+[ICorDebugMDA interface](icordebug/icordebugmda-interface.md)\
+Represents a managed debugging assistant (MDA) message.
+
+[ICorDebugMemoryBuffer interface](icordebug/icordebugmemorybuffer-interface.md)\
+Represents an in-memory buffer. **Available on .NET Native only.**
+
+[ICorDebugMergedAssemblyRecord interface](icordebug/icordebugmergedassemblyrecord-interface.md)\
+Provides information about a merged assembly. **Available on .NET Native only.**
+
+[ICorDebugMetaDataLocator interface](icordebug/icordebugmetadatalocator-interface.md)\
+Provides metadata information to the debugger.
+
+[ICorDebugModule interface](icordebug/icordebugmodule-interface.md)\
+Represents a CLR module, which is either an executable or a dynamic-link library (DLL).
+
+[ICorDebugModule2 interface](icordebug/icordebugmodule2-interface.md)\
+Serves as a logical extension to `ICorDebugModule`.
+
+[ICorDebugModule3 interface](icordebug/icordebugmodule3-interface.md)\
+Creates a symbol reader for a dynamic module.
+
+[ICorDebugModule4 interface](icordebug/icordebugmodule4-interface.md)\
+Provides a method that determines whether the module is loaded into memory in mapped/hydrated format.
+
+[ICorDebugModuleBreakpoint interface](icordebug/icordebugmodulebreakpoint-interface.md)\
+Extends `ICorDebugBreakpoint` to provide access to specific modules.
+
+[ICorDebugModuleDebugEvent interface](icordebug/icordebugmoduledebugevent-interface.md)\
+Extends the [ICorDebugDebugEvent](icordebug/icordebugdebugevent-interface.md) interface to support module-level events. **Available on .NET Native only.**
+
+[ICorDebugModuleEnum interface](icordebug/icordebugmoduleenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugModule` arrays.
+
+[ICorDebugMutableDataTarget interface](icordebug/icordebugmutabledatatarget-interface.md)\
+Extends the [ICorDebugDataTarget](icordebug/icordebugdatatarget-interface.md) interface to support mutable data targets.
+
+[ICorDebugNativeFrame interface](icordebug/icordebugnativeframe-interface.md)\
+A specialized implementation of `ICorDebugFrame` used for native frames.
+
+[ICorDebugNativeFrame2 interface](icordebug/icordebugnativeframe2-interface.md)\
+Provides methods that test for child and parent frame relationships.
+
+[ICorDebugObjectEnum interface](icordebug/icordebugobjectenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates arrays of objects by their relative virtual addresses (RVAs).
+
+[ICorDebugObjectValue interface](icordebug/icordebugobjectvalue-interface.md)\
+A subclass of `ICorDebugValue` that represents a value that contains an object.
+
+[ICorDebugObjectValue2 interface](icordebug/icordebugobjectvalue2-interface.md)\
+Extends `ICorDebugObjectValue` to support inheritance and overrides.
+
+[ICorDebugProcess interface](icordebug/icordebugprocess-interface.md)\
+Represents a process that is executing managed code.
+
+[ICorDebugProcess2 interface](icordebug/icordebugprocess2-interface1.md)\
+A logical extension of `ICorDebugProcess`.
+
+[ICorDebugProcess3 interface](icordebug/icordebugprocess3-interface.md)\
+Controls custom debugger notifications.
+
+[ICorDebugProcess4 interface](icordebug/icordebugprocess4-interface.md)\
+Provides support for out of process execution control.
+
+[ICorDebugProcess5 interface](icordebug/icordebugprocess5-interface.md)\
+Extends the [ICorDebugProcess](icordebug/icordebugprocess-interface.md) interface to support access to the managed heap, to provide information about garbage collection of managed objects, and to determine whether a debugger loads images from the application's local native image cache.
+
+[ICorDebugProcess6 interface](icordebug/icordebugprocess6-interface.md)\
+Logically extends the [ICorDebugProcess](icordebug/icordebugprocess-interface.md) interface to enable features such as decoding managed debug events that are encoded in native exception debug events and virtual module splitting. **Available on .NET Native only.**
+
+[ICorDebugProcess7 interface](icordebug/icordebugprocess7-interface.md)\
+Provides a method that configures the debugger to handle in-memory metadata updates in the target process.
+
+[ICorDebugProcess8 interface](icordebug/icordebugprocess8-interface.md)\
+Logically extends the [ICorDebugProcess](icordebug/icordebugprocess-interface.md) interface to enable or disable certain types of [ICorDebugManagedCallback2](icordebug/icordebugmanagedcallback2-interface.md) exception callbacks.
+
+[ICorDebugProcess11 interface](icordebug/icordebugprocess11-interface.md)\
+Provides a method that enumerates ranges of native memory that are used by the .NET runtime to store internal data structures that describe .NET types and methods. The information returned is the same information that would be shown by using the SOS `eeheap -loader` command.
+
+[ICorDebugProcessEnum interface](icordebug/icordebugprocessenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugProcess` arrays.
+
+[ICorDebugReferenceValue interface](icordebug/icordebugreferencevalue-interface.md)\
+A subclass of `ICorDebugValue` that supports reference types.
+
+[ICorDebugRegisterSet interface](icordebug/icordebugregisterset-interface.md)\
+Represents the set of registers available on the machine that is currently executing code.
+
+[ICorDebugRegisterSet2 interface](icordebug/icordebugregisterset2-interface.md)\
+Extends the capabilities of `ICorDebugRegisterSet` for hardware platforms that have more than 64 registers.
+
+[ICorDebugRemote interface](icordebug/icordebugremote-interface.md)\
+Provides the ability to launch or attach a managed debugger to a remote target process.
+
+[ICorDebugRemoteTarget interface](icordebug/icordebugremotetarget-interface.md)\
+Provides methods that enable you to debug Silverlight-based applications in the CLR environment.
+
+[ICorDebugRuntimeUnwindableFrame interface](icordebug/icordebugruntimeunwindableframe-interface.md)\
+Provides support for unmanaged methods that require the common language runtime (CLR) to unwind a frame.
+
+[ICorDebugStackWalk interface](icordebug/icordebugstackwalk-interface.md)\
+Provides methods for getting the managed methods, or frames, on a thread’s stack.
+
+[ICorDebugStaticFieldSymbol interface](icordebug/icordebugstaticfieldsymbol-interface.md)\
+Represents the debug symbol information for a static field. **Available on .NET Native only.**
+
+[ICorDebugStepper interface](icordebug/icordebugstepper-interface.md)\
+Represents a step in code execution that is performed by a debugger, serves as an identifier between the issuance and completion of a command, and provides a way to cancel a step.
+
+[ICorDebugStepper2 interface](icordebug/icordebugstepper2-interface1.md)\
+Provides support for Just My Code (JMC) debugging.
+
+[ICorDebugStepperEnum interface](icordebug/icordebugstepperenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugStepper` arrays.
+
+[ICorDebugStringValue interface](icordebug/icordebugstringvalue-interface.md)\
+A subclass of `ICorDebugHeapValue` that applies to string values.
+
+[ICorDebugSymbolProvider interface](icordebug/icordebugsymbolprovider-interface.md)\
+Provides methods that can be used to retrieve debug symbol information. **Available on .NET Native only.**
+
+[ICorDebugSymbolProvider2 interface](icordebug/icordebugsymbolprovider2-interface.md)\
+Logically extends the [ICorDebugSymbolProvider](icordebug/icordebugsymbolprovider-interface.md) interface to retrieve additional debug symbol information. **Available on .NET Native only.**
+
+[ICorDebugThread interface](icordebug/icordebugthread-interface.md)\
+Represents a thread in a process. The lifetime of an `ICorDebugThread` instance is the same as the lifetime of the thread it represents.
+
+[ICorDebugThread2 interface](icordebug/icordebugthread2-interface.md)\
+Serves as a logical extension to `ICorDebugThread`.
+
+[ICorDebugThread3 interface](icordebug/icordebugthread3-interface.md)\
+Provides the entry point to the [ICorDebugStackWalk](icordebug/icordebugstackwalk-interface.md) and corresponding interfaces.
+
+[ICorDebugThread4 interface](icordebug/icordebugthread4-interface.md)\
+Provides thread blocking information.
+
+[ICorDebugThreadEnum interface](icordebug/icordebugthreadenum-interface1.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugThread` arrays.
+
+[ICorDebugType interface](icordebug/icordebugtype-interface.md)\
+Represents a type, which can be either basic or complex (that is, user-defined). If the type is generic, `ICorDebugType` represents the instantiated generic type.
+
+[ICorDebugType2 interface](icordebug/icordebugtype2-interface.md)\
+Extends the [ICorDebugType](icordebug/icordebugtype-interface.md) interface to retrieve the type identifier of a base type or complex (user-defined) type.
+
+[ICorDebugTypeEnum interface](icordebug/icordebugtypeenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugType` arrays.
+
+[ICorDebugUnmanagedCallback interface](icordebug/icordebugunmanagedcallback-interface.md)\
+Provides notification of native events that are not directly related to the CLR.
+
+[ICorDebugValue](icordebug/icordebugvalue-interface.md)\
+Represents a read or write value in the process being debugged.
+
+[ICorDebugValue2](icordebug/icordebugvalue2-interface.md)\
+Extends `ICorDebugValue` to provide support for `ICorDebugType`.
+
+[ICorDebugValue3 interface](icordebug/icordebugvalue3-interface.md)\
+Extends the "ICorDebugValue" and "ICorDebugValue2" interfaces to provide support for arrays that are larger than 2 GB.
+
+[ICorDebugValueBreakpoint](icordebug/icordebugvaluebreakpoint-interface.md)\
+Extends `ICorDebugBreakpoint` to provide access to specific values.
+
+[ICorDebugValueEnum](icordebug/icordebugvalueenum-interface.md)\
+Implements `ICorDebugEnum` methods, and enumerates `ICorDebugValue` arrays.
+
+[ICorDebugVariableHome interface](icordebug/icordebugvariablehome-interface.md)\
+Represents a local variable or argument of a function.
+
+[ICorDebugVariableHomeEnum interface](icordebug/icordebugvariablehomeenum-interface.md)\
+Provides an enumerator to the local variables and arguments in a function.
+
+[ICorDebugVariableSymbol interface](icordebug/icordebugvariablesymbol-interface.md)\
+Retrieves the debug symbol information for a variable. **Available on .NET Native only.**
+
+[ICorDebugVirtualUnwinder interface](icordebug/icordebugvirtualunwinder-interface.md)\
+Provides methods to help in stack unwinding. **Available on .NET Native only.**
+
+## Structures
+
+[CodeChunkInfo Structure](icordebug/codechunkinfo-structure.md)\
+Represents a single chunk of code in memory.
+
+[COR_ACTIVE_FUNCTION](icordebug/cor-active-function-structure.md)\
+Contains information about the functions that are currently active in a thread's frames.
+
+[COR_ARRAY_LAYOUT Structure](icordebug/cor-array-layout-structure.md)\
+Provides information about the layout of an array object in memory.
+
+[COR_DEBUG_IL_TO_NATIVE_MAP](icordebug/cor-debug-il-to-native-map-structure.md)\
+Contains the offsets that are used to map common intermediate language (CIL) code to native code.
+
+[COR_DEBUG_STEP_RANGE](icordebug/cor-debug-step-range-structure.md)\
+Contains the offset information for a range of code.
+
+[COR_FIELD Structure](icordebug/cor-field-structure.md)\
+Provides information about a field in an object.
+
+[COR_GC_REFERENCE Structure](icordebug/cor-gc-reference-structure.md)\
+Contains information about an object that is to be garbage-collected.
+
+[COR_HEAPINFO Structure](icordebug/cor-heapinfo-structure.md)\
+Provides general information about the garbage collection heap, including whether it is enumerable.
+
+[COR_HEAPOBJECT Structure](icordebug/cor-heapobject-structure.md)\
+Provides information about an object on the managed heap.
+
+[COR_IL_MAP](icordebug/cor-il-map-structure.md)\
+Specifies changes in the relative offset of a function.
+
+[COR_SEGMENT Structure](icordebug/cor-segment-structure.md)\
+Contains information about a region of memory in the managed heap.
+
+[COR_TYPEID Structure](icordebug/cor-typeid-structure.md)\
+Contains a type identifier.
+
+[COR_TYPE_LAYOUT Structure](icordebug/cor-type-layout-structure.md)\
+Provides information about the layout of an object in memory.
+
+[COR_VERSION](icordebug/cor-version-structure.md)\
+Stores the standard four-part version number of the common language runtime.
+
+[CorDebugBlockingObject Structure](icordebug/cordebugblockingobject-structure.md)\
+Defines an object that is blocking a thread and the reason why the thread is blocked.
+
+[CorDebugEHClause Structure](icordebug/cordebugehclause-structure.md)\
+Represents an exception handling (EH) clause for a given piece of intermediate language (IL).
+
+[CorDebugExceptionObjectStackFrame Structure](icordebug/cordebugexceptionobjectstackframe-structure.md)\
+Represents stack frame information from an exception object.
+
+[CorDebugGuidToTypeMapping Structure](icordebug/cordebugguidtotypemapping-structure.md)\
+Maps a Windows Runtime GUID to its corresponding `ICorDebugType` object.
diff --git a/docs/core/unmanaged-api/debugging/pstartup_callback-function-pointer.md b/docs/core/unmanaged-api/debugging/pstartup_callback-function-pointer.md
index ec7910baa2b0e..98c634a57f0d7 100644
--- a/docs/core/unmanaged-api/debugging/pstartup_callback-function-pointer.md
+++ b/docs/core/unmanaged-api/debugging/pstartup_callback-function-pointer.md
@@ -31,7 +31,7 @@ typedef VOID (*PSTARTUP_CALLBACK)(
## Parameters
`pCordb`\
-[in] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](../../../framework/unmanaged-api/debugging/icordebug-interface.md) object before it's returned.
+[in] Pointer to a pointer to a COM object (`IUnknown`). This object will be cast to an [ICorDebug](./icordebug/icordebug-interface.md) object before it's returned.
`parameter`\
[in] The `parameter` value passed to [RegisterForRuntimeStartup](registerforruntimestartup-function.md).
@@ -39,13 +39,13 @@ typedef VOID (*PSTARTUP_CALLBACK)(
`hr`\
[in] The result of the operation. The values are:
-- `S_OK`: `pCordb` references a valid object that implements the [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md) interface.
+- `S_OK`: `pCordb` references a valid object that implements the [ICorDebug interface](./icordebug/icordebug-interface.md) interface.
- `CORDBG_E_DEBUG_COMPONENT_MISSING`: A component that is necessary for CLR debugging cannot be located. Either _mscordbi.dll_ or _mscordaccore.dll_ was not found in the same directory as the target CoreCLR.dll.
- `CORDBG_E_INCOMPATIBLE_PROTOCOL`: Either _mscordbi.dll_ or _mscordaccore.dll_ is not the same version as the target CoreCLR.dll.
-- `E_FAIL` (or other `E_` return codes): Unable to return an [ICorDebug interface](../../../framework/unmanaged-api/debugging/icordebug-interface.md).
+- `E_FAIL` (or other `E_` return codes): Unable to return an [ICorDebug interface](./icordebug/icordebug-interface.md).
## Remarks
diff --git a/docs/core/unmanaged-api/metadata/enumerations/corelementtype-enumeration.md b/docs/core/unmanaged-api/metadata/enumerations/corelementtype-enumeration.md
new file mode 100644
index 0000000000000..896412ff49a27
--- /dev/null
+++ b/docs/core/unmanaged-api/metadata/enumerations/corelementtype-enumeration.md
@@ -0,0 +1,141 @@
+---
+description: "Learn more about: CorElementType Enumeration"
+title: "CorElementType Enumeration"
+ms.date: "03/30/2017"
+api_name:
+ - "CorElementType"
+api_location:
+ - "mscoree.dll"
+api_type:
+ - "COM"
+f1_keywords:
+ - "CorElementType"
+helpviewer_keywords:
+ - "CorElementType enumeration [.NET metadata]"
+topic_type:
+ - "apiref"
+---
+# CorElementType Enumeration
+
+Specifies a common language runtime , a type modifier, or information about a type in a metadata type signature.
+
+## Syntax
+
+```cpp
+typedef enum CorElementType {
+ ELEMENT_TYPE_END = 0x0,
+ ELEMENT_TYPE_VOID = 0x1,
+ ELEMENT_TYPE_BOOLEAN = 0x2,
+ ELEMENT_TYPE_CHAR = 0x3,
+ ELEMENT_TYPE_I1 = 0x4,
+ ELEMENT_TYPE_U1 = 0x5,
+ ELEMENT_TYPE_I2 = 0x6,
+ ELEMENT_TYPE_U2 = 0x7,
+ ELEMENT_TYPE_I4 = 0x8,
+ ELEMENT_TYPE_U4 = 0x9,
+ ELEMENT_TYPE_I8 = 0xa,
+ ELEMENT_TYPE_U8 = 0xb,
+ ELEMENT_TYPE_R4 = 0xc,
+ ELEMENT_TYPE_R8 = 0xd,
+ ELEMENT_TYPE_STRING = 0xe,
+
+ ELEMENT_TYPE_PTR = 0xf,
+ ELEMENT_TYPE_BYREF = 0x10,
+
+ ELEMENT_TYPE_VALUETYPE = 0x11,
+ ELEMENT_TYPE_CLASS = 0x12,
+ ELEMENT_TYPE_VAR = 0x13,
+ ELEMENT_TYPE_ARRAY = 0x14,
+ ELEMENT_TYPE_GENERICINST = 0x15,
+ ELEMENT_TYPE_TYPEDBYREF = 0x16,
+
+ ELEMENT_TYPE_I = 0x18,
+ ELEMENT_TYPE_U = 0x19,
+ ELEMENT_TYPE_FNPTR = 0x1B,
+ ELEMENT_TYPE_OBJECT = 0x1C,
+ ELEMENT_TYPE_SZARRAY = 0x1D,
+ ELEMENT_TYPE_MVAR = 0x1e,
+
+ ELEMENT_TYPE_CMOD_REQD = 0x1F,
+ ELEMENT_TYPE_CMOD_OPT = 0x20,
+
+ ELEMENT_TYPE_INTERNAL = 0x21,
+ ELEMENT_TYPE_MAX = 0x22,
+
+ ELEMENT_TYPE_MODIFIER = 0x40,
+ ELEMENT_TYPE_SENTINEL = 0x01 | ELEMENT_TYPE_MODIFIER,
+ ELEMENT_TYPE_PINNED = 0x05 | ELEMENT_TYPE_MODIFIER
+
+} CorElementType;
+```
+
+## Members
+
+| Member | Description |
+|----------------------------|-------------------------------------------------------------|
+| `ELEMENT_TYPE_END` | Used internally. |
+| `ELEMENT_TYPE_VOID` | A void type. |
+| `ELEMENT_TYPE_BOOLEAN` | A Boolean type |
+| `ELEMENT_TYPE_CHAR` | A character type. |
+| `ELEMENT_TYPE_I1` | A signed 1-byte integer. |
+| `ELEMENT_TYPE_U1` | An unsigned 1-byte integer. |
+| `ELEMENT_TYPE_I2` | A signed 2-byte integer. |
+| `ELEMENT_TYPE_U2` | An unsigned 2-byte integer. |
+| `ELEMENT_TYPE_I4` | A signed 4-byte integer. |
+| `ELEMENT_TYPE_U4` | An unsigned 4-byte integer. |
+| `ELEMENT_TYPE_I8` | A signed 8-byte integer. |
+| `ELEMENT_TYPE_U8` | An unsigned 8-byte integer. |
+| `ELEMENT_TYPE_R4` | A 4-byte floating point. |
+| `ELEMENT_TYPE_R8` | An 8-byte floating point. |
+| `ELEMENT_TYPE_STRING` | A System.String type. |
+| `ELEMENT_TYPE_PTR` | A pointer type modifier. |
+| `ELEMENT_TYPE_BYREF` | A reference type modifier. |
+| `ELEMENT_TYPE_VALUETYPE` | A value type modifier. |
+| `ELEMENT_TYPE_CLASS` | A class type modifier. |
+| `ELEMENT_TYPE_VAR` | A class variable type modifier. |
+| `ELEMENT_TYPE_ARRAY` | A multi-dimensional array type modifier. |
+| `ELEMENT_TYPE_GENERICINST` | A type modifier for generic types. |
+| `ELEMENT_TYPE_TYPEDBYREF` | A typed reference. |
+| `ELEMENT_TYPE_I` | Size of a native integer. |
+| `ELEMENT_TYPE_U` | Size of an unsigned native integer. |
+| `ELEMENT_TYPE_FNPTR` | A pointer to a function. |
+| `ELEMENT_TYPE_OBJECT` | A System.Object type. |
+| `ELEMENT_TYPE_SZARRAY` | A single-dimensional, zero lower-bound array type modifier. |
+| `ELEMENT_TYPE_MVAR` | A method variable type modifier. |
+| `ELEMENT_TYPE_CMOD_REQD` | A C language required modifier. |
+| `ELEMENT_TYPE_CMOD_OPT` | A C language optional modifier. |
+| `ELEMENT_TYPE_INTERNAL` | Used internally. |
+| `ELEMENT_TYPE_MAX` | An invalid type. |
+| `ELEMENT_TYPE_MODIFIER` | Used internally. |
+| `ELEMENT_TYPE_SENTINEL` | A type modifier that is a sentinel for a list of a variable number of parameters. |
+| `ELEMENT_TYPE_PINNED` | Used internally. |
+
+## Remarks
+
+The type modifiers form the basis for representing more complex types. A `CorElementType` type modifier value is applied to the value that immediately follows it in the type signature. The value that follows the `CorElementType` type modifier value can be a `CorElementType` simple type value, a metadata token, or other value, as specified in the following table.
+
+> [!NOTE]
+> All numbers (*number*, *argument Count*, *metadata token*, *rank*, *count*, and *bound*) are stored as compressed integers. See [Standard ECMA-335 - Common Language Infrastructure (CLI)](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) on the ECMA Web site for details.
+
+| Type modifier | Format |
+|--------------------------|-------------------------------------------------------------|
+| `ELEMENT_TYPE_PTR` | ELEMENT_TYPE_PTR \ |
+| `ELEMENT_TYPE_BYREF` | ELEMENT_TYPE_BYREF \ |
+| `ELEMENT_TYPE_VALUETYPE` | ELEMENT_TYPE_VALUETYPE \ |
+| `ELEMENT_TYPE_CLASS` | ELEMENT_TYPE_CLASS \ |
+| `ELEMENT_TYPE_VAR` | ELEMENT_TYPE_VAR \ |
+| `ELEMENT_TYPE_ARRAY` | ELEMENT_TYPE_ARRAY \ \ \ \ ... \ \ |
+| `ELEMENT_TYPE_GENERICINST` | ELEMENT_TYPE_GENERICINST \ \ \ ... \ |
+| `ELEMENT_TYPE_FNPTR` | ELEMENT_TYPE_FNPTR \ |
+| `ELEMENT_TYPE_SZARRAY` | ELEMENT_TYPE_SZARRAY \ |
+| `ELEMENT_TYPE_MVAR` | ELEMENT_TYPE_MVAR \ |
+| `ELEMENT_TYPE_CMOD_REQD` | ELEMENT_TYPE_\ |
+| `ELEMENT_TYPE_CMOD_OPT` | E_T_CMOD_OPT \ |
+
+## Requirements
+
+**Platforms:** See [.NET supported operating systems](https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md).
+
+**Header:** CorHdr.h
+
+**.NET versions:** Available since .NET Framework 1.0
diff --git a/docs/core/unmanaged-api/metadata/enumerations/metadata-enumerations.md b/docs/core/unmanaged-api/metadata/enumerations/metadata-enumerations.md
index 783443f384c92..5c80920363585 100644
--- a/docs/core/unmanaged-api/metadata/enumerations/metadata-enumerations.md
+++ b/docs/core/unmanaged-api/metadata/enumerations/metadata-enumerations.md
@@ -5,9 +5,7 @@ ms.date: 07/24/2025
---
# Metadata enumerations (.NET)
-This section describes the unmanaged enumerations that the metadata API uses. For unmanaged enumerations that apply only to .NET Framework, see [Metadata enumerations (.NET Framework)](../../../../framework/unmanaged-api/metadata/metadata-enumerations.md).
-
-## In this section
+These articles describe the unmanaged enumerations that the metadata API uses. For unmanaged enumerations that apply only to .NET Framework, see [Metadata enumerations (.NET Framework)](../../../../framework/unmanaged-api/metadata/metadata-enumerations.md).
[CorAssemblyFlags enumeration](corassemblyflags-enumeration.md)\
Contains values that describe the metadata applied to an assembly compilation.
@@ -18,6 +16,8 @@ Contains values used during checks for duplications.
[CorDeclSecurity enumeration](cordeclsecurity-enumeration.md)\
Contains values that describe the types of declarative security used by the common language runtime.
+[CorElementType enumeration](corelementtype-enumeration.md)
+
[CorErrorIfEmitOutOfOrder enumeration](corerrorifemitoutoforder-enumeration.md)\
Contains flag values that indicate the conditions under which an error message should be generated when metadata is emitted out of order.
diff --git a/docs/core/unmanaged-api/metadata/index.md b/docs/core/unmanaged-api/metadata/index.md
new file mode 100644
index 0000000000000..90b1e737bc41e
--- /dev/null
+++ b/docs/core/unmanaged-api/metadata/index.md
@@ -0,0 +1,22 @@
+---
+description: "Learn more about unmanaged APIs for metadata"
+title: .NET metadata (unmanaged API reference)
+ms.date: 08/29/2025
+---
+# .NET metadata (unmanaged API reference)
+
+The metadata API enables a client, such as a compiler, to generate or access a component's metadata without the types being loaded by the common language runtime (CLR).
+
+These articles describe APIs that were introduced in .NET Core 2.0 or later, or were introduced in .NET Framework but can be used on .NET (Core). For .NET Framework-specific unmanaged APIs, see [Metadata (Unmanaged API Reference)](../../../framework/unmanaged-api/metadata/index.md).
+
+## Enumerations
+
+See [Metadata enumerations (.NET)](enumerations/metadata-enumerations.md).
+
+## Interfaces
+
+See [Metadata interfaces (.NET)](interfaces/metadata-interfaces.md).
+
+## Structures
+
+See [Metadata structures (.NET)](structures/metadata-structures.md).
diff --git a/docs/core/unmanaged-api/metadata/interfaces/metadata-interfaces.md b/docs/core/unmanaged-api/metadata/interfaces/metadata-interfaces.md
index 9c3c178f8391a..c470d9e9a200e 100644
--- a/docs/core/unmanaged-api/metadata/interfaces/metadata-interfaces.md
+++ b/docs/core/unmanaged-api/metadata/interfaces/metadata-interfaces.md
@@ -3,11 +3,9 @@ description: "Learn more about: Metadata interfaces (.NET)"
title: "Metadata interfaces (.NET)"
ms.date: 07/22/2025
---
-# Metadata interfaces
+# Metadata interfaces (.NET)
-This section describes the unmanaged metadata interfaces that provide access to the metadata exposed by .NET types, methods, fields, and other APIs. For unmanaged API metadata interfaces that are specific to .NET Framework, see [Metadata interfaces](../../../../framework/unmanaged-api/metadata/metadata-interfaces.md).
-
-## In this section
+These articles describe the unmanaged metadata interfaces that provide access to the metadata exposed by .NET types, methods, fields, and other APIs. For unmanaged API metadata interfaces that are specific to .NET Framework, see [Metadata interfaces](../../../../framework/unmanaged-api/metadata/metadata-interfaces.md).
[IMapToken interface](imaptoken-interface.md)\
Provides mapping capabilities between imported and emitted metadata signatures.
diff --git a/docs/core/unmanaged-api/metadata/structures/metadata-structures.md b/docs/core/unmanaged-api/metadata/structures/metadata-structures.md
index 984d5d8d5a0ff..f36d780a288e7 100644
--- a/docs/core/unmanaged-api/metadata/structures/metadata-structures.md
+++ b/docs/core/unmanaged-api/metadata/structures/metadata-structures.md
@@ -5,9 +5,7 @@ ms.date: 07/24/2025
---
# Metadata structures (.NET)
-This section describes the unmanaged structures that the metadata API uses. For unmanaged structures that apply only to .NET Framework, see [Metadata structures (.NET Framework)](../../../../framework/unmanaged-api/metadata/metadata-structures.md).
-
-## In this section
+These articles describe the unmanaged structures that the metadata API uses. For unmanaged structures that apply only to .NET Framework, see [Metadata structures (.NET Framework)](../../../../framework/unmanaged-api/metadata/metadata-structures.md).
[ASSEMBLYMETADATA structure](assemblymetadata-structure.md)\
Stores assembly metadata for later use.
diff --git a/docs/core/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md b/docs/core/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md
index bcfc4f66327d2..837a83cf98dd7 100644
--- a/docs/core/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md
+++ b/docs/core/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md
@@ -37,7 +37,7 @@ HRESULT GetILToNativeMapping3( [in] UINT_PTR pNativeCodeStartAddress,
[out] The total number of available COR_DEBUG_IL_TO_NATIVE_MAP structures.
`map`\
-[out] An array of [COR_DEBUG_IL_TO_NATIVE_MAP](../../../framework/unmanaged-api/debugging/cor-debug-il-to-native-map-structure.md) structures, each of which specifies the offsets. After the `GetILToNativeMapping3` method returns, `map` will contain some or all of the `COR_DEBUG_IL_TO_NATIVE_MAP` structures.
+[out] An array of [COR_DEBUG_IL_TO_NATIVE_MAP](../debugging/icordebug/cor-debug-il-to-native-map-structure.md) structures, each of which specifies the offsets. After the `GetILToNativeMapping3` method returns, `map` will contain some or all of the `COR_DEBUG_IL_TO_NATIVE_MAP` structures.
## Remarks
diff --git a/docs/csharp/language-reference/preprocessor-directives.md b/docs/csharp/language-reference/preprocessor-directives.md
index ec1d766d85caa..930ab1fadc953 100644
--- a/docs/csharp/language-reference/preprocessor-directives.md
+++ b/docs/csharp/language-reference/preprocessor-directives.md
@@ -66,10 +66,18 @@ The `#:` directives that are used in file-based apps include:
- `#:sdk`:
- The first instance specifies the value for the `` node. Subsequent instances specify the `` node. The version can be omitted. For example:
+ The first instance specifies the value for the `` node. Subsequent instances specify the `` node. The version can be omitted (i.e. if specified in global.json or included in .NET SDK). For example:
```csharp
#:sdk Microsoft.NET.Sdk.Web
+ #:sdk Aspire.AppHost.Sdk@9.4.1
+ ```
+
+ The two preceding preprocessors is translated into:
+
+ ```xml
+
+
```
- `#:property`:
diff --git a/docs/csharp/language-reference/statements/snippets/yield/Program.cs b/docs/csharp/language-reference/statements/snippets/yield/Program.cs
index cdb712cc92a16..6112b9420d000 100644
--- a/docs/csharp/language-reference/statements/snippets/yield/Program.cs
+++ b/docs/csharp/language-reference/statements/snippets/yield/Program.cs
@@ -4,6 +4,8 @@
GetEnumeratorExample.Example();
Console.WriteLine();
IteratorExecution();
+Console.WriteLine();
+UsingInIterator();
static void YieldReturn()
{
@@ -116,3 +118,39 @@ IEnumerable ProduceEvenNumbers(int upto)
//
Console.WriteLine();
}
+
+static void UsingInIterator()
+{
+ //
+ Console.WriteLine("=== Using in Iterator Example ===");
+
+ // Demonstrate that using statements work correctly in iterators
+ foreach (string line in ReadLinesFromResource())
+ {
+ Console.WriteLine($"Read: {line}");
+ // Simulate processing only first two items
+ if (line == "Line 2") break;
+ }
+
+ Console.WriteLine("Iteration stopped early - resource should still be disposed.");
+
+ static IEnumerable ReadLinesFromResource()
+ {
+ Console.WriteLine("Opening resource...");
+ using var resource = new StringWriter(); // Use StringWriter as a simple IDisposable
+ resource.WriteLine("Resource initialized");
+
+ // These lines would typically come from the resource (e.g., file, database)
+ string[] lines = { "Line 1", "Line 2", "Line 3", "Line 4" };
+
+ foreach (string line in lines)
+ {
+ Console.WriteLine($"About to yield: {line}");
+ yield return line;
+ Console.WriteLine($"Resumed after yielding: {line}");
+ }
+
+ Console.WriteLine("Iterator completed - using block will dispose resource.");
+ }
+ //
+}
diff --git a/docs/csharp/language-reference/statements/yield.md b/docs/csharp/language-reference/statements/yield.md
index 896fafe829175..83e4d4524c2b1 100644
--- a/docs/csharp/language-reference/statements/yield.md
+++ b/docs/csharp/language-reference/statements/yield.md
@@ -40,6 +40,14 @@ You can't use the `yield` statements in:
- [unsafe blocks](../keywords/unsafe.md). Before C# 13, `yield` was invalid in any method with an `unsafe` block. Beginning with C# 13, you can use `yield` in methods with `unsafe` blocks, but not in the `unsafe` block.
- `yield return` and `yield break` can not be used in [catch](../statements/exception-handling-statements.md) and [finally](../statements/exception-handling-statements.md) blocks, or in [try](../statements/exception-handling-statements.md) blocks with a corresponding `catch` block. The `yield return` and `yield break` statements can be used in a `try` block with no `catch` blocks, only a `finally` block.
+## `using` statements in iterators
+
+You can use [`using` statements](using.md) in iterator methods. Since `using` statements are compiled into `try` blocks with `finally` clauses (and no `catch` blocks), they work correctly with iterators. The disposable resources are properly managed throughout the iterator's execution:
+
+:::code language="csharp" interactive="try-dotnet-method" source="snippets/yield/Program.cs" id="UsingInIterator":::
+
+As the preceding example shows, the resource acquired in the `using` statement remains available throughout the iterator's execution, even when the iterator suspends and resumes execution at `yield return` statements. The resource is disposed when the iterator completes (either by reaching the end or via `yield break`) or when the iterator itself is disposed (for example, when the caller breaks out of enumeration early).
+
## Execution of an iterator
The call of an iterator doesn't execute it immediately, as the following example shows:
diff --git a/docs/csharp/misc/cs0677.md b/docs/csharp/misc/cs0677.md
index 394a3ea490713..0fb29b8074ac5 100644
--- a/docs/csharp/misc/cs0677.md
+++ b/docs/csharp/misc/cs0677.md
@@ -14,13 +14,13 @@ ms.assetid: 6a4a3703-9b44-4c4f-a564-8b437b1cb6b8
Fields declared with the `volatile` keyword must be one of the following types:
-- Any reference type
+- Any reference type.
-- Any pointer type (in an `unsafe` context)
+- Any pointer type (in an `unsafe` context).
-- The types `sbyte`, **byte**, **short**, `ushort`, `int`, `uint`, `char`, **float**, `bool`
+- The types `sbyte`, `byte`, `short`, `ushort`, `int`, `uint`, `char`, `float`, `bool`.
-- Enum types based on any of the above types
+- Enum types based on any of the listed types.
The following sample generates CS0677:
@@ -35,3 +35,28 @@ class TestClass
}
}
```
+
+## Potential workarounds
+
+In some scenarios, you might be able to use `nint` (native-sized integer) instead of `long` as a workaround for CS0677. The `nint` type is guaranteed to support atomic access and can be used with the `volatile` keyword:
+
+```csharp
+class TestClass
+{
+ private volatile nint i; // This compiles successfully
+
+ public static void Main()
+ {
+ }
+}
+```
+
+The `nint` type is a native-sized integer that's 32-bit on 32-bit platforms and 64-bit on 64-bit platforms. On 64-bit platforms, `nint` has the same size and range as `long`, but it's designed to guarantee atomic access. This workaround is most appropriate when:
+
+- Your code targets 64-bit platforms where `nint` provides the same range as `long`.
+- You need atomic access to a large integer value in a multithreaded context.
+- Platform-specific integer size behavior is acceptable for your use case.
+
+For more information about native-sized integers, see [Integral numeric types](../language-reference/builtin-types/integral-numeric-types.md#native-sized-integers).
+
+As general guidance on thread-safe programming, consider using operations or the [`lock`](../language-reference/statements/lock.md) statement instead of `volatile` fields.
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md b/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
index 058d6671edfac..61bd2c7dd0506 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
@@ -3,6 +3,7 @@ title: "How to define value equality for a class or struct"
description: Learn how to define value equality for a class or struct. See code examples and view available resources.
ms.topic: how-to
ms.date: 03/26/2021
+ai-usage: ai-assisted
helpviewer_keywords:
- "overriding Equals method [C#]"
- "object equivalence [C#]"
@@ -56,14 +57,72 @@ The following example shows how records automatically implement value equality w
Records provide several advantages for value equality:
-- **Automatic implementation**: Records automatically implement `IEquatable` and override `Equals(object?)`, `GetHashCode()`, and the `==`/`!=` operators.
-- **Correct inheritance behavior**: Unlike the class example shown earlier, records handle inheritance scenarios correctly.
+- **Automatic implementation**: Records automatically implement and override , , and the `==`/`!=` operators.
+- **Correct inheritance behavior**: Records implement `IEquatable` using virtual methods that check the runtime type of both operands, ensuring correct behavior in inheritance hierarchies and polymorphic scenarios.
- **Immutability by default**: Records encourage immutable design, which works well with value equality semantics.
- **Concise syntax**: Positional parameters provide a compact way to define data types.
- **Better performance**: The compiler-generated equality implementation is optimized and doesn't use reflection like the default struct implementation.
Use records when your primary goal is to store data and you need value equality semantics.
+## Records with members that use reference equality
+
+When records contain members that use reference equality, the automatic value equality behavior of records doesn't work as expected. This applies to collections like , arrays, and other reference types that don't implement value-based equality (with the notable exception of , which does implement value equality).
+
+> [!IMPORTANT]
+> While records provide excellent value equality for basic data types, they don't automatically solve value equality for members that use reference equality. If a record contains a , , or other reference types that don't implement value equality, two record instances with identical content in those members will still not be equal because the members use reference equality.
+>
+> ```csharp
+> public record PersonWithHobbies(string Name, List Hobbies);
+>
+> var person1 = new PersonWithHobbies("Alice", new List { "Reading", "Swimming" });
+> var person2 = new PersonWithHobbies("Alice", new List { "Reading", "Swimming" });
+>
+> Console.WriteLine(person1.Equals(person2)); // False - different List instances!
+> ```
+
+This is because records use the method of each member, and collection types typically use reference equality rather than comparing their contents.
+
+The following shows the problem:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="ProblemExample":::
+
+Here's how this behaves when you run the code:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="ProblemDemonstration":::
+
+### Solutions for records with reference-equality members
+
+- **Custom implementation**: Replace the compiler-generated equality with a hand-coded version that provides content-based comparison for reference-equality members. For collections, implement element-by-element comparison using or similar methods.
+
+- **Use value types where possible**: Consider if your data can be represented with value types or immutable structures that naturally support value equality, such as or .
+
+- **Use types with value-based equality**: For collections, consider using types that implement value-based equality or implement custom collection types that override to provide content-based comparison, such as or .
+
+- **Design with reference equality in mind**: Accept that some members will use reference equality and design your application logic accordingly, ensuring that you reuse the same instances when equality is important.
+
+Here's an example of implementing custom equality for records with collections:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="SolutionExample":::
+
+This custom implementation works correctly:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="SolutionDemonstration":::
+
+The same issue affects arrays and other collection types:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="OtherTypes":::
+
+Arrays also use reference equality, producing the same unexpected results:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="ArrayExample":::
+
+Even readonly collections exhibit this reference equality behavior:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs" id="ImmutableExample":::
+
+The key insight is that records solve the *structural* equality problem but don't change the *semantic* equality behavior of the types they contain.
+
## Class example
The following example shows how to implement value equality in a class (reference type). This manual approach is needed when you can't use records or need custom equality logic:
@@ -83,9 +142,60 @@ The `==` and `!=` operators can be used with classes even if the class does not
> Console.WriteLine(p1.Equals(p2)); // output: True
> ```
>
-> This code reports that `p1` equals `p2` despite the difference in `z` values. The difference is ignored because the compiler picks the `TwoDPoint` implementation of `IEquatable` based on the compile-time type.
->
-> The built-in value equality of `record` types handles scenarios like this correctly. If `TwoDPoint` and `ThreeDPoint` were `record` types, the result of `p1.Equals(p2)` would be `False`. For more information, see [Equality in `record` type inheritance hierarchies](../../language-reference/builtin-types/record.md#equality-in-inheritance-hierarchies).
+> This code reports that `p1` equals `p2` despite the difference in `z` values. The difference is ignored because the compiler picks the `TwoDPoint` implementation of `IEquatable` based on the compile-time type. This is a fundamental issue with polymorphic equality in inheritance hierarchies.
+
+## Polymorphic equality
+
+When implementing value equality in inheritance hierarchies with classes, the standard approach shown in the class example can lead to incorrect behavior when objects are used polymorphically. The issue occurs because implementations are chosen based on compile-time type, not runtime type.
+
+### The problem with standard implementations
+
+Consider this problematic scenario:
+
+```csharp
+TwoDPoint p1 = new ThreeDPoint(1, 2, 3); // Declared as TwoDPoint
+TwoDPoint p2 = new ThreeDPoint(1, 2, 4); // Declared as TwoDPoint
+Console.WriteLine(p1.Equals(p2)); // True - but should be False!
+```
+
+The comparison returns `True` because the compiler selects `TwoDPoint.Equals(TwoDPoint)` based on the declared type, ignoring the `Z` coordinate differences.
+
+The key to correct polymorphic equality is ensuring that all equality comparisons use the virtual method, which can check runtime types and handle inheritance correctly. This can be achieved by using explicit interface implementation for that delegates to the virtual method:
+
+The base class demonstrates the key patterns:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs" id="TwoDPointClass":::
+
+The derived class correctly extends the equality logic:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs" id="ThreeDPointClass":::
+
+Here's how this implementation handles the problematic polymorphic scenarios:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs" id="PolymorphicTest":::
+
+The implementation also correctly handles direct type comparisons:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs" id="DirectTest":::
+
+The equality implementation also works properly with collections:
+
+:::code language="csharp" source="snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs" id="CollectionTest":::
+
+The preceding code demonstrates key elements to implementing value based equality:
+
+- **Virtual `Equals(object?)` override**: The main equality logic happens in the virtual method, which is called regardless of compile-time type.
+- **Runtime type checking**: Using `this.GetType() != p.GetType()` ensures that objects of different types are never considered equal.
+- **Explicit interface implementation**: The implementation delegates to the virtual method, preventing compile-time type selection issues.
+- **Protected virtual helper method**: The `protected virtual Equals(TwoDPoint? p)` method allows derived classes to override equality logic while maintaining type safety.
+
+Use this pattern when:
+
+- You have inheritance hierarchies where value equality is important
+- Objects might be used polymorphically (declared as base type, instantiated as derived type)
+- You need reference types with value equality semantics
+
+The preferred approach is to use `record` types to implement value based equality. This approach requires a more complex implementation than the standard approach and requires thorough testing of polymorphic scenarios to ensure correctness.
## Struct example
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs
new file mode 100644
index 0000000000000..7c0639eb0a90d
--- /dev/null
+++ b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/Program.cs
@@ -0,0 +1,144 @@
+namespace RecordCollectionsIssue;
+
+//
+// Records with reference-equality members don't work as expected
+public record PersonWithHobbies(string Name, List Hobbies);
+//
+
+//
+// A potential solution using IEquatable with custom equality
+public record PersonWithHobbiesFixed(string Name, List Hobbies) : IEquatable
+{
+ public virtual bool Equals(PersonWithHobbiesFixed? other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ // Use SequenceEqual for List comparison
+ return Name == other.Name && Hobbies.SequenceEqual(other.Hobbies);
+ }
+
+ public override int GetHashCode()
+ {
+ // Create hash based on content, not reference
+ var hashCode = new HashCode();
+ hashCode.Add(Name);
+ foreach (var hobby in Hobbies)
+ {
+ hashCode.Add(hobby);
+ }
+ return hashCode.ToHashCode();
+ }
+}
+//
+
+//
+// These also use reference equality - the issue persists
+public record PersonWithHobbiesArray(string Name, string[] Hobbies);
+
+public record PersonWithHobbiesImmutable(string Name, IReadOnlyList Hobbies);
+//
+
+//
+class Program
+{
+ static void Main(string[] args)
+ {
+ //
+ Console.WriteLine("=== Records with Collections - The Problem ===");
+
+ // Problem: Records with mutable collections use reference equality for the collection
+ var person1 = new PersonWithHobbies("Alice", [ "Reading", "Swimming" ]);
+ var person2 = new PersonWithHobbies("Alice", [ "Reading", "Swimming" ]);
+
+ Console.WriteLine($"person1: {person1}");
+ Console.WriteLine($"person2: {person2}");
+ Console.WriteLine($"person1.Equals(person2): {person1.Equals(person2)}"); // False! Different List instances
+ Console.WriteLine($"Lists have same content: {person1.Hobbies.SequenceEqual(person2.Hobbies)}"); // True
+ Console.WriteLine();
+ //
+
+ //
+ Console.WriteLine("=== Solution 1: Custom IEquatable Implementation ===");
+
+ var personFixed1 = new PersonWithHobbiesFixed("Bob", [ "Cooking", "Hiking" ]);
+ var personFixed2 = new PersonWithHobbiesFixed("Bob", [ "Cooking", "Hiking" ]);
+
+ Console.WriteLine($"personFixed1: {personFixed1}");
+ Console.WriteLine($"personFixed2: {personFixed2}");
+ Console.WriteLine($"personFixed1.Equals(personFixed2): {personFixed1.Equals(personFixed2)}"); // True! Custom equality
+ Console.WriteLine();
+ //
+
+ //
+ Console.WriteLine("=== Arrays Also Use Reference Equality ===");
+
+ var personArray1 = new PersonWithHobbiesArray("Charlie", ["Gaming", "Music" ]);
+ var personArray2 = new PersonWithHobbiesArray("Charlie", ["Gaming", "Music" ]);
+
+ Console.WriteLine($"personArray1: {personArray1}");
+ Console.WriteLine($"personArray2: {personArray2}");
+ Console.WriteLine($"personArray1.Equals(personArray2): {personArray1.Equals(personArray2)}"); // False! Arrays use reference equality too
+ Console.WriteLine($"Arrays have same content: {personArray1.Hobbies.SequenceEqual(personArray2.Hobbies)}"); // True
+ Console.WriteLine();
+ //
+
+ //
+ Console.WriteLine("=== Same Issue with IReadOnlyList ===");
+
+ var personImmutable1 = new PersonWithHobbiesImmutable("Diana", [ "Art", "Travel" ]);
+ var personImmutable2 = new PersonWithHobbiesImmutable("Diana", [ "Art", "Travel" ]);
+
+ Console.WriteLine($"personImmutable1: {personImmutable1}");
+ Console.WriteLine($"personImmutable2: {personImmutable2}");
+ Console.WriteLine($"personImmutable1.Equals(personImmutable2): {personImmutable1.Equals(personImmutable2)}"); // False! Reference equality
+ Console.WriteLine($"Content is the same: {personImmutable1.Hobbies.SequenceEqual(personImmutable2.Hobbies)}"); // True
+ Console.WriteLine();
+ //
+
+ Console.WriteLine("=== Collection Behavior Summary ===");
+ Console.WriteLine("Type | Equals Result | Reason");
+ Console.WriteLine("----------------------------------|---------------|------------------");
+ Console.WriteLine($"Record with List | {person1.Equals(person2),-13} | Reference equality");
+ Console.WriteLine($"Record with custom IEquatable | {personFixed1.Equals(personFixed2),-13} | Custom equality logic");
+ Console.WriteLine($"Record with Array | {personArray1.Equals(personArray2),-13} | Reference equality");
+ Console.WriteLine($"Record with IReadOnlyList | {personImmutable1.Equals(personImmutable2),-13} | Reference equality");
+
+ Console.WriteLine("\nPress any key to exit.");
+ Console.ReadKey();
+ }
+}
+//
+
+/* Expected Output:
+=== Records with Collections - The Problem ===
+person1: PersonWithHobbies { Name = Alice, Hobbies = System.Collections.Generic.List`1[System.String] }
+person2: PersonWithHobbies { Name = Alice, Hobbies = System.Collections.Generic.List`1[System.String] }
+person1.Equals(person2): False
+Lists have same content: True
+
+=== Solution 1: Custom IEquatable Implementation ===
+personFixed1: PersonWithHobbiesFixed { Name = Bob, Hobbies = System.Collections.Generic.List`1[System.String] }
+personFixed2: PersonWithHobbiesFixed { Name = Bob, Hobbies = System.Collections.Generic.List`1[System.String] }
+personFixed1.Equals(personFixed2): True
+
+=== Arrays Also Use Reference Equality ===
+personArray1: PersonWithHobbiesArray { Name = Charlie, Hobbies = System.String[] }
+personArray2: PersonWithHobbiesArray { Name = Charlie, Hobbies = System.String[] }
+personArray1.Equals(personArray2): False
+Arrays have same content: True
+
+=== Same Issue with IReadOnlyList ===
+personImmutable1: PersonWithHobbiesImmutable { Name = Diana, Hobbies = System.String[] }
+personImmutable2: PersonWithHobbiesImmutable { Name = Diana, Hobbies = System.String[] }
+personImmutable1.Equals(personImmutable2): False
+Content is the same: True
+
+=== Collection Behavior Summary ===
+Type | Equals Result | Reason
+----------------------------------|---------------|------------------
+Record with List | False | Reference equality
+Record with custom IEquatable | True | Custom equality logic
+Record with Array | False | Reference equality
+Record with IReadOnlyList | False | Reference equality
+*/
\ No newline at end of file
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/RecordCollectionsIssue.csproj b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/RecordCollectionsIssue.csproj
new file mode 100644
index 0000000000000..fd4dd4565750e
--- /dev/null
+++ b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/RecordCollectionsIssue/RecordCollectionsIssue.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
\ No newline at end of file
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs
new file mode 100644
index 0000000000000..8ef4dc9eb9358
--- /dev/null
+++ b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/Program.cs
@@ -0,0 +1,247 @@
+namespace ValueEqualityPolymorphic;
+
+//
+// Safe polymorphic equality implementation using explicit interface implementation
+class TwoDPoint : IEquatable
+{
+ public int X { get; private set; }
+ public int Y { get; private set; }
+
+ public TwoDPoint(int x, int y)
+ {
+ if (x is (< 1 or > 2000) || y is (< 1 or > 2000))
+ {
+ throw new ArgumentException("Point must be in range 1 - 2000");
+ }
+ this.X = x;
+ this.Y = y;
+ }
+
+ public override bool Equals(object? obj) => Equals(obj as TwoDPoint);
+
+ // Explicit interface implementation prevents compile-time type issues
+ bool IEquatable.Equals(TwoDPoint? p) => Equals((object?)p);
+
+ protected virtual bool Equals(TwoDPoint? p)
+ {
+ if (p is null)
+ {
+ return false;
+ }
+
+ // Optimization for a common success case.
+ if (Object.ReferenceEquals(this, p))
+ {
+ return true;
+ }
+
+ // If run-time types are not exactly the same, return false.
+ if (this.GetType() != p.GetType())
+ {
+ return false;
+ }
+
+ // Return true if the fields match.
+ // Note that the base class is not invoked because it is
+ // System.Object, which defines Equals as reference equality.
+ return (X == p.X) && (Y == p.Y);
+ }
+
+ public override int GetHashCode() => (X, Y).GetHashCode();
+
+ public static bool operator ==(TwoDPoint? lhs, TwoDPoint? rhs)
+ {
+ if (lhs is null)
+ {
+ if (rhs is null)
+ {
+ return true;
+ }
+
+ // Only the left side is null.
+ return false;
+ }
+ // Equals handles case of null on right side.
+ return lhs.Equals(rhs);
+ }
+
+ public static bool operator !=(TwoDPoint? lhs, TwoDPoint? rhs) => !(lhs == rhs);
+}
+//
+
+//
+// For the sake of simplicity, assume a ThreeDPoint IS a TwoDPoint.
+class ThreeDPoint : TwoDPoint, IEquatable
+{
+ public int Z { get; private set; }
+
+ public ThreeDPoint(int x, int y, int z)
+ : base(x, y)
+ {
+ if ((z < 1) || (z > 2000))
+ {
+ throw new ArgumentException("Point must be in range 1 - 2000");
+ }
+ this.Z = z;
+ }
+
+ public override bool Equals(object? obj) => Equals(obj as ThreeDPoint);
+
+ // Explicit interface implementation prevents compile-time type issues
+ bool IEquatable.Equals(ThreeDPoint? p) => Equals((object?)p);
+
+ protected override bool Equals(TwoDPoint? p)
+ {
+ if (p is null)
+ {
+ return false;
+ }
+
+ // Optimization for a common success case.
+ if (Object.ReferenceEquals(this, p))
+ {
+ return true;
+ }
+
+ // Runtime type check happens in the base method
+ if (p is ThreeDPoint threeD)
+ {
+ // Check properties that this class declares.
+ if (Z != threeD.Z)
+ {
+ return false;
+ }
+
+ return base.Equals(p);
+ }
+
+ return false;
+ }
+
+ public override int GetHashCode() => (X, Y, Z).GetHashCode();
+
+ public static bool operator ==(ThreeDPoint? lhs, ThreeDPoint? rhs)
+ {
+ if (lhs is null)
+ {
+ if (rhs is null)
+ {
+ // null == null = true.
+ return true;
+ }
+
+ // Only the left side is null.
+ return false;
+ }
+ // Equals handles the case of null on right side.
+ return lhs.Equals(rhs);
+ }
+
+ public static bool operator !=(ThreeDPoint? lhs, ThreeDPoint? rhs) => !(lhs == rhs);
+}
+//
+
+//
+class Program
+{
+ static void Main(string[] args)
+ {
+ //
+ Console.WriteLine("=== Safe Polymorphic Equality ===");
+
+ // Test polymorphic scenarios that were problematic before
+ TwoDPoint p1 = new ThreeDPoint(1, 2, 3);
+ TwoDPoint p2 = new ThreeDPoint(1, 2, 4);
+ TwoDPoint p3 = new ThreeDPoint(1, 2, 3);
+ TwoDPoint p4 = new TwoDPoint(1, 2);
+
+ Console.WriteLine("Testing polymorphic equality (declared as TwoDPoint):");
+ Console.WriteLine($"p1 = ThreeDPoint(1, 2, 3) as TwoDPoint");
+ Console.WriteLine($"p2 = ThreeDPoint(1, 2, 4) as TwoDPoint");
+ Console.WriteLine($"p3 = ThreeDPoint(1, 2, 3) as TwoDPoint");
+ Console.WriteLine($"p4 = TwoDPoint(1, 2)");
+ Console.WriteLine();
+
+ Console.WriteLine($"p1.Equals(p2) = {p1.Equals(p2)}"); // False - different Z values
+ Console.WriteLine($"p1.Equals(p3) = {p1.Equals(p3)}"); // True - same values
+ Console.WriteLine($"p1.Equals(p4) = {p1.Equals(p4)}"); // False - different types
+ Console.WriteLine($"p4.Equals(p1) = {p4.Equals(p1)}"); // False - different types
+ Console.WriteLine();
+ //
+
+ //
+ // Test direct type comparisons
+ var point3D_A = new ThreeDPoint(3, 4, 5);
+ var point3D_B = new ThreeDPoint(3, 4, 5);
+ var point3D_C = new ThreeDPoint(3, 4, 7);
+ var point2D_A = new TwoDPoint(3, 4);
+
+ Console.WriteLine("Testing direct type comparisons:");
+ Console.WriteLine($"point3D_A.Equals(point3D_B) = {point3D_A.Equals(point3D_B)}"); // True
+ Console.WriteLine($"point3D_A.Equals(point3D_C) = {point3D_A.Equals(point3D_C)}"); // False
+ Console.WriteLine($"point3D_A.Equals(point2D_A) = {point3D_A.Equals(point2D_A)}"); // False
+ Console.WriteLine($"point2D_A.Equals(point3D_A) = {point2D_A.Equals(point3D_A)}"); // False
+ Console.WriteLine();
+ //
+
+ //
+ // Test operators
+ Console.WriteLine("Testing operators:");
+ Console.WriteLine($"p1 == p2: {p1 == p2}"); // False
+ Console.WriteLine($"p1 == p3: {p1 == p3}"); // True
+ Console.WriteLine($"point3D_A == point3D_B: {point3D_A == point3D_B}"); // True
+ Console.WriteLine();
+ //
+
+ //
+ // Test with collections
+ Console.WriteLine("Testing with collections:");
+ var hashSet = new HashSet { p1, p2, p3, p4 };
+ Console.WriteLine($"HashSet contains {hashSet.Count} unique points"); // Should be 3: one ThreeDPoint(1,2,3), one ThreeDPoint(1,2,4), one TwoDPoint(1,2)
+
+ var dictionary = new Dictionary
+ {
+ { p1, "First 3D point" },
+ { p2, "Second 3D point" },
+ { p4, "2D point" }
+ };
+
+ Console.WriteLine($"Dictionary contains {dictionary.Count} entries");
+ Console.WriteLine($"Dictionary lookup for equivalent point: {dictionary.ContainsKey(new ThreeDPoint(1, 2, 3))}"); // True
+ //
+
+ Console.WriteLine("Press any key to exit.");
+ Console.ReadKey();
+ }
+}
+//
+
+/* Expected Output:
+=== Safe Polymorphic Equality ===
+Testing polymorphic equality (declared as TwoDPoint):
+p1 = ThreeDPoint(1, 2, 3) as TwoDPoint
+p2 = ThreeDPoint(1, 2, 4) as TwoDPoint
+p3 = ThreeDPoint(1, 2, 3) as TwoDPoint
+p4 = TwoDPoint(1, 2)
+
+p1.Equals(p2) = False
+p1.Equals(p3) = True
+p1.Equals(p4) = False
+p4.Equals(p1) = False
+
+Testing direct type comparisons:
+point3D_A.Equals(point3D_B) = True
+point3D_A.Equals(point3D_C) = False
+point3D_A.Equals(point2D_A) = False
+point2D_A.Equals(point3D_A) = False
+
+Testing operators:
+p1 == p2: False
+p1 == p3: True
+point3D_A == point3D_B: True
+
+Testing with collections:
+HashSet contains 3 unique points
+Dictionary contains 3 entries
+Dictionary lookup for equivalent point: True
+*/
\ No newline at end of file
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/ValueEqualityPolymorphic.csproj b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/ValueEqualityPolymorphic.csproj
new file mode 100644
index 0000000000000..fd4dd4565750e
--- /dev/null
+++ b/docs/csharp/programming-guide/statements-expressions-operators/snippets/how-to-define-value-equality-for-a-type/ValueEqualityPolymorphic/ValueEqualityPolymorphic.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
\ No newline at end of file
diff --git a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj
index ef37d5d3d7386..81c6d2107ae41 100644
--- a/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj
+++ b/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/MakeConst/MakeConst.Test/MakeConst.Test.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/docs/framework/configure-apps/file-schema/wcf/add-of-issuerchannelbehaviors.md b/docs/framework/configure-apps/file-schema/wcf/add-of-issuerchannelbehaviors.md
index 7b8385bd1efae..c90c795bb21d6 100644
--- a/docs/framework/configure-apps/file-schema/wcf/add-of-issuerchannelbehaviors.md
+++ b/docs/framework/configure-apps/file-schema/wcf/add-of-issuerchannelbehaviors.md
@@ -7,7 +7,7 @@ ms.assetid: 50710506-e28f-45dd-ab7e-bff6f44173db
# \ of \
-Adds an endpoint behavior to be used when communicating with an STS.
+Adds an endpoint behavior to be used when communicating with a security token service (STS).
> [!NOTE]
> If any endpoint behavior contains a [\](clientcredentials.md) element, an exception will be thrown.
@@ -20,7 +20,7 @@ Adds an endpoint behavior to be used when communicating with an STS.
[**\**](clientcredentials.md)\
[**\**](issuedtoken.md)\
[**\**](issuerchannelbehaviors-element.md)\
- **\**
+ **\**
## Syntax
diff --git a/docs/framework/configure-apps/file-schema/wcf/clientcredentials.md b/docs/framework/configure-apps/file-schema/wcf/clientcredentials.md
index d530f4fe7261b..6566dc550c91c 100644
--- a/docs/framework/configure-apps/file-schema/wcf/clientcredentials.md
+++ b/docs/framework/configure-apps/file-schema/wcf/clientcredentials.md
@@ -6,18 +6,18 @@ ms.assetid: 1e6eef0d-a34e-4d74-b0f7-f65d2181858d
---
# \
-Specifies the credentials used to authenticate the client to a service.
-
+Specifies the credentials used to authenticate the client to a service.
+
[**\**](../configuration-element.md)\
[**\**](system-servicemodel.md)\
[**\**](behaviors.md)\
[**\**](endpointbehaviors.md)\
[**\**](behavior-of-endpointbehaviors.md)\
- **\**
-
-## Syntax
-
-```xml
+ **\**
+
+## Syntax
+
+```xml
@@ -33,40 +33,40 @@ Specifies the credentials used to authenticate the client to a service.
-```
-
-## Attributes and Elements
-
- The following sections describe attributes, child elements, and parent elements.
-
-### Attributes
-
-|Attribute|Description|
-|---------------|-----------------|
-|`supportInteractive`|A Boolean value that specifies whether an interactive user can be involved in selecting a client credential at run time. The default value is `true`.|
-|`type`|A string that specifies the type of this configuration element.|
-
-### Child Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](clientcertificate-of-clientcredentials-element.md)|Specifies the certificate used to authenticate the client to the service. This element is of type .|
-|[\](httpdigest-element.md)|Specifies a digest used to authenticate the client to the service. This element is of type .|
-|[\](issuedtoken.md)|Specifies a custom token type used to authenticate the client to a Secure Token Service (STS). This element is of type .|
-|[\](peer-of-clientcredentials-element.md)|Specifies a current peer credential. This element is of type .|
-|[\](servicecertificate-of-clientcredentials-element.md)|Specifies the certificate used to authenticate the service to the client and provides a structure for setting certificate options. This certificate must be supplied out-of-band from the service to the client. This element is of type .|
-|[\](windows-of-clientcredentials-element.md)|Specifies a Windows credential. The default is the credential of the current thread. This element is of type .|
-
-### Parent Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](behavior-of-endpointbehaviors.md)|Specifies an endpoint behavior.|
-
-## Remarks
-
- Client credentials are used to authenticate the client to services in cases where mutual authentication is required. This configuration section can also be used to specify service certificates for scenarios where the client must secure messages to a service with the service's certificate.
-
+```
+
+## Attributes and Elements
+
+ The following sections describe attributes, child elements, and parent elements.
+
+### Attributes
+
+|Attribute|Description|
+|---------------|-----------------|
+|`supportInteractive`|A Boolean value that specifies whether an interactive user can be involved in selecting a client credential at run time. The default value is `true`.|
+|`type`|A string that specifies the type of this configuration element.|
+
+### Child Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](clientcertificate-of-clientcredentials-element.md)|Specifies the certificate used to authenticate the client to the service. This element is of type .|
+|[\](httpdigest-element.md)|Specifies a digest used to authenticate the client to the service. This element is of type .|
+|[\](issuedtoken.md)|Specifies a custom token type used to authenticate the client to a Security Token Service (STS). This element is of type .|
+|[\](peer-of-clientcredentials-element.md)|Specifies a current peer credential. This element is of type .|
+|[\](servicecertificate-of-clientcredentials-element.md)|Specifies the certificate used to authenticate the service to the client and provides a structure for setting certificate options. This certificate must be supplied out-of-band from the service to the client. This element is of type .|
+|[\](windows-of-clientcredentials-element.md)|Specifies a Windows credential. The default is the credential of the current thread. This element is of type .|
+
+### Parent Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](behavior-of-endpointbehaviors.md)|Specifies an endpoint behavior.|
+
+## Remarks
+
+ Client credentials are used to authenticate the client to services in cases where mutual authentication is required. This configuration section can also be used to specify service certificates for scenarios where the client must secure messages to a service with the service's certificate.
+
## See also
-
diff --git a/docs/framework/configure-apps/file-schema/wcf/defaultcertificate-element.md b/docs/framework/configure-apps/file-schema/wcf/defaultcertificate-element.md
index 096e4f65b19ab..2a49a820d6d80 100644
--- a/docs/framework/configure-apps/file-schema/wcf/defaultcertificate-element.md
+++ b/docs/framework/configure-apps/file-schema/wcf/defaultcertificate-element.md
@@ -6,8 +6,8 @@ ms.assetid: f1ddf364-9a00-45d3-b989-ff381c154ce6
---
# \ Element
-Specifies an X.509 certificate to be used when a service or STS does not provide one via a negotiation protocol.
-
+Specifies an X.509 certificate to be used when security token service (STS) doesn't provide one via a negotiation protocol.
+
[**\**](../configuration-element.md)\
[**\**](system-servicemodel.md)\
[**\**](behaviors.md)\
@@ -15,73 +15,73 @@ Specifies an X.509 certificate to be used when a service or STS does not provide
[**\**](behavior-of-endpointbehaviors.md)\
[**\**](clientcredentials.md)\
[**\**](servicecertificate-of-clientcredentials-element.md)\
- **\**
-
-## Syntax
-
-```xml
+ **\**
+
+## Syntax
+
+```xml
-```
-
-## Attributes and Elements
-
- The following sections describe attributes, child elements, and parent elements
-
-### Attributes
-
-|Attribute|Description|
-|---------------|-----------------|
-|findValue|String. The value to search for.|
-|x509FindType|Enumeration. One of the certificate fields to search.|
-|storeLocation|Enumeration. One of the two system store locations to search.|
-|storeName|Enumeration. One of the system stores to search.|
-
-## findValue Attribute
-
-|Value|Description|
-|-----------|-----------------|
-|String|The value depends on the field (specified by the X509FindType attribute) being searched. For example, if searching for a thumbprint, the value must be a string of hexadecimal numbers.|
-
-## x509FindType Attribute
-
-|Value|Description|
-|-----------|-----------------|
-|Enumeration|Values include: FindByThumbprint, FindBySubjectName, FindBySubjectDistinguishedName, FindByIssuerName, FindByIssuerDistinguishedName, FindBySerialNumber, FindByTimeValid, FindByTimeNotYetValid, FindBySerialNumber, FindByTimeExpired, FindByTemplateName, FindByApplicationPolicy, FindByCertificatePolicy, FindByExtension, FindByKeyUsage, FindBySubjectKeyIdentifier.|
-
-## storeLocation Attribute
-
-|Value|Description|
-|-----------|-----------------|
-|Enumeration|CurrentUser or LocalMachine.|
-
-## storeName Attribute
-
-|Value|Description|
-|-----------|-----------------|
-|Enumeration|Values include: AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, and TrustedPublisher.|
-
-### Child Elements
-
- None.
-
-### Parent Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](servicecertificate-of-clientcredentials-element.md)|Specifies a certificate to use when authenticating a service to the client.|
-
-## Remarks
-
- For bindings that use certificate-based message security, certificate specified by this configuration element is used to encrypt messages to the service and is expected to be used by the service for signing replies to the client. It stores a single certificate to be used when no certificate is specified by a service.
-
-## Example
-
- The following example specifies a certificate to use for endpoints whose URI begins with `http://www.contoso.com` and a certificate to use for all other endpoints that do not perform certificate negotiation.
-
-```xml
+```
+
+## Attributes and Elements
+
+ The following sections describe attributes, child elements, and parent elements
+
+### Attributes
+
+|Attribute|Description|
+|---------------|-----------------|
+|findValue|String. The value to search for.|
+|x509FindType|Enumeration. One of the certificate fields to search.|
+|storeLocation|Enumeration. One of the two system store locations to search.|
+|storeName|Enumeration. One of the system stores to search.|
+
+## findValue Attribute
+
+|Value|Description|
+|-----------|-----------------|
+|String|The value depends on the field (specified by the X509FindType attribute) being searched. For example, if searching for a thumbprint, the value must be a string of hexadecimal numbers.|
+
+## x509FindType Attribute
+
+|Value|Description|
+|-----------|-----------------|
+|Enumeration|Values include: FindByThumbprint, FindBySubjectName, FindBySubjectDistinguishedName, FindByIssuerName, FindByIssuerDistinguishedName, FindBySerialNumber, FindByTimeValid, FindByTimeNotYetValid, FindBySerialNumber, FindByTimeExpired, FindByTemplateName, FindByApplicationPolicy, FindByCertificatePolicy, FindByExtension, FindByKeyUsage, FindBySubjectKeyIdentifier.|
+
+## storeLocation Attribute
+
+|Value|Description|
+|-----------|-----------------|
+|Enumeration|CurrentUser or LocalMachine.|
+
+## storeName Attribute
+
+|Value|Description|
+|-----------|-----------------|
+|Enumeration|Values include: AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, and TrustedPublisher.|
+
+### Child Elements
+
+ None.
+
+### Parent Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](servicecertificate-of-clientcredentials-element.md)|Specifies a certificate to use when authenticating a service to the client.|
+
+## Remarks
+
+ For bindings that use certificate-based message security, certificate specified by this configuration element is used to encrypt messages to the service and is expected to be used by the service for signing replies to the client. It stores a single certificate to be used when no certificate is specified by a service.
+
+## Example
+
+ The following example specifies a certificate to use for endpoints whose URI begins with `http://www.contoso.com` and a certificate to use for all other endpoints that do not perform certificate negotiation.
+
+```xml
-```
-
+```
+
## See also
-
diff --git a/docs/framework/configure-apps/file-schema/wcf/issuedtoken.md b/docs/framework/configure-apps/file-schema/wcf/issuedtoken.md
index 1d5252232d59c..9d74636f800ba 100644
--- a/docs/framework/configure-apps/file-schema/wcf/issuedtoken.md
+++ b/docs/framework/configure-apps/file-schema/wcf/issuedtoken.md
@@ -6,19 +6,19 @@ ms.assetid: b6eae4b7-a6cd-4e1a-b0f6-f407022550b0
---
# \
-Specifies a custom token used to authenticate a client to a service.
-
+Specifies a custom token used to authenticate a client to a service.
+
[**\**](../configuration-element.md)\
[**\**](system-servicemodel.md)\
[**\**](behaviors.md)\
[**\**](endpointbehaviors.md)\
[**\**](behavior-of-endpointbehaviors.md)\
[**\**](clientcredentials.md)\
- **\**
-
-## Syntax
-
-```xml
+ **\**
+
+## Syntax
+
+```xml
-```
-
-## Attributes and Elements
-
- The following sections describe attributes, child elements, and parent elements.
-
-### Attributes
-
-|Attribute|Description|
-|---------------|-----------------|
-|`cacheIssuedTokens`|Optional Boolean attribute that specifies whether tokens are cached. The default is `true`.|
-|`defaultKeyEntropyMode`|Optional string attribute that specifies which random values (entropies) are used for handshake operations. Values include `ClientEntropy`, `ServerEntropy`, and `CombinedEntropy`, The default is `CombinedEntropy`. This attribute is of type .|
-|`issuedTokenRenewalThresholdPercentage`|Optional integer attribute that specifies the percentage of a valid time frame (supplied by the token issuer) that can pass before a token is renewed. Values are from 0 to 100. The default is 60, which specifies 60% of the time passes before a renewal is attempted.|
-|`issuerChannelBehaviors`|Optional attribute that specifies the channel behaviors to use when communicating with the issuer.|
-|`localIssuerChannelBehaviors`|Optional attribute that specifies the channel behaviors to use when communicating with the local issuer.|
-|`maxIssuedTokenCachingTime`|Optional Timespan attribute that specifies the duration that issued tokens are cached when the token issuer (an STS) does not specify a time. The default is "10675199.02:48:05.4775807."|
-
-### Child Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](localissuer.md)|Specifies the address of the local issuer of the token and the binding used to communicate with the endpoint.|
-|[\](issuerchannelbehaviors-element.md)|Specifies the endpoint behaviors to use when contacting a local issuer.|
-
-### Parent Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](clientcredentials.md)|Specifies the credentials used to authenticate a client to a service.|
-
-## Remarks
-
- An issued token is a custom credential type used, for example, when authenticating with a Secure Token Service (STS) in a federated scenario. By default, the token is a SAML token. For more information, see [Federation and Issued Tokens](../../../wcf/feature-details/federation-and-issued-tokens.md), and [Federation and Issued Tokens](../../../wcf/feature-details/federation-and-issued-tokens.md).
-
- This section contains the elements used to configure a local issuer of tokens, or behaviors used with an security token service. For instructions on configuring a client to use a local issuer, see [How to: Configure a Local Issuer](../../../wcf/feature-details/how-to-configure-a-local-issuer.md).
-
+```
+
+## Attributes and Elements
+
+ The following sections describe attributes, child elements, and parent elements.
+
+### Attributes
+
+|Attribute|Description|
+|---------------|-----------------|
+|`cacheIssuedTokens`|Optional Boolean attribute that specifies whether tokens are cached. The default is `true`.|
+|`defaultKeyEntropyMode`|Optional string attribute that specifies which random values (entropies) are used for handshake operations. Values include `ClientEntropy`, `ServerEntropy`, and `CombinedEntropy`, The default is `CombinedEntropy`. This attribute is of type .|
+|`issuedTokenRenewalThresholdPercentage`|Optional integer attribute that specifies the percentage of a valid time frame (supplied by the token issuer) that can pass before a token is renewed. Values are from 0 to 100. The default is 60, which specifies 60% of the time passes before a renewal is attempted.|
+|`issuerChannelBehaviors`|Optional attribute that specifies the channel behaviors to use when communicating with the issuer.|
+|`localIssuerChannelBehaviors`|Optional attribute that specifies the channel behaviors to use when communicating with the local issuer.|
+|`maxIssuedTokenCachingTime`|Optional Timespan attribute that specifies the duration that issued tokens are cached when the token issuer (a security token service) does not specify a time. The default is "10675199.02:48:05.4775807."|
+
+### Child Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](localissuer.md)|Specifies the address of the local issuer of the token and the binding used to communicate with the endpoint.|
+|[\](issuerchannelbehaviors-element.md)|Specifies the endpoint behaviors to use when contacting a local issuer.|
+
+### Parent Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](clientcredentials.md)|Specifies the credentials used to authenticate a client to a service.|
+
+## Remarks
+
+ An issued token is a custom credential type used, for example, when authenticating with a Security Token Service (STS) in a federated scenario. By default, the token is a SAML token. For more information, see [Federation and Issued Tokens](../../../wcf/feature-details/federation-and-issued-tokens.md), and [Federation and Issued Tokens](../../../wcf/feature-details/federation-and-issued-tokens.md).
+
+ This section contains the elements used to configure a local issuer of tokens, or behaviors used with an security token service. For instructions on configuring a client to use a local issuer, see [How to: Configure a Local Issuer](../../../wcf/feature-details/how-to-configure-a-local-issuer.md).
+
## See also
-
diff --git a/docs/framework/configure-apps/file-schema/wcf/servicecertificate-of-clientcredentials-element.md b/docs/framework/configure-apps/file-schema/wcf/servicecertificate-of-clientcredentials-element.md
index 7eb41f9fd66c3..c2d3d523cd19a 100644
--- a/docs/framework/configure-apps/file-schema/wcf/servicecertificate-of-clientcredentials-element.md
+++ b/docs/framework/configure-apps/file-schema/wcf/servicecertificate-of-clientcredentials-element.md
@@ -6,50 +6,50 @@ ms.assetid: e50c0ac5-f0df-4c90-b54b-fc602c1f84ea
---
# \ of \ Element
-Specifies a certificate to use when authenticating a service to the client.
-
+Specifies a certificate to use when authenticating a service to the client.
+
[**\**](../configuration-element.md)\
[**\**](system-servicemodel.md)\
[**\**](behaviors.md)\
[**\**](endpointbehaviors.md)\
[**\**](behavior-of-endpointbehaviors.md)\
[**\**](clientcredentials.md)\
- **\**
-
-## Syntax
-
-```xml
+ **\**
+
+## Syntax
+
+```xml
-```
-
-## Attributes and Elements
-
- The following sections describe attributes, child elements, and parent elements.
-
-### Attributes
-
- None.
-
-### Child Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](defaultcertificate-element.md)|Specifies an X.509 certificate to be used when a service or STS does not provide one via a negotiation protocol.|
-|[\](scopedcertificates-element.md)|Represents a collection of X.509 certificates provided by specific services (scoped) for authentication. This collection is typically used to specify the service certificates for Security Token Services in a federated scenario.|
-|[\](authentication-of-servicecertificate-element.md)|Specifies authentication behaviors for service certificates used by a client.|
-
-### Parent Elements
-
-|Element|Description|
-|-------------|-----------------|
-|[\](clientcredentials.md)|Specifies the credentials used by the client to authenticate itself to a service.|
-
-## Remarks
-
- This configuration element specifies the settings used by the client to validate the certificate presented by the service using SSL authentication. It also contains any certificate for the service that is explicitly configured on the client to use for encrypting messages to the service using message security.
-
- The attributes of the `serviceCertificate` element are identical to the attributes of the [\](clientcertificate-of-clientcredentials-element.md).
-
+```
+
+## Attributes and Elements
+
+ The following sections describe attributes, child elements, and parent elements.
+
+### Attributes
+
+ None.
+
+### Child Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](defaultcertificate-element.md)|Specifies an X.509 certificate to be used when a security token service (STS) does not provide one via a negotiation protocol.|
+|[\](scopedcertificates-element.md)|Represents a collection of X.509 certificates provided by specific services (scoped) for authentication. This collection is typically used to specify the service certificates for Security Token Services in a federated scenario.|
+|[\](authentication-of-servicecertificate-element.md)|Specifies authentication behaviors for service certificates used by a client.|
+
+### Parent Elements
+
+|Element|Description|
+|-------------|-----------------|
+|[\](clientcredentials.md)|Specifies the credentials used by the client to authenticate itself to a service.|
+
+## Remarks
+
+ This configuration element specifies the settings used by the client to validate the certificate presented by the service using SSL authentication. It also contains any certificate for the service that is explicitly configured on the client to use for encrypting messages to the service using message security.
+
+ The attributes of the `serviceCertificate` element are identical to the attributes of the [\](clientcertificate-of-clientcredentials-element.md).
+
## See also
-
diff --git a/docs/framework/data/adonet/sql/linq/basic-data-types.md b/docs/framework/data/adonet/sql/linq/basic-data-types.md
index 65a67339b9963..86655a05832ee 100644
--- a/docs/framework/data/adonet/sql/linq/basic-data-types.md
+++ b/docs/framework/data/adonet/sql/linq/basic-data-types.md
@@ -10,7 +10,7 @@ Because LINQ to SQL queries translate to Transact-SQL before they are executed o
## Casting
- Implicit or explicit casts are enabled from a source CLR type to a target CLR type if there is a similar valid conversion within SQL Server. For more information about CLR casting, see [CType Function](../../../../../visual-basic/language-reference/functions/ctype-function.md) (Visual Basic) and [Type-testing and cast operators](../../../../../csharp/language-reference/operators/type-testing-and-cast.md). After conversion, casts change the behavior of operations performed on a CLR expression to match the behavior of other CLR expressions that naturally map to the destination type. Casts are also translatable in the context of inheritance mapping. Objects can be cast to more specific entity subtypes so that their subtype-specific data can be accessed.
+ Implicit or explicit casts are enabled from a source CLR type to a target CLR type if there is a similar valid conversion within SQL Server. For more information about CLR casting, see [CType Function](../../../../../visual-basic/language-reference/operators/ctype-operator.md) (Visual Basic) and [Type-testing and cast operators](../../../../../csharp/language-reference/operators/type-testing-and-cast.md). After conversion, casts change the behavior of operations performed on a CLR expression to match the behavior of other CLR expressions that naturally map to the destination type. Casts are also translatable in the context of inheritance mapping. Objects can be cast to more specific entity subtypes so that their subtype-specific data can be accessed.
## Equality Operators
diff --git a/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md b/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md
new file mode 100644
index 0000000000000..df02696603488
--- /dev/null
+++ b/docs/framework/release-notes/2025/08-26-august-cumulative-update-preview.md
@@ -0,0 +1,45 @@
+---
+title: August 2025 cumulative update preview
+description: Learn about the improvements in the .NET Framework August 2025 cumulative update preview.
+ms.date: 08/26/2025
+---
+# August 2025 cumulative update preview
+
+_Released August 26, 2025_
+
+## Summary of what's new in this release
+
+- [Security improvements](#security-improvements)
+- [Quality and reliability improvements](#quality-and-reliability-improvements)
+
+### Security improvements
+
+There are no new security improvements in this release. This update is cumulative and contains all previously released security improvements.
+
+### Quality and reliability improvements
+
+#### ASP.NET
+
+Addressed an issue in ASP.NET where some error events fail to log properly in the Windows Event log. (*Applies to: .NET Framework 4.8, 4.8.1*)
+
+#### WPF
+
+Addressed an update for GB18030 certificate for Chinese language changes. (*Applies to: .NET Framework 4.8, 4.8.1*)
+
+## Known issues in this release
+
+This release contains no known issues.
+
+## Summary tables
+
+The following table outlines the updates in this release.
+
+| Product version | Cumulative update preview |
+| --- | --- |
+| **Windows 11, version 23H2** | |
+| .NET Framework 3.5, 4.8.1 | [5064403](https://support.microsoft.com/kb/5064403) |
+| **Windows 10, version 22H2** | **[5064794](https://support.microsoft.com/kb/5064794)** |
+| .NET Framework 3.5, 4.8 | [5064399](https://support.microsoft.com/kb/5064399) |
+| .NET Framework 3.5, 4.8.1 | [5064400](https://support.microsoft.com/kb/5064400) |
+
+The operating system row lists a KB that's used for update offering purposes. When the operating system KB is offered, the applicability logic determines the specific .NET Framework update(s) installed. Updates for individual .NET Framework versions are installed based on the version of .NET Framework that is already present on the device. Because of this, the operating system KB is not expected to be listed as installed updates on the device. The expected updates installed are the .NET Framework-specific version updates listed in the previous table.
diff --git a/docs/framework/release-notes/release-notes.md b/docs/framework/release-notes/release-notes.md
index 865d75903c5b2..605ba23595532 100644
--- a/docs/framework/release-notes/release-notes.md
+++ b/docs/framework/release-notes/release-notes.md
@@ -1,7 +1,7 @@
---
title: .NET Framework release information
description: Improvements in the .NET Framework servicing cumulative updates.
-ms.date: 01/28/2025
+ms.date: 08/26/2025
---
# .NET Framework release notes
@@ -11,6 +11,7 @@ The .NET Framework updates include cumulative security and reliability improveme
.NET Framework cumulative update releases are discussed in detail in the following individual release notes:
+* August 26, 2025 - [cumulative update preview](./2025/08-26-august-cumulative-update-preview.md) **New Release**
* July 8, 2025 - [cumulative update](./2025/07-08-july-cumulative-update.md)
* April 22, 2025 - [cumulative update preview](./2025/04-22-april-cumulative-update-preview.md)
* April 8, 2025 - [cumulative update](./2025/04-08-april-cumulative-update.md)
diff --git a/docs/framework/toc.yml b/docs/framework/toc.yml
index c63cd9ea502e0..a405065e2ba44 100644
--- a/docs/framework/toc.yml
+++ b/docs/framework/toc.yml
@@ -699,6 +699,8 @@ items:
href: release-notes/2025/04-22-april-cumulative-update-preview.md
- name: July 2025 cumulative update
href: release-notes/2025/07-08-july-cumulative-update.md
+ - name: August 2025 cumulative update
+ href: release-notes/2025/08-26-august-cumulative-update-preview.md
- name: What's new
href: whats-new/index.md
- name: What's new in accessibility
diff --git a/docs/framework/unmanaged-api/common-data-types-unmanaged-api-reference.md b/docs/framework/unmanaged-api/common-data-types-unmanaged-api-reference.md
index d1b60cb80b556..4550f31a70239 100644
--- a/docs/framework/unmanaged-api/common-data-types-unmanaged-api-reference.md
+++ b/docs/framework/unmanaged-api/common-data-types-unmanaged-api-reference.md
@@ -6,34 +6,34 @@ ms.assetid: e4ab2c4c-9433-4eba-9e9a-096de406cafb
---
# Common Data Types (Unmanaged API Reference)
-This topic lists simple data types used by the unmanaged APIs for the .NET Framework that are defined by C/C++ `typedef` statements. These data types are typically aliases for C/C++ primitive data types. Typically, the values of these data types are opaque; that is, they are returned by a particular function or method so that they can be passed to other functions or methods without modification.
+This article lists simple data types used by the unmanaged APIs for .NET Framework that are defined by C/C++ `typedef` statements. These data types are aliases for C/C++ primitive data types. Typically, the values of these data types are opaque; that is, they are returned by a particular function or method so that they can be passed to other functions or methods without modification.
| Data type | Definition | Defined in | Description |
|-----------------|------------------------------------|---------------|------------------------------------------|
-| AppDomainID | `typedef UINT_PTR AppDomainID;` | corprof.h | The identifier of an application domain. |
-| AssemblyID | `typedef UINT_PTR AssemblyID;` | corprof.h | The identifier of an assembly. |
-| ClassID | `typedef UINT_PTR ClassID;` | corprof.h | The identifier of a managed class. |
-| CLRDATA_ADDRESS | `typedef ULONG64 CLRDATA_ADDRESS;` | clrdata.h | A 64-bit memory address. |
-| CLRDATA_ENUM | `typedef ULONG64 CLRDATA_ADDRESS;` | Not Available | A 64-bit memory address. |
-|CONNID|`typedef DWORD CONNID;`|cordebug.h, mscoree.h|The connection identifier for a thread that is connected to an instance of Microsoft SQL Server.|
-|ContextID|`typedef UINT_PTR ContextID;`|corprof.h|The identifier of the context associated with a particular managed thread.|
-|COR_PRF_ELT_INFO|`typedef UINT_PTR COR_PRF_ELT_INFO;`|corprof.h|An opaque handle that represents information about a particular stack frame.|
-|COR_PRF_FRAME_INFO|`typedef UINT_PTR COR_PRF_FRAME_INFO;`|corprof.h|An opaque handle that points to a stack frame. It is valid only during the callback to which it is passed.|
-|CORDB_ADDRESS|`typedef ULONG64 CORDB_ADDRESS;`|cordebug.h|An address in memory.|
-|CORDB_CONTINUE_STATUS|`typedef DWORD CORDB_CONTINUE_STATUS;`|cordebug.h|The continuation status.|
-|CORDB_REGISTER|`typedef ULONG64 CORDB_REGISTER;`|cordebug.h|The value of a CPU register.|
-|FunctionID|`typedef UINT_PTR FunctionID;`|corprof.h|The identifier of a function or method.|
-|GCHandleID|`typedef UINT_PTR GCHandleID;`|corprof.h|A garbage collection handle.|
-|mdMethodDef|`typedef mdToken mdMethodDef;`|cordebug.h|A method definition token.|
-|mdToken|`typedef UINT32 mdToken;`|corprof.h|A metadata token (a row in a metadata table).|
-|ModuleID|`typedef UINT_PTR ModuleID;`|corprof.h|The identifier of an assembly module.|
-|ObjectID|`typedef UINT_PTR ObjectID;`|corprof.h|The identifier of an object.|
-|PCCOR_SIGNATURE|`typedef SIZE_T PCCOR_SIGNATURE;`|cordebug.h|A pointer to a member or metadata signature.|
-|ProcessID|`typedef UINT_PTR ProcessID;`|corprof.h|The identifier of a managed process.|
-|ReJITID|`typedef UINT_PTR ReJITID;`|corprof.h|The identifier of a jitted function.|
-|SIZE_T|`typedef ULONG_PTR SIZE_T;`|corsym.h|A pointer to a 64-bit memory address.|
-|TASKID|`typedef UINT64 TASKID;`|cordebug.h, mscoree.h|The identifier of an [ICLRTask](../unmanaged-api/hosting/iclrtask-interface.md) instance.|
-|ThreadID|`typedef UINT_PTR ThreadID;`|corprof.h|The identifier of a managed thread.|
+| `AppDomainID` | `typedef UINT_PTR AppDomainID;` | corprof.h | The identifier of an application domain. |
+| `AssemblyID` | `typedef UINT_PTR AssemblyID;` | corprof.h | The identifier of an assembly. |
+| `ClassID` | `typedef UINT_PTR ClassID;` | corprof.h | The identifier of a managed class. |
+| `CLRDATA_ADDRESS` | `typedef ULONG64 CLRDATA_ADDRESS;` | clrdata.h | A 64-bit memory address. |
+| `CLRDATA_ENUM` | `typedef ULONG64 CLRDATA_ADDRESS;` | Not Available | A 64-bit memory address. |
+| `CONNID` | `typedef DWORD CONNID;` |cordebug.h, mscoree.h|The connection identifier for a thread that is connected to an instance of Microsoft SQL Server.|
+| `ContextID` | `typedef UINT_PTR ContextID;` |corprof.h|The identifier of the context associated with a particular managed thread.|
+| `COR_PRF_ELT_INFO` | `typedef UINT_PTR COR_PRF_ELT_INFO;` |corprof.h|An opaque handle that represents information about a particular stack frame.|
+| `COR_PRF_FRAME_INFO` | `typedef UINT_PTR COR_PRF_FRAME_INFO;` |corprof.h|An opaque handle that points to a stack frame. It is valid only during the callback to which it is passed.|
+| `CORDB_ADDRESS` | `typedef ULONG64 CORDB_ADDRESS;` |cordebug.h|An address in memory.|
+| `CORDB_CONTINUE_STATUS` | `typedef DWORD CORDB_CONTINUE_STATUS;` |cordebug.h|The continuation status.|
+| `CORDB_REGISTER` | `typedef ULONG64 CORDB_REGISTER;` |cordebug.h|The value of a CPU register.|
+| `FunctionID` | `typedef UINT_PTR FunctionID;` |corprof.h|The identifier of a function or method.|
+| `GCHandleID` | `typedef UINT_PTR GCHandleID;` |corprof.h|A garbage collection handle.|
+| `mdMethodDef` | `typedef mdToken mdMethodDef;` |cordebug.h|A method definition token.|
+| `mdToken` | `typedef UINT32 mdToken;` |corprof.h|A metadata token (a row in a metadata table).|
+| `ModuleID` | `typedef UINT_PTR ModuleID;` |corprof.h|The identifier of an assembly module.|
+| `ObjectID` | `typedef UINT_PTR ObjectID;` |corprof.h|The identifier of an object.|
+| `PCCOR_SIGNATURE` | `typedef SIZE_T PCCOR_SIGNATURE;` |cordebug.h|A pointer to a member or metadata signature.|
+| `ProcessID` | `typedef UINT_PTR ProcessID;` |corprof.h|The identifier of a managed process.|
+| `ReJITID` | `typedef UINT_PTR ReJITID;` |corprof.h|The identifier of a jitted function.|
+| `SIZE_T` | `typedef ULONG_PTR SIZE_T;` |corsym.h|A pointer to a 64-bit memory address.|
+| `TASKID` | `typedef UINT64 TASKID;` |cordebug.h, mscoree.h|The identifier of an [ICLRTask](../unmanaged-api/hosting/iclrtask-interface.md) instance.|
+| `ThreadID` | `typedef UINT_PTR ThreadID;` |corprof.h|The identifier of a managed thread.|
## See also
diff --git a/docs/framework/unmanaged-api/debugging/codechunkinfo-structure.md b/docs/framework/unmanaged-api/debugging/codechunkinfo-structure.md
deleted file mode 100644
index 707da53fad43b..0000000000000
--- a/docs/framework/unmanaged-api/debugging/codechunkinfo-structure.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-description: "Learn more about: CodeChunkInfo Structure"
-title: "CodeChunkInfo Structure"
-ms.date: "03/30/2017"
-api_name:
- - "CodeChunkInfo"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "CodeChunkInfo"
-helpviewer_keywords:
- - "CodeChunkInfo structure [.NET Framework debugging]"
-ms.assetid: 0f482454-8517-48de-ba7a-d7aedab13bb5
-topic_type:
- - "apiref"
----
-# CodeChunkInfo Structure
-
-Represents a single chunk of code in memory.
-
-## Syntax
-
-```cpp
-typedef struct _CodeChunkInfo {
- CORDB_ADDRESS startAddr;
- ULONG32 length;
-} CodeChunkInfo;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`startAddr`|A `CORDB_ADDRESS` value that specifies the starting address of the chunk.|
-|`length`|The size, in bytes, of the chunk.|
-
-## Remarks
-
- The single chunk of code is a region of native code that is part of a code object such as a function.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [GetCodeChunks Method](icordebugcode2-getcodechunks-method.md)
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-active-function-structure.md b/docs/framework/unmanaged-api/debugging/cor-active-function-structure.md
deleted file mode 100644
index e73ae5abc9787..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-active-function-structure.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-description: "Learn more about: COR_ACTIVE_FUNCTION Structure"
-title: "COR_ACTIVE_FUNCTION Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_ACTIVE_FUNCTION"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_ACTIVE_FUNCTION"
-helpviewer_keywords:
- - "COR_ACTIVE_FUNCTION structure [.NET Framework debugging]"
-ms.assetid: ed86185f-2152-459c-961f-10c06d62e83f
-topic_type:
- - "apiref"
----
-# COR_ACTIVE_FUNCTION Structure
-
-Contains information about the functions that are currently active in a thread's frames. This structure is used by the [ICorDebugThread2::GetActiveFunctions](icordebugthread2-getactivefunctions-method.md) method.
-
-## Syntax
-
-```cpp
-typedef struct _COR_ACTIVE_FUNCTION {
- ICorDebugAppDomain *pAppDomain;
- ICorDebugModule *pModule;
- ICorDebugFunction2 *pFunction;
- ULONG32 ilOffset;
- ULONG32 flags;
-} COR_ACTIVE_FUNCTION;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`pAppDomain`|Pointer to the application domain owner of the `ilOffset` field.|
-|`pModule`|Pointer to the module owner of the `ilOffset` field.|
-|`pFunction`|Pointer to the function owner of the `ilOffset` field.|
-|`ilOffset`|The common intermediate language (CIL) offset of the frame.|
-|`flags`|Reserved for future extensibility.|
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-array-layout-structure.md b/docs/framework/unmanaged-api/debugging/cor-array-layout-structure.md
deleted file mode 100644
index 48b76b619cb5c..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-array-layout-structure.md
+++ /dev/null
@@ -1,70 +0,0 @@
----
-description: "Learn more about: COR_ARRAY_LAYOUT Structure"
-title: "COR_ARRAY_LAYOUT Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_ARRAY_LAYOUT"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_ARRAY_LAYOUT"
-helpviewer_keywords:
- - "COR_DEBUG_IL_TO_NATIVE_MAP structure [.NET Framework debugging]"
-ms.assetid: aa20ac3d-6f60-4aa2-91c5-f3a86f82eba8
-topic_type:
- - "apiref"
----
-# COR_ARRAY_LAYOUT Structure
-
-Provides information about the layout of an array object in memory.
-
-## Syntax
-
-```cpp
-typedef struct COR_ARRAY_LAYOUT {
- COR_TYPEID componentID;
- CorElementType componentType;
- ULONG32 firstElementOffset;
- ULONG32 elementSize;
- ULONG32 countOffset;
- ULONG32 rankSize;
- ULONG32 numRanks;
- ULONG32 rankOffset;
-} COR_ARRAY_LAYOUT;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`componentID`|The identifier of the type of objects that the array contains.|
-|`componentType`|A CorElementType enumeration value that indicates whether the component is a garbage collection reference, a value class, or a primitive.|
-|`firstElementOffset`|The offset to the first element in the array.|
-|`elementSize`|The size of each element.|
-|`countOffset`|The offset to the number of elements in the array.|
-|`rankSize`|The size of the rank, in bytes.|
-|`numRanks`|The number of ranks in the array.|
-|`rankOffset`|The offset at which the ranks start.|
-
-## Remarks
-
- The `rankSize` field specifies the size of a rank in a multi-dimensional array. It is accurate for single-dimensional arrays as well.
-
- The value of `numRanks` is 1 for a single-dimensional array and `N` for a multi-dimensional array of `N` dimensions.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-debug-il-to-native-map-structure.md b/docs/framework/unmanaged-api/debugging/cor-debug-il-to-native-map-structure.md
deleted file mode 100644
index df8e4fb1ec58a..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-debug-il-to-native-map-structure.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-description: "Learn more about: COR_DEBUG_IL_TO_NATIVE_MAP Structure"
-title: "COR_DEBUG_IL_TO_NATIVE_MAP Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_DEBUG_IL_TO_NATIVE_MAP"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_DEBUG_IL_TO_NATIVE_MAP"
-helpviewer_keywords:
- - "COR_DEBUG_IL_TO_NATIVE_MAP structure [.NET Framework debugging]"
-ms.assetid: 06f3b504-085f-4142-934a-25381fe23d4c
-topic_type:
- - "apiref"
----
-# COR_DEBUG_IL_TO_NATIVE_MAP Structure
-
-Contains the offsets that are used to map common intermediate language (CIL) code to native code.
-
-## Syntax
-
-```cpp
-typedef struct COR_DEBUG_IL_TO_NATIVE_MAP {
- ULONG32 ilOffset;
- ULONG32 nativeStartOffset;
- ULONG32 nativeEndOffset;
-} COR_DEBUG_IL_TO_NATIVE_MAP;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`ilOffset`|The offset of the CIL code.|
-|`nativeStartOffset`|The offset of the start of the native code.|
-|`nativeEndOffset`|The offset of the end of the native code.|
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorProf.idl, CorDebug.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [GetILToNativeMapping Method](../profiling/icorprofilerinfo-getiltonativemapping-method.md)
-- [GetILToNativeMapping Method](icordebugcode-getiltonativemapping-method.md)
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-debug-step-range-structure.md b/docs/framework/unmanaged-api/debugging/cor-debug-step-range-structure.md
deleted file mode 100644
index 5e90fc21445b6..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-debug-step-range-structure.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-description: "Learn more about: COR_DEBUG_STEP_RANGE Structure"
-title: "COR_DEBUG_STEP_RANGE Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_DEBUG_STEP_RANGE"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_DEBUG_STEP_RANGE"
-helpviewer_keywords:
- - "COR_DEBUG_STEP_RANGE structure [.NET Framework debugging]"
-ms.assetid: 8809d00e-beaa-4dcf-b4e8-e89d0a5406b7
-topic_type:
- - "apiref"
----
-# COR_DEBUG_STEP_RANGE Structure
-
-Contains the offset information for a range of code.
-
- This structure is used by the [ICorDebugStepper::StepRange](icordebugstepper-steprange-method.md) method.
-
-## Syntax
-
-```cpp
-typedef struct {
- ULONG32 startOffset;
- ULONG32 endOffset;
-} COR_DEBUG_STEP_RANGE;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`startOffset`|The offset of the beginning of the range.|
-|`endOffset`|The offset of the end of the range.|
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [StepRange Method](icordebugstepper-steprange-method.md)
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-field-structure.md b/docs/framework/unmanaged-api/debugging/cor-field-structure.md
deleted file mode 100644
index d50240d9191cf..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-field-structure.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-description: "Learn more about: COR_FIELD Structure"
-title: "COR_FIELD Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_FIELD"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_FIELD"
-helpviewer_keywords:
- - "COR_FIELD structure [.NET Framework debugging]"
-ms.assetid: c0822423-a9df-4961-950d-50dcc152f863
-topic_type:
- - "apiref"
----
-# COR_FIELD Structure
-
-Provides information about a field in an object.
-
-## Syntax
-
-```cpp
-typedef struct COR_FIELD{
- mdFieldDef token;
- ULONG32 offset;
- COR_TYPEID id;
- CorElementType fieldType;
-} COR_FIELD;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`token`|An `mdFieldDef` token that can be used to get field information.|
-|`offset`|The offset, in bytes, to the field data in the object.|
-|`id`|A [COR_TYPEID](cor-typeid-structure.md) value that identifies the type of this field.|
-|`fieldType`|A CorElementType enumeration value that indicates the type of the field.|
-
-## Remarks
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-gc-reference-structure.md b/docs/framework/unmanaged-api/debugging/cor-gc-reference-structure.md
deleted file mode 100644
index b518dfd01d3fd..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-gc-reference-structure.md
+++ /dev/null
@@ -1,74 +0,0 @@
----
-description: "Learn more about: COR_GC_REFERENCE Structure"
-title: "COR_GC_REFERENCE Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_GC_REFERENCE"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_GC_REFERENCE"
-helpviewer_keywords:
- - "COR_GC_REFERENCE structure [.NET Framework debugging]"
-ms.assetid: 162e8179-0cd4-4110-8f06-5f387698bd62
-topic_type:
- - "apiref"
----
-# COR_GC_REFERENCE Structure
-
-Contains information about an object that is to be garbage-collected.
-
-## Syntax
-
-```cpp
-typedef struct _COR_GC_REFERENCE {
- ICorDebugAppDomain *domain;
- ICorDebugValue *location;
- CorGCReferenceType type;
- UINT64 extraData;
-} COR_GC_REFERENCE;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`domain`|A pointer to the application domain to which the handle or object belongs. Its value may be `null`.|
-|`location`|Either an ICorDebugValue or an ICorDebugReferenceValue interface that corresponds to the object to be garbage-collected.|
-|`type`|A [CorGCReferenceType](corgcreferencetype-enumeration.md) enumeration value that indicates where the root came from. For more information, see the Remarks section.|
-|`extraData`|Additional data about the object to be garbage-collected. This information depends on the source of the object, as indicated by the `type` field. For more information, see the Remarks section.|
-
-## Remarks
-
- The `type` field is a [CorGCReferenceType](corgcreferencetype-enumeration.md) enumeration value that indicates where the reference came from. A particular `COR_GC_REFERENCE` value can reflect any of the following kinds of managed objects:
-
-- Objects from all managed stacks (`CorGCReferenceType.CorReferenceStack`). This includes live references in managed code, as well as objects created by the common language runtime.
-
-- Objects from the handle table (`CorGCReferenceType.CorHandle*`). This includes strong references (`HNDTYPE_STRONG` and `HNDTYPE_REFCOUNT`) and static variables in a module.
-
-- Objects from the finalizer queue (`CorGCReferenceType.CorReferenceFinalizer`). The finalizer queue roots objects until the finalizer has run.
-
- The `extraData` field contains extra data depending on the source (or type) of the reference. Possible values are:
-
-- `DependentSource`. If the `type` is `CorGCReferenceType.CorHandleStrongDependent`, this field is the object that, if alive, roots the object to be garbage-collected at `COR_GC_REFERENCE.Location`.
-
-- `RefCount`. If the `type` is `CorGCReferenceType.CorHandleStrongRefCount`, this field is the reference count of the handle.
-
-- `Size`. If the `type` is `CorGCReferenceType.CorHandleStrongSizedByref`, this field is the last size of the object tree for which the garbage collector calculated the object roots. Note that this calculation is not necessarily up to date.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-heapinfo-structure.md b/docs/framework/unmanaged-api/debugging/cor-heapinfo-structure.md
deleted file mode 100644
index 3bd48a60f66a7..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-heapinfo-structure.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-description: "Learn more about: COR_HEAPINFO Structure"
-title: "COR_HEAPINFO Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_HEAPINFO"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_HEAPINFO"
-helpviewer_keywords:
- - "COR_HEAPINFO structure [.NET Framework debugging]"
-ms.assetid: bfb2cd39-3e0b-4d51-ba0c-f009755c1456
-topic_type:
- - "apiref"
----
-# COR_HEAPINFO Structure
-
-Provides general information about the garbage collection heap, including whether it is enumerable.
-
-## Syntax
-
-```cpp
-typedef struct _COR_HEAPINFO {
- BOOL areGCStructuresValid;
- DWORD pointerSize;
- DWORD numHeaps;
- BOOL concurrent;
- CorDebugGCType gcType;
-} COR_HEAPINFO;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`areGCStructuresValid`|`true` if garbage collection structures are valid and the heap can be enumerated; otherwise, `false`.|
-|`pointerSize`|The size, in bytes, of pointers on the target architecture.|
-|`numHeaps`|The number of logical garbage collection heaps in the process.|
-|`concurrent`|`TRUE` if concurrent (background) garbage collection is enabled; otherwise, `FALSE`.|
-|`gcType`|A member of the [CorDebugGCType](cordebuggctype-enumeration.md) enumeration that indicates whether the garbage collector is running on a workstation or a server.|
-
-## Remarks
-
- An instance of the `COR_HEAPINFO` structure is returned by calling the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method.
-
- Before enumerating objects on the garbage collection heap, you must always check the `areGCStructuresValid` field to ensure that the heap is in an enumerable state. For more information, see the [ICorDebugProcess5::GetGCHeapInformation](icordebugprocess5-getgcheapinformation-method.md) method.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-heapobject-structure.md b/docs/framework/unmanaged-api/debugging/cor-heapobject-structure.md
deleted file mode 100644
index b8186a99f7ad3..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-heapobject-structure.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-description: "Learn more about: COR_HEAPOBJECT Structure"
-title: "COR_HEAPOBJECT Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_HEAPOBJECT"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_HEAPOBJECT"
-helpviewer_keywords:
- - "COR_HEAPOBJECT structure [.NET Framework debugging]"
-ms.assetid: a92fdf95-492b-49ae-a741-2186e5c1d7c5
-topic_type:
- - "apiref"
----
-# COR_HEAPOBJECT Structure
-
-Provides information about an object on the managed heap.
-
-## Syntax
-
-```cpp
-typedef struct _COR_HEAPOBJECT {
- CORDB_ADDRESS address;
- ULONG64 size;
- COR_TYPEID type;
-} COR_HEAPOBJECT;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`address`|The address of the object in memory.|
-|`size`|The total size of the object, in bytes.|
-|`type`|A [COR_TYPEID](cor-typeid-structure.md) token that represents the type of the object.|
-
-## Remarks
-
- `COR_HEAPOBJECT` instances can be retrieved by enumerating an [ICorDebugHeapEnum](icordebugheapenum-interface.md) interface object that is populated by calling the [ICorDebugProcess5::EnumerateHeap](icordebugprocess5-enumerateheap-method.md) method.
-
- A `COR_HEAPOBJECT` instance provides information either about a live object on the managed heap, or about an object that is not rooted by any object but has not yet been collected by the garbage collector.
-
- For better performance, the `COR_HEAPOBJECT.address` field is a `CORDB_ADDRESS` value rather than the ICorDebugValue interface value used in much of the debugging API. To obtain an ICorDebugValue object for a given object address, you can pass the `CORDB_ADDRESS` value to the [ICorDebugProcess5::GetObject](icordebugprocess5-getobject-method.md) method.
-
- For better performance, the `COR_HEAPOBJECT.type` field is a `COR_TYPEID` value rather than the ICorDebugType interface value used in much of the debugging API. To obtain an ICorDebugType object for a given type ID, you can pass the `COR_TYPEID` value to the [ICorDebugProcess5::GetTypeForTypeID](icordebugprocess5-gettypefortypeid-method.md) method.
-
- The `COR_HEAPOBJECT` structure includes a reference-counted COM interface. If you retrieve a `COR_HEAPOBJECT` instance from the enumerator by calling the [ICorDebugHeapEnum::Next](icordebugheapenum-next-method.md) method, you must subsequently release the reference.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-il-map-structure.md b/docs/framework/unmanaged-api/debugging/cor-il-map-structure.md
deleted file mode 100644
index 6090f9f6223e1..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-il-map-structure.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-description: "Learn more about: COR_IL_MAP Structure"
-title: "COR_IL_MAP Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_IL_MAP"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_IL_MAP"
-helpviewer_keywords:
- - "COR_IL_MAP structure [.NET Framework debugging]"
-ms.assetid: 534ebc17-963d-4b26-8375-8cd940281db3
-topic_type:
- - "apiref"
----
-# COR_IL_MAP Structure
-
-Specifies changes in the relative offset of a function.
-
-## Syntax
-
-```cpp
-typedef struct _COR_IL_MAP {
- ULONG32 oldOffset;
- ULONG32 newOffset;
- BOOL fAccurate;
-} COR_IL_MAP;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`oldOffset`|The old common intermediate language (CIL) offset relative to the beginning of the function.|
-|`newOffset`|The new CIL offset relative to the beginning of the function.|
-|`fAccurate`|`true` if the mapping is known to be accurate; otherwise, `false`.|
-
-## Remarks
-
- The format of the map is as follows: The debugger will assume that `oldOffset` refers to an CIL offset within the original, unmodified CIL code. The `newOffset` parameter refers to the corresponding CIL offset within the new, instrumented code.
-
- For stepping to work properly, the following requirements should be met:
-
-- The map should be sorted in ascending order.
-
-- Instrumented CIL code should not be reordered.
-
-- Original CIL code should not be removed.
-
-- The map should include entries to map all the sequence points from the program database (PDB) file.
-
- The map does not interpolate missing entries. The following example shows a map and its results.
-
- Map:
-
-- 0 old offset, 0 new offset
-
-- 5 old offset, 10 new offset
-
-- 9 old offset, 20 new offset
-
- Results:
-
-- An old offset of 0, 1, 2, 3, or 4 will be mapped to a new offset of 0.
-
-- An old offset of 5, 6, 7, or 8 will be mapped to new offset 10.
-
-- An old offset of 9 or higher will be mapped to new offset 20.
-
-- A new offset of 0, 1, 2, 3, 4, 5, 6, 7, 8, or 9 will be mapped to old offset 0.
-
-- A new offset of 10, 11, 12, 13, 14, 15, 16, 17, 18, or 19 will be mapped to old offset 5.
-
-- A new offset of 20 or higher will be mapped to old offset 9.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorProf.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-pub-enumprocess-enumeration.md b/docs/framework/unmanaged-api/debugging/cor-pub-enumprocess-enumeration.md
deleted file mode 100644
index 62bf019290c9f..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-pub-enumprocess-enumeration.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-description: "Learn more about: COR_PUB_ENUMPROCESS Enumeration"
-title: "COR_PUB_ENUMPROCESS Enumeration"
-ms.date: "03/30/2017"
-api_name:
- - "COR_PUB_ENUMPROCESS"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_PUB_ENUMPROCESS"
-helpviewer_keywords:
- - "COR_PUB_ENUMPROCESS enumeration [.NET Framework debugging]"
-ms.assetid: 5d3ada6e-feea-47da-a7ed-b664107c137f
-topic_type:
- - "apiref"
----
-# COR_PUB_ENUMPROCESS Enumeration
-
-Identifies the type of process to be enumerated.
-
-## Syntax
-
-```cpp
-typedef enum {
- COR_PUB_MANAGEDONLY = 0x00000001
-} COR_PUB_ENUMPROCESS;
-```
-
-## Members
-
-|Member name|Description|
-|-----------------|-----------------|
-|`COR_PUB_MANAGEDONLY`|A managed process.|
-
-## Remarks
-
- The current version of the unmanaged debugging API enumerates only managed processes.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorPub.idl, CorPub.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-segment-structure.md b/docs/framework/unmanaged-api/debugging/cor-segment-structure.md
deleted file mode 100644
index 2bf5793d3a072..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-segment-structure.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-description: "Learn more about: COR_SEGMENT Structure"
-title: "COR_SEGMENT Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_SEGMENT"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_SEGMENT"
-helpviewer_keywords:
- - "COR_SEGMENT structure [.NET Framework debugging]"
-ms.assetid: 93aeecb9-7fef-4545-8daf-f566dfc47084
-topic_type:
- - "apiref"
----
-# COR_SEGMENT Structure
-
-Contains information about a region of memory in the managed heap.
-
-## Syntax
-
-```cpp
-typedef struct _COR_SEGMENT {
- CORDB_ADDRESS start;
- CORDB_ADDRESS end;
- CorDebugGenerationTypes gen;
- ULONG heap;
-} COR_SEGMENT;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`start`|The starting address of the memory region.|
-|`end`|The ending address of the memory region.|
-|`gen`|A [CorDebugGenerationTypes](cordebuggenerationtypes-enumeration.md) enumeration member that indicates the generation of the memory region.|
-|`heap`|The heap number in which the memory region resides. See the Remarks section for more information.|
-
-## Remarks
-
- The `COR_SEGMENTS` structure represents a region of memory in the managed heap. `COR_SEGMENTS` objects are members of the [ICorDebugHeapRegionEnum](icordebugheapsegmentenum-interface.md) collection object, which is populated by calling the [ICorDebugProcess5::EnumerateHeapRegions](icordebugprocess5-enumerateheapregions-method.md) method.
-
- The `heap` field is the processor number, which corresponds to the heap being reported. For workstation garbage collectors, its value is always zero, because workstations have only one garbage collection heap. For server garbage collectors, its value corresponds to the processor the heap is attached to. Note that there may be more or fewer garbage collection heaps than there are actual processors due to the implementation details of the garbage collector.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v45plus](../../../../includes/net-current-v45plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cor-version-structure.md b/docs/framework/unmanaged-api/debugging/cor-version-structure.md
deleted file mode 100644
index 7b28c1032aab3..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cor-version-structure.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-description: "Learn more about: COR_VERSION Structure"
-title: "COR_VERSION Structure"
-ms.date: "03/30/2017"
-api_name:
- - "COR_VERSION"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "COR_VERSION"
-helpviewer_keywords:
- - "COR_VERSION structure [.NET Framework debugging]"
-ms.assetid: 5efaee1c-a001-4c73-9525-4160f4c71567
-topic_type:
- - "apiref"
----
-# COR_VERSION Structure
-
-Stores the standard four-part version number of the common language runtime.
-
-## Syntax
-
-```cpp
-typedef struct _COR_VERSION {
- DWORD dwMajor;
- DWORD dwMinor;
- DWORD dwBuild;
- DWORD dwSubBuild;
-} COR_VERSION;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`dwMajor`|The major version number.|
-|`dwMinor`|The minor version number.|
-|`dwBuild`|The build number.|
-|`dwSubBuild`|The sub-build number.|
-
-## Remarks
-
- If the version number is 1.0.3705.288, 1 is the major version number, 0 is the minor version number, 3705 is the build number, and 288 is the sub-build number.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v20plus](../../../../includes/net-current-v20plus-md.md)]
-
-## See also
-
-- [Debugging Structures](debugging-structures.md)
-- [Debugging](index.md)
diff --git a/docs/framework/unmanaged-api/debugging/cordebugchainreason-enumeration.md b/docs/framework/unmanaged-api/debugging/cordebugchainreason-enumeration.md
deleted file mode 100644
index b4fca41c11f98..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cordebugchainreason-enumeration.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-description: "Learn more about: CorDebugChainReason Enumeration"
-title: "CorDebugChainReason Enumeration"
-ms.date: "03/30/2017"
-api_name:
- - "CorDebugChainReason"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-f1_keywords:
- - "CorDebugChainReason"
-helpviewer_keywords:
- - "CorDebugChainReason enumeration [.NET Framework debugging]"
-ms.assetid: c915da51-50b2-41df-841a-2b971f4d0975
-topic_type:
- - "apiref"
----
-# CorDebugChainReason Enumeration
-
-Indicates the reason or reasons for the initiation of a call chain.
-
-## Syntax
-
-```cpp
-typedef enum CorDebugChainReason {
- CHAIN_NONE = 0x000,
- CHAIN_CLASS_INIT = 0x001,
- CHAIN_EXCEPTION_FILTER = 0x002,
- CHAIN_SECURITY = 0x004,
- CHAIN_CONTEXT_POLICY = 0x008,
- CHAIN_INTERCEPTION = 0x010,
- CHAIN_PROCESS_START = 0x020,
- CHAIN_THREAD_START = 0x040,
- CHAIN_ENTER_MANAGED = 0x080,
- CHAIN_ENTER_UNMANAGED = 0x100,
- CHAIN_DEBUGGER_EVAL = 0x200,
- CHAIN_CONTEXT_SWITCH = 0x400,
- CHAIN_FUNC_EVAL = 0x800
-} CorDebugChainReason;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`CHAIN_NONE`|No call chain has been initiated.|
-|`CHAIN_CLASS_INIT`|The chain was initiated by a constructor.|
-|`CHAIN_EXCEPTION_FILTER`|The chain was initiated by an exception filter.|
-|`CHAIN_SECURITY`|The chain was initiated by code that enforces security.|
-|`CHAIN_CONTEXT_POLICY`|The chain was initiated by a context policy.|
-|`CHAIN_INTERCEPTION`|Not used.|
-|`CHAIN_PROCESS_START`|Not used.|
-|`CHAIN_THREAD_START`|The chain was initiated by the start of a thread execution.|
-|`CHAIN_ENTER_MANAGED`|The chain was initiated by entry into managed code.|
-|`CHAIN_ENTER_UNMANAGED`|The chain was initiated by entry into unmanaged code.|
-|`CHAIN_DEBUGGER_EVAL`|Not used.|
-|`CHAIN_CONTEXT_SWITCH`|Not used.|
-|`CHAIN_FUNC_EVAL`|The chain was initiated by a function evaluation.|
-
-## Remarks
-
- Use the [ICorDebugChain::GetReason](icordebugchain-getreason-method.md) method to ascertain the reasons for the initiation of a call chain.
-
-## Requirements
-
- **Platforms:** See [System Requirements](../../get-started/system-requirements.md).
-
- **Header:** CorDebug.idl, CorDebug.h
-
- **Library:** CorGuids.lib
-
- **.NET Framework Versions:** [!INCLUDE[net_current_v10plus](../../../../includes/net-current-v10plus-md.md)]
-
-## See also
-
-- [Debugging Enumerations](debugging-enumerations.md)
diff --git a/docs/framework/unmanaged-api/debugging/cordebugcodeinvokekind-enumeration.md b/docs/framework/unmanaged-api/debugging/cordebugcodeinvokekind-enumeration.md
deleted file mode 100644
index 8a8834d6f6b0e..0000000000000
--- a/docs/framework/unmanaged-api/debugging/cordebugcodeinvokekind-enumeration.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-description: "Learn more about: CorDebugCodeInvokeKind Enumeration"
-title: "CorDebugCodeInvokeKind Enumeration"
-ms.date: "03/30/2017"
-api_name:
- - "CorDebugCodeInvokeKind"
-api_location:
- - "mscordbi.dll"
-api_type:
- - "COM"
-ms.assetid: e795e6a2-1008-4a81-af88-d777888e942e
-topic_type:
- - "apiref"
----
-# CorDebugCodeInvokeKind Enumeration
-
-Describes how an exported function invokes managed code.
-
-## Syntax
-
-```cpp
-typedef enum CorDebugCodeInvokeKind
-{
- CODE_INVOKE_KIND_NONE,
- CODE_INVOKE_KIND_RETURN,
- CODE_INVOKE_KIND_TAILCALL,
-} CorDebugCodeInvokeKind;
-```
-
-## Members
-
-|Member|Description|
-|------------|-----------------|
-|`CODE_INVOKE_KIND_NONE`|If any managed code is invoked by this method, it will have to be located by explicit events or breakpoints later.