Debugger2.CurrentStackFrame Özellik
Alır veya ayarlar geçerli yığın çerçevesi.
Ad alanı: EnvDTE80
Derleme: EnvDTE80 (EnvDTE80.dll içinde)
Sözdizimi
'Bildirim
Property CurrentStackFrame As StackFrame
Get
Set
StackFrame CurrentStackFrame { get; set; }
property StackFrame^ CurrentStackFrame {
StackFrame^ get ();
void set (StackFrame^ value);
}
abstract CurrentStackFrame : StackFrame with get, set
function get CurrentStackFrame () : StackFrame
function set CurrentStackFrame (value : StackFrame)
Özellik Değeri
Tür: EnvDTE.StackFrame
StackFrame nesnesi
Yüklenen
Açıklamalar
Bakın Memory Management: Frame Allocation daha fazla bilgi yığını çerçeve.
Örnekler
Aşağıdaki örnek, nasıl kullanılacağını gösterir CurrentStackFrame özelliği.
Bu özellik test etmek için:
Bir kesme noktası hedef uygulamada ayarlayın. Eklentiyi çalıştırın.
Geçerli yığın çerçevesi boştur.
Bir kesme noktası hedef uygulamada ayarlayın. Hedef uygulama hata ayıklama modunda çalıştırın. Program bir kesme noktasında durur, eklentiyi çalıştırın.
Geçerli yığın çerçevesi, yöntemin adı ve dönüş türü içerir.
public static void CurrentStackFrame(EnvDTE80.DTE2 dte)
{
// Setup debug Output window.
Window w =
(Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
w.Visible = true;
OutputWindow ow = (OutputWindow)w.Object;
OutputWindowPane owp = ow.OutputWindowPanes.Add("Current StackFrame
Test");
owp.Activate();
owp.OutputString("Current Stack Frame Info: ");
EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
EnvDTE.StackFrame sf = debugger.CurrentStackFrame;
if (sf == null)
owp.OutputString("No program is being debugged, Stack Frame is
empty.");
else
owp.OutputString("Function " + sf.FunctionName +
" returns type " + sf.ReturnType);
}
Sub ShowCurrentProcess()
' This function displays the current debugger
' mode in the output window.
Dim ow As OutputWindow
ow = DTE2.Windows.Item(Constants.vsWindowKindOutput).Object
Dim proc As EnvDTE.Process2
proc = DTE2.Debugger.CurrentProcess
If (proc Is Nothing) Then
ow.ActivePane.OutputString("No process is being debugged")
Else
ow.ActivePane.OutputString("" + Str(proc.ProcessID) + ": " + _
proc.Name + vbCrLf)
End If
End Sub
.NET Framework Güvenliği
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. kısmen güvenilir kod tarafından Kitaplıklar kullanma.