Freigeben über


StackFrame.GetILOffset-Methode

Ruft den Offset vom Beginn des MSIL-Codes (Microsoft Intermediate Language) für die ausgeführte Methode ab. Dabei kann es sich um einen Näherungswert handeln. Das hängt davon ab, ob der JIT-Compiler (Just-In-Time) den Debuggingcode erzeugt. Die Generierung dieser Debuginformation wird vom DebuggableAttribute kontrolliert.

Namespace: System.Diagnostics
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Function GetILOffset As Integer
'Usage
Dim instance As StackFrame
Dim returnValue As Integer

returnValue = instance.GetILOffset
public virtual int GetILOffset ()
public:
virtual int GetILOffset ()
public int GetILOffset ()
public function GetILOffset () : int

Rückgabewert

Der Offset vom Beginn des MSIL-Codes für die ausgeführte Methode.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der GetILOffset-Methode veranschaulicht.

' Display the stack frame properties.
Dim sf As StackFrame = st.GetFrame(i)
Console.WriteLine(" File: {0}", sf.GetFileName())
Console.WriteLine(" Line Number: {0}", _
   sf.GetFileLineNumber())
' The column number defaults to zero when not initialized.
Console.WriteLine(" Column Number: {0}", _
   sf.GetFileColumnNumber())
If sf.GetILOffset <> StackFrame.OFFSET_UNKNOWN
   Console.WriteLine(" Intermediate Language Offset: {0}", _
       sf.GetILOffset())
End If
If sf.GetNativeOffset <> StackFrame.OFFSET_UNKNOWN
  Console.WriteLine(" Native Offset: {0}", _
      sf.GetNativeOffset())
End If
// Display the stack frame properties.
StackFrame sf = st.GetFrame(i);
Console.WriteLine(" File: {0}", sf.GetFileName());
Console.WriteLine(" Line Number: {0}", 
   sf.GetFileLineNumber());
// Note that the column number defaults to zero
// when not initialized.
Console.WriteLine(" Column Number: {0}", 
   sf.GetFileColumnNumber());
if (sf.GetILOffset() != StackFrame.OFFSET_UNKNOWN)
{
   Console.WriteLine(" Intermediate Language Offset: {0}", 
      sf.GetILOffset());
}
if (sf.GetNativeOffset() != StackFrame.OFFSET_UNKNOWN)
{
   Console.WriteLine(" Native Offset: {0}", 
      sf.GetNativeOffset());
}
// Display the stack frame properties.
StackFrame^ sf = st->GetFrame( i );
Console::WriteLine( " File: {0}", sf->GetFileName() );
Console::WriteLine( " Line Number: {0}", sf->GetFileLineNumber().ToString() );

// Note that the column number defaults to zero
// when not initialized.
Console::WriteLine( " Column Number: {0}", sf->GetFileColumnNumber().ToString() );
Console::WriteLine( " Intermediate Language Offset: {0}", sf->GetILOffset().ToString() );
Console::WriteLine( " Native Offset: {0}", sf->GetNativeOffset().ToString() );
// Display the stack frame properties.
StackFrame sf = st.GetFrame(i);
Console.WriteLine(" File: {0}", sf.GetFileName());
Console.WriteLine(" Line Number: {0}", (
    Int32)sf.GetFileLineNumber());

// Note that the column number defaults to zero
// when not initialized.
Console.WriteLine(" Column Number: {0}", 
    (Int32)sf.GetFileColumnNumber());
if (sf.GetILOffset() != StackFrame.OFFSET_UNKNOWN) {
    Console.WriteLine(" Intermediate Language Offset: {0}", 
        (Int32)sf.GetILOffset());
}
if (sf.GetNativeOffset() != StackFrame.OFFSET_UNKNOWN) {
    Console.WriteLine(" Native Offset: {0}", 
        (Int32)sf.GetNativeOffset());
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

StackFrame-Klasse
StackFrame-Member
System.Diagnostics-Namespace
DebuggableAttribute-Klasse