DkmStackWalkContext.HeuristicWalkFrames Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| HeuristicWalkFrames(DkmFrameRegisters, UInt32, UInt64, DkmFrameRegisters, Boolean) |
Buluşsal yığın yürüme algoritması kullanarak yığının bir bölgesine ilerleme yapmayı deneyin. Bu, kullanılabilir bir sembol olmadığında x86 'da kullanılır. PDATA, tüm karelerin yürümesi nedeniyle diğer platformlarda uygulanmaz. |
| HeuristicWalkFrames(DkmWorkList, DkmFrameRegisters, UInt32, UInt64, DkmCompletionRoutine<DkmHeuristicWalkFramesAsyncResult>) |
Buluşsal yığın yürüme algoritması kullanarak yığının bir bölgesine ilerleme yapmayı deneyin. Bu, kullanılabilir bir sembol olmadığında x86 'da kullanılır. PDATA, tüm karelerin yürümesi nedeniyle diğer platformlarda uygulanmaz. 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. |
HeuristicWalkFrames(DkmFrameRegisters, UInt32, UInt64, DkmFrameRegisters, Boolean)
Buluşsal yığın yürüme algoritması kullanarak yığının bir bölgesine ilerleme yapmayı deneyin. Bu, kullanılabilir bir sembol olmadığında x86 'da kullanılır. PDATA, tüm karelerin yürümesi nedeniyle diğer platformlarda uygulanmaz.
public:
cli::array <Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^> ^ HeuristicWalkFrames(Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ Registers, System::UInt32 RequestSize, System::UInt64 EndStackPointer, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ % NextRegisters, [Runtime::InteropServices::Out] bool % EndOfStack);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[] HeuristicWalkFrames (Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters Registers, uint RequestSize, ulong EndStackPointer, out Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters NextRegisters, out bool EndOfStack);
member this.HeuristicWalkFrames : Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * uint32 * uint64 * DkmFrameRegisters * bool -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]
Public Function HeuristicWalkFrames (Registers As DkmFrameRegisters, RequestSize As UInteger, EndStackPointer As ULong, ByRef NextRegisters As DkmFrameRegisters, ByRef EndOfStack As Boolean) As DkmStackWalkFrame()
Parametreler
- Registers
- DkmFrameRegisters
'Ndaki Yürümek için kayıt yapar.
- RequestSize
- UInt32
'Ndaki RequestSize, çağıranın döndürülmesini istediğiniz çerçevelerin sayısıdır. HeuristicWalkFrames uygulamasının uygulanması, yığının bu birçok çerçeveyi içermediği durumda daha az çerçeve döndürebilir.
- EndStackPointer
- UInt64
'Ndaki Geriye doğru izlemeyi durdurmak için yığın adresi. Son yığın işaretçisi yoksa, bu değer UInt64. MaxValue ' dır.
- NextRegisters
- DkmFrameRegisters
[Out, Isteğe bağlı] Nextyazmaçları bir sonraki çerçevenin (' FrameObject ' çağıranı) kayıtlarını gösterir. Bu, yığın tamamlandıysa veya EndStackPointer öğesine ulaşıldığında null olur.
- EndOfStack
- Boolean
Dışı İzleyici yığının sonuna ulaştığında true döndürür.
Döndürülenler
Dışı DkmStackWalkFrame [], bir çağrı yığınında, ancak biçimlendirilmemiş veya filtrelenmemiş bir kareyi temsil eder. Biçimlendirilen çerçeveler, yerine DkmStackFrame tarafından temsil edilir.
Şunlara uygulanır
HeuristicWalkFrames(DkmWorkList, DkmFrameRegisters, UInt32, UInt64, DkmCompletionRoutine<DkmHeuristicWalkFramesAsyncResult>)
Buluşsal yığın yürüme algoritması kullanarak yığının bir bölgesine ilerleme yapmayı deneyin. Bu, kullanılabilir bir sembol olmadığında x86 'da kullanılır. PDATA, tüm karelerin yürümesi nedeniyle diğer platformlarda uygulanmaz.
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.
public:
void HeuristicWalkFrames(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ Registers, System::UInt32 RequestSize, System::UInt64 EndStackPointer, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::CallStack::DkmHeuristicWalkFramesAsyncResult> ^ CompletionRoutine);
public void HeuristicWalkFrames (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters Registers, uint RequestSize, ulong EndStackPointer, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmHeuristicWalkFramesAsyncResult> CompletionRoutine);
member this.HeuristicWalkFrames : Microsoft.VisualStudio.Debugger.DkmWorkList * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * uint32 * uint64 * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.CallStack.DkmHeuristicWalkFramesAsyncResult> -> unit
Public Sub HeuristicWalkFrames (WorkList As DkmWorkList, Registers As DkmFrameRegisters, RequestSize As UInteger, EndStackPointer As ULong, CompletionRoutine As DkmCompletionRoutine(Of DkmHeuristicWalkFramesAsyncResult))
Parametreler
- WorkList
- DkmWorkList
Yeni iş öğesinin ekleneceği WorkList.
- Registers
- DkmFrameRegisters
'Ndaki Yürümek için kayıt yapar.
- RequestSize
- UInt32
'Ndaki RequestSize, çağıranın döndürülmesini istediğiniz çerçevelerin sayısıdır. HeuristicWalkFrames uygulamasının uygulanması, yığının bu birçok çerçeveyi içermediği durumda daha az çerçeve döndürebilir.
- EndStackPointer
- UInt64
'Ndaki Geriye doğru izlemeyi durdurmak için yığın adresi. Son yığın işaretçisi yoksa, bu değer UInt64. MaxValue ' dır.
- CompletionRoutine
- DkmCompletionRoutine<DkmHeuristicWalkFramesAsyncResult>
İstek tamamlandığında harekete geçirme yordamı. İstek, iş listesine başarıyla eklendiğinde, bu her zaman başlatılır (işlem iptal edildiğinde dahil). Bu, iş öğesi ekleme başarısız olursa hiçbir şekilde harekete geçmeyecektir.