DkmCustomRuntimeInstance Sınıf

Tanım

Hedef işlemde yürütülen özel yürütme ortamını temsil eder.

public ref class DkmCustomRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("83e44dea-5cac-3e7d-c980-118728716623")]
public class DkmCustomRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("83e44dea-5cac-3e7d-c980-118728716623")>]
type DkmCustomRuntimeInstance = class
    inherit DkmRuntimeInstance
Public Class DkmCustomRuntimeInstance
Inherits DkmRuntimeInstance
Devralma
Öznitelikler

Özellikler

Capabilities

Çalışma zamanı özellikleri numaralandırması.

         Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.
(Devralındığı yer: DkmRuntimeInstance)
Connection

Bu, izleyici ve IDE arasındaki bağlantıyı temsil eder. İzleyici IDE ile aynı işlemde çalışıyorsa bir yerel bağlantı olabilir veya uzak bir bağlantı olabilir. İzleme işleminde yalnızca bir bağlantı vardır.

(Devralındığı yer: DkmRuntimeInstance)
Id

Bir işlem içindeki Dkmruntimeınstance nesnesini tanımlar.

(Devralındığı yer: DkmRuntimeInstance)
IsUnloaded

Bu nesne için bir ' bellekten kaldırılmış ' olay ortaya çıktığında true döndürür (örnek: DkmThread:: Unload çağırılır) veya nesne kapalıysa. Bu durumun, eşitleme olmadan, bu durum denetlenirken kullanılması gerektiğine dikkat edin; döndürülen durum artık, bu durum okunduktan sonraki yönergeyi doğru olmayabilir.

(Devralındığı yer: DkmDataContainer)
ParentRuntime

Seçim Başka bir çalışma zamanının üzerine uygulanan çalışma zamanları için bu, isteğe bağlı olarak mantıksal üst öğeyi sağlamak için kullanılabilir. Bu, alt çalışma zamanının hizmeti uygulamadığından üst öğeden hizmet istemek için kullanılabilir. Bu, şu anda yalnızca alt çalışma zamanı yığın üzerinde gezinmediği zaman, koşullu bir kesme noktasını değerlendirmek için en üstteki yığın çerçevesini almak üzere kullanılır.

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

(Devralındığı yer: DkmRuntimeInstance)
Process

DkmProcess, ayıklanmakta olan bir hedef işlemi temsil eder. Hata ayıklayıcı, hata ayıklama, bu nedenle temel hata ayıklama birimidir. DkmProcess, bir sistem işlemini veya mini dökümler gibi bir sanal işlemi temsil edebilir.

(Devralındığı yer: DkmRuntimeInstance)
TagValue

Dkmruntimeınstance bir soyut temel sınıftır. Bu Enum, bu nesnenin bir örneği olan türetilmiş sınıfı gösterir.

(Devralındığı yer: DkmRuntimeInstance)

Yöntemler

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Aftersteppingyönetimi, Adımlama yönetimi tamamlandıktan sonra, bir sonraki çalışma zamanı örneği adımla çalışmaya başladıktan sonra, eski denetim çalışma zamanı örneği üzerinde Adımlama Yöneticisi tarafından çağırılır. Bu, başka bir çalışma zamanı denetimi gerçekleştiyse çalışma zamanlarının atlama durumunu temizlemesini sağlar. Geçerli konumu talep eden başka bir çalışma zamanı İzleyicisi yoksa, özgün izleyicinin adımı tamamlaması gerekir. Bu, Newcontrollingruntimeınstance tarafından null olarak belirtilir. Örneğin, bir çalışma zamanı örneği, semboller olmadan bir yerde bir adım olduğunda ve başka çalışma zamanı denetimi gerçekleşmeksizin geri dönmek için tercih edebilir.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

Yeni bir Stepper etkinleştirilmeden önce BeforeEnableNewStepper Adımlama Manager tarafından çağırılır. Bu, çalışma zamanlarının, adım öncesi işlev değerlendirmeleri gerçekleştirmek gibi gerekebilecek herhangi bir başlatma yapabilme özelliğini sağlar.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
Create(DkmProcess, DkmRuntimeInstanceId, DkmDataItem)

Bir hata ayıklama izleyiciden yeni bir çalışma zamanı örnek nesnesi oluşturur. Bir hata ayıklama İzleyicisi yeni bir çalışma zamanı örneğinin yüklendiğini algıladığında (örneğin, ilgili çalışma zamanı dll 'si hedef işlemde yüklendiğinde), bu yöntemin olay iş parçacığından çağrılması gerekir.

Bu yöntem, bir Runtimeınstanceload olayı gönderir.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, DkmDataItem)

Bir hata ayıklama izleyiciden yeni bir çalışma zamanı örnek nesnesi oluşturur. Bir hata ayıklama İzleyicisi yeni bir çalışma zamanı örneğinin yüklendiğini algıladığında (örneğin, ilgili çalışma zamanı dll 'si hedef işlemde yüklendiğinde), bu yöntemin olay iş parçacığından çağrılması gerekir.

Bu yöntem, bir Runtimeınstanceload olayı gönderir.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

Disassemble(DkmInstructionAddress, UInt32)

Hata ayıklanan çalışma zamanında bir adres aralığını ayır.

Konum kısıtlaması: API 'nin bir IDE bileşeninden çağrılması gerekir (bileşen düzeyi > 100.000).

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

(Devralındığı yer: DkmRuntimeInstance)
FindModulesByName(String)

Bu yöntem, belirtilen adla eşleşen tüm modülleri döndürür.

(Devralındığı yer: DkmRuntimeInstance)
GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

Getcodepathsınrange, belirli Il aralığındaki kod yollarını almak için çağrılır.

         Konum kısıtlaması: yalnızca sunucu tarafında çağrılmalıdır.

         Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.
(Devralındığı yer: DkmRuntimeInstance)
GetDataItem<T>()

Bu kapsayıcı örneğine eklenmiş olan 'T ' öğesinin örneğini alır. Bu kapsayıcı bir 'T ' içermiyorsa, bu işlev null döndürür.

(Devralındığı yer: DkmDataContainer)
GetInstructionAddress(DkmInstructionAddress, Int32)

Başlangıç adresine göre KTH yönergesinin adresini döndürür. Sabit uzunluklu yönerge kümeleri için bu basit aritmetik bir işlemdir. Bu adresi edinmek için değişken uzunlukta yönerge kümeleri için ters ayrıştırma gerekir.

Konum kısıtlaması: API 'nin bir IDE bileşeninden çağrılması gerekir (bileşen düzeyi > 100.000).

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

(Devralındığı yer: DkmRuntimeInstance)
GetManagedHeapSamplers()

Getmanagedheapörnekleyiciler, bu Dkmruntimeınstance nesnesinin Dkmmanagedheapörnekleyici öğelerini numaralandırır.

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

(Devralındığı yer: DkmRuntimeInstance)
GetManagedHeapWalkers()

Getmanagedheapwalseçicileri, bu Dkmruntimeınstance nesnesinin Dkmmanagedheapdenetçisi öğelerini numaralandırır.

Bu API, Visual Studio 12 RTM (DkmApiVersion. VS12RTM) sürümünde sunulmuştur.

(Devralındığı yer: DkmRuntimeInstance)
GetModuleInstances()

GetModuleInstances bu Dkmruntimeınstance nesnesinin Dkmmoduleınstance öğelerini numaralandırır.

(Devralındığı yer: DkmRuntimeInstance)
GetScriptDocumentTreeNodes()

GetScriptDocumentTreeNodes, bu Dkmruntimeınstance nesnesinin DkmScriptDocumentTreeNode öğelerini numaralandırır.

(Devralındığı yer: DkmRuntimeInstance)
GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>)

Semboller yerine çalışma zamanı bilgilerini kullanarak belirtilen adresin sembol adını alır. Şu anda bu yalnızca CLR çalışma zamanı örneği için uygulanır.

Bu yöntem, belirtilen çalışma listesine yeni bir iş öğesi ekler ve iş öğesi eklendikten sonra döndürülür. İş öğesinin gerçek işlenmesi zaman uyumsuzdur. Çağrıyı yapan, isteğin tamamlanma yordamı aracılığıyla tamamlandığını bilgilendirilir.

Konum kısıtlaması: API 'nin bir IDE bileşeninden çağrılması gerekir (bileşen düzeyi > 100.000).

Bu API, Visual Studio 16 güncelleştirme 7 ' de (DkmApiVersion. VS16Update7) tanıtılmıştır.

(Devralındığı yer: DkmRuntimeInstance)
GetTaskProviders()

GetTaskProviders, bu Dkmruntimeınstance nesnesinin DkmTaskProvider öğelerini numaralandırır.

(Devralındığı yer: DkmRuntimeInstance)
GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>)

Görüntü adı ve Iş parçacığı kategorisi dahil olmak üzere Iş parçacığının görüntü özelliklerini alır.

Bu yöntem, belirtilen çalışma listesine yeni bir iş öğesi ekler ve iş öğesi eklendikten sonra döndürülür. İş öğesinin gerçek işlenmesi zaman uyumsuzdur. Çağrıyı yapan, isteğin tamamlanma yordamı aracılığıyla tamamlandığını bilgilendirilir.

Konum kısıtlaması: API 'nin bir IDE bileşeninden çağrılması gerekir (bileşen düzeyi > 100.000).

(Devralındığı yer: DkmRuntimeInstance)
GetThreadName(DkmThread)

Bir iş parçacığının adını hesaplama.

(Devralındığı yer: DkmRuntimeInstance)
GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>)

Bir iş parçacığının adını hesaplama.

Bu yöntem, belirtilen çalışma listesine yeni bir iş öğesi ekler ve iş öğesi eklendikten sonra döndürülür. İş öğesinin gerçek işlenmesi zaman uyumsuzdur. Çağrıyı yapan, isteğin tamamlanma yordamı aracılığıyla tamamlandığını bilgilendirilir.

(Devralındığı yer: DkmRuntimeInstance)
NotifyStepComplete(DkmStepper)

Bir adım tamamlandığında denetim olmayan tüm çalışma zamanı örneklerinde, Notifysteptamamlamayı atlama Yöneticisi tarafından çağırılır.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
OnLoadComplete()

Bu yöntem, bir Runtimeınstanceloadtamamlanmış olayını yükseltmek için bir hata ayıklama İzleyicisi tarafından çağırılır. Runtimeınstanceloadtamamlanmıştır Şu anda yalnızca yerel çalışma zamanı örneği için gönderilir, ancak bu durum gelecekte değişebilir. Çalışma zamanı örneğindeki ilk modül kümesi için Dkmmoduleınstance nesneleri oluşturulduktan sonra olay verilir.

Bu yöntem yalnızca nesneyi oluşturan bileşen tarafından çağrılabilir.

Bu API, Visual Studio 12 güncelleştirme 2 ' de (DkmApiVersion. VS12Update2) tanıtılmıştı.

(Devralındığı yer: DkmRuntimeInstance)
OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Onnewcontrollingruntimeınstance, adım yönetimi yeni bir denetleme çalışma zamanı örneği seçtikten sonra Denetim dışındaki tüm çalışma zamanı örneklerinde atlama Yöneticisi tarafından çağırılır.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

OwnsCurrentExecutionLocation, bir adım gerçekleştirmek üzere izleyicileri ararken Adımlama Yöneticisi tarafından çağırılır. Hata ayıklanan geçerli konum bu izleyici tarafından anlaşıldığında, adımın denetimini almak için burada true döndürebilir.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
RemoveDataItem<T>()

' 'T ' örneğini bu kapsayıcıdan kaldır. Bir veri kapsayıcısı, nesne kapatıldığında otomatik olarak boşaltılacak şekilde, bu yöntemi çağırmak gereksizdir.

(Devralındığı yer: DkmDataContainer)
ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Bir CPU Komutınctionaddress öğesini, çalışma zamanına özgü Dkmkomutctionaddress nesnesine çözümler.

Bu API Şu anda yalnızca CLR Dkmruntimeınstance nesneleri tarafından destekleniyor ve CLR çalışma zamanı örneği şu anda yalnızca hedef işlemdeki iş parçacıklarından birinin çağrı yığınında olan bir yöntemde olan yönerge adreslerini bulabilir.

Bu yöntem, belirtilen çalışma listesine yeni bir iş öğesi ekler ve iş öğesi eklendikten sonra döndürülür. İş öğesinin gerçek işlenmesi zaman uyumsuzdur. Çağrıyı yapan, isteğin tamamlanma yordamı aracılığıyla tamamlandığını bilgilendirilir.

Konum kısıtlaması: Bu API genellikle istemcide çağrılmalıdır, ancak CLR adreslerini çevirmek için sunucuda çağrılabilir (yerel koda yönelik değil).

(Devralındığı yer: DkmRuntimeInstance)
ResolveCPUInstructionAddress(UInt64, Boolean)

Bir CPU Komutınctionaddress öğesini, çalışma zamanına özgü Dkmkomutctionaddress nesnesine çözümler.

Bu API Şu anda yalnızca CLR Dkmruntimeınstance nesneleri tarafından destekleniyor ve CLR çalışma zamanı örneği şu anda yalnızca hedef işlemdeki iş parçacıklarından birinin çağrı yığınında olan bir yöntemde olan yönerge adreslerini bulabilir.

Konum kısıtlaması: Bu API genellikle istemcide çağrılmalıdır, ancak CLR adreslerini çevirmek için sunucuda çağrılabilir (yerel koda yönelik değil).

(Devralındığı yer: DkmRuntimeInstance)
SetDataItem<T>(DkmDataCreationDisposition, T)

Veri kapsayıcısına yeni bir öğe yerleştirin.

(Devralındığı yer: DkmDataContainer)
SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>)

İş parçacığının bağlamındaki kayıt değerini ayarlar. Daha büyük yazmaçların üzerinde oluşturulan alt Yazmaçları desteklenir.

(Devralındığı yer: DkmRuntimeInstance)
Step(DkmStepper, DkmStepArbitrationReason)

Adım, bu izleyicinin adımı gerçekleştirmek için doğru izleyici olduğunu belirledikten sonra Adımlama Manager tarafından çağırılır.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Denetim olmayan bir çalışma zamanı örneği, iş parçacığının çalışma zamanına bir geçişe ulaşdığını algıladığında, StepControlRequested, Adımlama Yöneticisi tarafından çağırılır. Geçerli denetim çalışma zamanı örneği adımlamayı durdurulabiliyorsa, true olarak ayarlanmalıdır. İstenen çalışma zamanı DkmStepper. TakeStepControl öğesini çağırana kadar gerçek denetim verilmez. Bu iki bölüm işlemi, çağıranların aynı anda birden çok stepto denetimi istemesine izin verir.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
StopStep(DkmStepper)

StopStep, bir Stepper için kalan bir atlama durumunu temizlemek için işlem devam ettirilmekte olan Adımlama Manager tarafından çağırılır.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance)

TakeStepControl, Denetim olmayan bir çalışma zamanı örneği iş parçacığının çalışma zamanına bir geçişe isabet dığını algıladığında, Adımlama Manager tarafından çağrılır. Adımlama Yöneticisi, çağrıyı geçerli denetim çalışma zamanı örneğine iletmeyecektir. Denetim isteyen çalışma zamanı örneği öncelikle denetimini istediğini tüm stepdenetleyicileri üzerinde Istenen Stepcontrolcall öğesini çağırmalıdır. Tümü true olarak ayarlandıysa, çalışma zamanı örneği daha sonra denetimi alan her bir Stepper üzerinde bu yöntemi çağırmalıdır.

Konum kısıtlaması: API 'nin bir Izleyici bileşeninden çağrılması gerekir (bileşen düzeyi < 100.000).

(Devralındığı yer: DkmRuntimeInstance)
Unload()

Dkmruntimeınstance:: Unload, izleyici tarafından çağrıldığında, Runtimeınstanceunload dağıtıcı tarafından gönderilir.

Bu yöntem yalnızca nesneyi oluşturan bileşen tarafından çağrılabilir.

(Devralındığı yer: DkmRuntimeInstance)

Şunlara uygulanır