StackFrame クラス
アセンブリ: Microsoft.JScript (microsoft.jscript.dll 内)


Microsoft.JScript.ScriptObject
Microsoft.JScript.StackFrame


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame クラス
アセンブリ: mscorlib (mscorlib.dll 内)


StackFrame は、スレッドの実行中に関数が呼び出されるたびに作成され、コール スタックにプッシュされます。スタック フレームには必ず MethodBase 情報が含まれ、オプションでファイル名、行番号、および列番号の情報も含まれます。
StackFrame 情報は、デバッグ ビルド構成と共に使用すると最も有益な情報となります。既定では、デバッグ ビルドにはデバッグ シンボルが含まれ、リリース ビルドには含まれません。デバッグ シンボルには、StackFrame オブジェクトを構築するために使用されるファイル、メソッド名、行番号、および列情報のほとんどが含まれます。

StackFrame を作成して使用する方法を次のコード例で示します。
Imports System Imports System.Diagnostics Imports SampleInternal Namespace SamplePublic ' This console application illustrates various uses ' of the StackTrace and StackFrame classes. Class ConsoleApp <STAThread()> _ Shared Sub Main() Dim mainClass As New ClassLevel1 Try mainClass.InternalMethod() Catch Console.WriteLine(" Main method exception handler") ' Display file and line information, if available. Dim st As New StackTrace(New StackFrame(True)) Console.WriteLine(" Stack trace for current level: {0}", _ st.ToString()) Console.WriteLine(" File: {0}", _ st.GetFrame(0).GetFileName()) Console.WriteLine(" Line Number: {0}", _ st.GetFrame(0).GetFileLineNumber().ToString()) Console.WriteLine() Console.WriteLine("-------------------------------------------------") Console.WriteLine() End Try End Sub 'Main End Class 'ConsoleApp End Namespace 'StackFramePublic Namespace SampleInternal Public Class ClassLevel1 Public Sub InternalMethod() Try Dim nestedClass As New ClassLevel2 nestedClass.Level2Method() Catch e As Exception Console.WriteLine(" InternalMethod exception handler") ' Build a stack trace from one frame, skipping the ' current frame and using the next frame. By default, ' file and line information are not displayed. Dim st As New StackTrace(New StackFrame(1)) Console.WriteLine(" Stack trace for next level frame: {0}", _ st.ToString()) Console.WriteLine(" Stack frame for next level: ") Console.WriteLine(" {0}", st.GetFrame(0).ToString()) Console.WriteLine(" Line Number: {0}", _ st.GetFrame(0).GetFileLineNumber().ToString()) Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'InternalMethod End Class 'ClassLevel1 Public Class ClassLevel2 Public Sub Level2Method() Try Dim nestedClass As New ClassLevel3 nestedClass.Level3Method() Catch e As Exception Console.WriteLine(" Level2Method exception handler") ' Display the full call stack at this level. Dim st1 As New StackTrace(True) Console.WriteLine(" Stack trace for this level: {0}", _ st1.ToString()) ' Build a stack trace from one frame, skipping the current ' frame and using the next frame. Dim st2 As New StackTrace(New StackFrame(1, True)) Console.WriteLine(" Stack trace built with next level frame: {0}", _ st2.ToString()) ' Build a stack trace skipping the current frame, and ' including all the other frames. Dim st3 As New StackTrace(1, True) Console.WriteLine(" Stack trace built from the next level up: {0}", _ st3.ToString()) Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level2Method End Class 'ClassLevel2 Public Class ClassLevel3 Public Sub Level3Method() Try Dim nestedClass As New ClassLevel4() nestedClass.Level4Method() Catch e As Exception Console.WriteLine(" Level3Method exception handler") ' Build a stack trace from a dummy stack frame. ' Explicitly specify the source file name and line number. Dim st As New StackTrace(New StackFrame("source.cs", 60)) Console.WriteLine(" Stack trace with dummy stack frame: {0}", _ st.ToString()) Dim i As Integer For i = 0 To st.FrameCount - 1 ' 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 Next i Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level3Method End Class 'ClassLevel3 Public Class ClassLevel4 Public Sub Level4Method() Try Dim [nestedClass] As New ClassLevel5() [nestedClass].Level5Method() Catch e As Exception Console.WriteLine(" Level4Method exception handler") ' Build a stack trace from a dummy stack frame. ' Explicitly specify the source file name, line number ' and column number. Dim st As New StackTrace(New StackFrame("source.cs", 79, 24)) Console.WriteLine(" Stack trace with dummy stack frame: {0}", _ st.ToString()) ' Access the StackFrames explicitly to display the file ' name, line number and column number properties. ' StackTrace.ToString only includes the method name. Dim i As Integer For i = 0 To st.FrameCount - 1 Dim sf As StackFrame = st.GetFrame(i) Console.WriteLine(" File: {0}", sf.GetFileName()) Console.WriteLine(" Line Number: {0}", _ sf.GetFileLineNumber()) Console.WriteLine(" Column Number: {0}", _ sf.GetFileColumnNumber()) Next i Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level4Method End Class 'ClassLevel4 Public Class ClassLevel5 Public Sub Level5Method() Try Dim nestedClass As New ClassLevel6() nestedClass.Level6Method() Catch e As Exception Console.WriteLine(" Level5Method exception handler") Dim st As New StackTrace() ' Display the most recent function call. Dim sf As StackFrame = st.GetFrame(0) Console.WriteLine() Console.WriteLine(" Exception in method: ") Console.WriteLine(" {0}", sf.GetMethod()) If st.FrameCount > 1 Then ' Display the highest-level function call in the trace. sf = st.GetFrame((st.FrameCount - 1)) Console.WriteLine(" Original function call at top of call stack):") Console.WriteLine(" {0}", sf.GetMethod()) End If Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level5Method End Class 'ClassLevel5 Public Class ClassLevel6 Public Sub Level6Method() Throw New Exception("An error occurred in the lowest internal class method.") End Sub 'Level6Method End Class 'ClassLevel6 End Namespace 'StackFrameInternal
using System; using System.Diagnostics; using SampleInternal; namespace SamplePublic { // This console application illustrates various uses // of the StackTrace and StackFrame classes. class ConsoleApp { [STAThread] static void Main() { ClassLevel1 mainClass = new ClassLevel1(); try { mainClass.InternalMethod(); } catch (Exception) { Console.WriteLine(" Main method exception handler"); // Display file and line information, if available. StackTrace st = new StackTrace(new StackFrame(true)); Console.WriteLine(" Stack trace for current level: {0}", st.ToString()); Console.WriteLine(" File: {0}", st.GetFrame(0).GetFileName()); Console.WriteLine(" Line Number: {0}", st.GetFrame(0).GetFileLineNumber().ToString()); Console.WriteLine(); Console.WriteLine("-------------------------------------------------\n"); } } } } namespace SampleInternal { public class ClassLevel1 { public void InternalMethod() { try { ClassLevel2 nestedClass = new ClassLevel2(); nestedClass.Level2Method(); } catch (Exception e) { Console.WriteLine(" InternalMethod exception handler"); // Build a stack trace from one frame, skipping the // current frame and using the next frame. By // default, file and line information are not displayed. StackTrace st = new StackTrace(new StackFrame(1)); Console.WriteLine(" Stack trace for next level frame: {0}", st.ToString()); Console.WriteLine(" Stack frame for next level: "); Console.WriteLine(" {0}", st.GetFrame(0).ToString()); Console.WriteLine(" Line Number: {0}", st.GetFrame(0).GetFileLineNumber().ToString()); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } } } public class ClassLevel2 { public void Level2Method() { try { ClassLevel3 nestedClass = new ClassLevel3(); nestedClass.Level3Method(); } catch (Exception e) { Console.WriteLine(" Level2Method exception handler"); // Display the full call stack at this level. StackTrace st1 = new StackTrace(true); Console.WriteLine(" Stack trace for this level: {0}", st1.ToString()); // Build a stack trace from one frame, skipping the current // frame and using the next frame. StackTrace st2 = new StackTrace(new StackFrame(1, true)); Console.WriteLine(" Stack trace built with next level frame: {0}" , st2.ToString()); // Build a stack trace skipping the current frame, and // including all the other frames. StackTrace st3 = new StackTrace(1, true); Console.WriteLine(" Stack trace built from the next level up: {0}" , st3.ToString()); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } } } public class ClassLevel3 { public void Level3Method() { try { ClassLevel4 nestedClass = new ClassLevel4(); nestedClass.Level4Method(); } catch (Exception e) { Console.WriteLine(" Level3Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name and // line number. StackTrace st = new StackTrace(new StackFrame("source.cs", 60)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); for(int i =0; i< st.FrameCount; i++ ) { // 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()); } } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } } } public class ClassLevel4 { public void Level4Method() { try { ClassLevel5 nestedClass = new ClassLevel5(); nestedClass.Level5Method(); } catch (Exception e) { Console.WriteLine(" Level4Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace st = new StackTrace(new StackFrame("source.cs", 79, 24)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for(int i =0; i< st.FrameCount; i++ ) { StackFrame sf = st.GetFrame(i); Console.WriteLine(" File: {0}", sf.GetFileName()); Console.WriteLine(" Line Number: {0}", sf.GetFileLineNumber()); Console.WriteLine(" Column Number: {0}", sf.GetFileColumnNumber()); } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } } } public class ClassLevel5 { public void Level5Method() { try { ClassLevel6 nestedClass = new ClassLevel6(); nestedClass.Level6Method(); } catch (Exception e) { Console.WriteLine(" Level5Method exception handler"); StackTrace st = new StackTrace(); // Display the most recent function call. StackFrame sf = st.GetFrame(0); Console.WriteLine(); Console.WriteLine(" Exception in method: "); Console.WriteLine(" {0}", sf.GetMethod()); if (st.FrameCount >1) { // Display the highest-level function call // in the trace. sf = st.GetFrame(st.FrameCount-1); Console.WriteLine(" Original function call at top of call stack):"); Console.WriteLine(" {0}", sf.GetMethod()); } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } } } public class ClassLevel6 { public void Level6Method() { throw new Exception("An error occurred in the lowest internal class method."); } } }
#using <System.dll> using namespace System; using namespace System::Diagnostics; // This console application illustrates various uses // of the StackTrace and StackFrame classes. namespace SampleInternal { public ref class ClassLevel6 { public: void Level6Method() { throw gcnew Exception( "An error occurred in the lowest internal class method." ); } }; public ref class ClassLevel5 { public: void Level5Method() { try { ClassLevel6^ nestedClass = gcnew ClassLevel6; nestedClass->Level6Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level5Method exception handler" ); StackTrace^ st = gcnew StackTrace; // Display the most recent function call. StackFrame^ sf = st->GetFrame( 0 ); Console::WriteLine(); Console::WriteLine( " Exception in method: " ); Console::WriteLine( " {0}", sf->GetMethod() ); if ( st->FrameCount > 1 ) { // Display the highest-level function call // in the trace. sf = st->GetFrame( st->FrameCount - 1 ); Console::WriteLine( " Original function call at top of call stack):" ); Console::WriteLine( " {0}", sf->GetMethod() ); } Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } } }; public ref class ClassLevel4 { public: void Level4Method() { try { ClassLevel5^ nestedClass = gcnew ClassLevel5; nestedClass->Level5Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level4Method exception handler" ); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( "source.cs",79,24 ) ); Console::WriteLine( " Stack trace with dummy stack frame: {0}", st->ToString() ); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for ( int i = 0; i < st->FrameCount; i++ ) { StackFrame^ sf = st->GetFrame( i ); Console::WriteLine( " File: {0}", sf->GetFileName() ); Console::WriteLine( " Line Number: {0}", sf->GetFileLineNumber().ToString() ); Console::WriteLine( " Column Number: {0}", sf->GetFileColumnNumber().ToString() ); } Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } } }; public ref class ClassLevel3 { public: void Level3Method() { try { ClassLevel4^ nestedClass = gcnew ClassLevel4; nestedClass->Level4Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level3Method exception handler" ); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name and line number. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( "source.cs",60 ) ); Console::WriteLine( " Stack trace with dummy stack frame: {0}", st->ToString() ); for ( int i = 0; i < st->FrameCount; i++ ) { // 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() ); } Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } } }; public ref class ClassLevel2 { public: void Level2Method() { try { ClassLevel3^ nestedClass = gcnew ClassLevel3; nestedClass->Level3Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level2Method exception handler" ); // Display the full call stack at this level. StackTrace^ st1 = gcnew StackTrace( true ); Console::WriteLine( " Stack trace for this level: {0}", st1->ToString() ); // Build a stack trace from one frame, skipping the // current frame and using the next frame. StackTrace^ st2 = gcnew StackTrace( gcnew StackFrame( 1,true ) ); Console::WriteLine( " Stack trace built with next level frame: {0}", st2->ToString() ); // Build a stack trace skipping the current frame, and // including all the other frames. StackTrace^ st3 = gcnew StackTrace( 1,true ); Console::WriteLine( " Stack trace built from the next level up: {0}", st3->ToString() ); Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } } }; public ref class ClassLevel1 { public: void InternalMethod() { try { ClassLevel2^ nestedClass = gcnew ClassLevel2; nestedClass->Level2Method(); } catch ( Exception^ e ) { Console::WriteLine( " InternalMethod exception handler" ); // Build a stack trace from one frame, skipping the // current frame and using the next frame. By // default, file and line information are not displayed. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( 1 ) ); Console::WriteLine( " Stack trace for next level frame: {0}", st->ToString() ); Console::WriteLine( " Stack frame for next level: " ); Console::WriteLine( " {0}", st->GetFrame( 0 )->ToString() ); Console::WriteLine( " Line Number: {0}", st->GetFrame( 0 )->GetFileLineNumber().ToString() ); Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } } }; } using namespace SampleInternal; namespace SamplePublic { class ConsoleApp { public: [STAThread] static void Main() { ClassLevel1 ^ mainClass = gcnew ClassLevel1; try { mainClass->InternalMethod(); } catch ( Exception^ e ) { Console::WriteLine( " Main method exception handler" ); // Display file and line information, if available. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( true ) ); Console::WriteLine( " Stack trace for current level: {0}", st->ToString() ); Console::WriteLine( " File: {0}", st->GetFrame( 0 )->GetFileName() ); Console::WriteLine( " Line Number: {0}", st->GetFrame( 0 )->GetFileLineNumber().ToString() ); Console::WriteLine(); Console::WriteLine( "-------------------------------------------------\n" ); } } }; } int main() { SamplePublic::ConsoleApp::Main(); }
package SamplePublic; import System.*; import System.Diagnostics.*; import SampleInternal.*; // This console application illustrates various uses // of the StackTrace and StackFrame classes. class ConsoleApp { /** @attribute STAThread() */ public static void main(String[] args) { ClassLevel1 mainClass = new ClassLevel1(); try { mainClass.InternalMethod(); } catch (System.Exception exp) { Console.WriteLine(" main method exception handler"); // Display file and line information, if available. StackTrace st = new StackTrace(new StackFrame(true)); Console.WriteLine(" Stack trace for current level: {0}", st.ToString()); Console.WriteLine(" File: {0}", st.GetFrame(0).GetFileName()); Console.WriteLine(" Line Number: {0}", Convert.ToString(st.GetFrame(0).GetFileLineNumber())); Console.WriteLine(); Console.WriteLine("---------------------------------------------" + "----\n"); } } //main } //ConsoleApp

System.Diagnostics.StackFrame


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ (String, Int32, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim fileName As String Dim lineNumber As Integer Dim colNumber As Integer Dim instance As New StackFrame(fileName, lineNumber, colNumber)


StackFrame コンストラクタを使用するコード例を次に示します。
Try Dim [nestedClass] As New ClassLevel5() [nestedClass].Level5Method() Catch e As Exception Console.WriteLine(" Level4Method exception handler") ' Build a stack trace from a dummy stack frame. ' Explicitly specify the source file name, line number ' and column number. Dim st As New StackTrace(New StackFrame("source.cs", 79, 24)) Console.WriteLine(" Stack trace with dummy stack frame: {0}", _ st.ToString()) ' Access the StackFrames explicitly to display the file ' name, line number and column number properties. ' StackTrace.ToString only includes the method name. Dim i As Integer For i = 0 To st.FrameCount - 1 Dim sf As StackFrame = st.GetFrame(i) Console.WriteLine(" File: {0}", sf.GetFileName()) Console.WriteLine(" Line Number: {0}", _ sf.GetFileLineNumber()) Console.WriteLine(" Column Number: {0}", _ sf.GetFileColumnNumber()) Next i Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level4Method
try { ClassLevel5 nestedClass = new ClassLevel5(); nestedClass.Level5Method(); } catch (Exception e) { Console.WriteLine(" Level4Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace st = new StackTrace(new StackFrame("source.cs", 79, 24)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for(int i =0; i< st.FrameCount; i++ ) { StackFrame sf = st.GetFrame(i); Console.WriteLine(" File: {0}", sf.GetFileName()); Console.WriteLine(" Line Number: {0}", sf.GetFileLineNumber()); Console.WriteLine(" Column Number: {0}", sf.GetFileColumnNumber()); } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; }
try { ClassLevel5^ nestedClass = gcnew ClassLevel5; nestedClass->Level5Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level4Method exception handler" ); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( "source.cs",79,24 ) ); Console::WriteLine( " Stack trace with dummy stack frame: {0}", st->ToString() ); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for ( int i = 0; i < st->FrameCount; i++ ) { StackFrame^ sf = st->GetFrame( i ); Console::WriteLine( " File: {0}", sf->GetFileName() ); Console::WriteLine( " Line Number: {0}", sf->GetFileLineNumber().ToString() ); Console::WriteLine( " Column Number: {0}", sf->GetFileColumnNumber().ToString() ); } Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; }
try { ClassLevel5 nestedClass = new ClassLevel5(); nestedClass.Level5Method(); } catch (System.Exception e) { Console.WriteLine(" Level4Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name, line number // and column number. StackTrace st = new StackTrace(new StackFrame("source.jsl", 79, 24)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); // Access the StackFrames explicitly to display the file // name, line number and column number properties. // StackTrace.ToString only includes the method name. for (int i = 0; i < st.get_FrameCount(); i++) { StackFrame sf = st.GetFrame(i); Console.WriteLine(" File: {0}", sf.GetFileName()); Console.WriteLine(" Line Number: {0}", (Int32)sf.GetFileLineNumber()); Console.WriteLine(" Column Number: {0}", (Int32)sf.GetFileColumnNumber()); } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level..."); Console.WriteLine("---------------------------------------------" + "----\n"); throw e;

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ (Int32, Boolean)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim skipFrames As Integer Dim fNeedFileInfo As Boolean Dim instance As New StackFrame(skipFrames, fNeedFileInfo)

StackFrame コンストラクタを使用するコード例を次に示します。
Public Sub Level2Method() Try Dim nestedClass As New ClassLevel3 nestedClass.Level3Method() Catch e As Exception Console.WriteLine(" Level2Method exception handler") ' Display the full call stack at this level. Dim st1 As New StackTrace(True) Console.WriteLine(" Stack trace for this level: {0}", _ st1.ToString()) ' Build a stack trace from one frame, skipping the current ' frame and using the next frame. Dim st2 As New StackTrace(New StackFrame(1, True)) Console.WriteLine(" Stack trace built with next level frame: {0}", _ st2.ToString()) ' Build a stack trace skipping the current frame, and ' including all the other frames. Dim st3 As New StackTrace(1, True) Console.WriteLine(" Stack trace built from the next level up: {0}", _ st3.ToString()) Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level2Method
public void Level2Method() { try { ClassLevel3 nestedClass = new ClassLevel3(); nestedClass.Level3Method(); } catch (Exception e) { Console.WriteLine(" Level2Method exception handler"); // Display the full call stack at this level. StackTrace st1 = new StackTrace(true); Console.WriteLine(" Stack trace for this level: {0}", st1.ToString()); // Build a stack trace from one frame, skipping the current // frame and using the next frame. StackTrace st2 = new StackTrace(new StackFrame(1, true)); Console.WriteLine(" Stack trace built with next level frame: {0}" , st2.ToString()); // Build a stack trace skipping the current frame, and // including all the other frames. StackTrace st3 = new StackTrace(1, true); Console.WriteLine(" Stack trace built from the next level up: {0}" , st3.ToString()); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } }
void Level2Method() { try { ClassLevel3^ nestedClass = gcnew ClassLevel3; nestedClass->Level3Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level2Method exception handler" ); // Display the full call stack at this level. StackTrace^ st1 = gcnew StackTrace( true ); Console::WriteLine( " Stack trace for this level: {0}", st1->ToString() ); // Build a stack trace from one frame, skipping the // current frame and using the next frame. StackTrace^ st2 = gcnew StackTrace( gcnew StackFrame( 1,true ) ); Console::WriteLine( " Stack trace built with next level frame: {0}", st2->ToString() ); // Build a stack trace skipping the current frame, and // including all the other frames. StackTrace^ st3 = gcnew StackTrace( 1,true ); Console::WriteLine( " Stack trace built from the next level up: {0}", st3->ToString() ); Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } }
public void Level2Method() throws System.Exception { try { ClassLevel3 nestedClass = new ClassLevel3(); nestedClass.Level3Method(); } catch (System.Exception e) { Console.WriteLine(" Level2Method exception handler"); // Display the full call stack at this level. StackTrace st1 = new StackTrace(true); Console.WriteLine(" Stack trace for this level: {0}", st1.ToString()); // Build a stack trace from one frame, skipping the current // frame and using the next frame. StackTrace st2 = new StackTrace(new StackFrame(1, true)); Console.WriteLine(" Stack trace built with next level frame: {0}" , st2.ToString()); // Build a stack trace skipping the current frame, and // including all the other frames. StackTrace st3 = new StackTrace(1, true); Console.WriteLine(" Stack trace built from the next level up: {0}" , st3.ToString()); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level..."); Console.WriteLine("--------------------------------------------" + "-----\n"); throw e; } } //Level2Method

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ

名前 | 説明 |
---|---|
StackFrame () | 新しい StackFrame オブジェクトを初期化します。 |
StackFrame (Boolean) | 新しい StackFrame オブジェクトを初期化し、オプションでソース情報をキャプチャします。 |
StackFrame (Int32) | 現在のスタック フレーム上のフレームに対応する新しい StackFrame オブジェクトを初期化します。 |
StackFrame (Int32, Boolean) | 現在のスタック フレーム上のフレームに対応する新しい StackFrame オブジェクトを初期化し、オプションでソース情報をキャプチャします。 |
StackFrame (String, Int32) | 指定したファイル名と行番号だけを含む新しい StackFrame オブジェクトを初期化します。 |
StackFrame (String, Int32, Int32) | 指定したファイル名、行番号、および列番号だけを含む新しい StackFrame オブジェクトを初期化します。 |

StackFrame コンストラクタ (Int32)
アセンブリ: mscorlib (mscorlib.dll 内)


StackFrame コンストラクタを使用するコード例を次に示します。
Public Sub InternalMethod() Try Dim nestedClass As New ClassLevel2 nestedClass.Level2Method() Catch e As Exception Console.WriteLine(" InternalMethod exception handler") ' Build a stack trace from one frame, skipping the ' current frame and using the next frame. By default, ' file and line information are not displayed. Dim st As New StackTrace(New StackFrame(1)) Console.WriteLine(" Stack trace for next level frame: {0}", _ st.ToString()) Console.WriteLine(" Stack frame for next level: ") Console.WriteLine(" {0}", st.GetFrame(0).ToString()) Console.WriteLine(" Line Number: {0}", _ st.GetFrame(0).GetFileLineNumber().ToString()) Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'InternalMethod
public void InternalMethod() { try { ClassLevel2 nestedClass = new ClassLevel2(); nestedClass.Level2Method(); } catch (Exception e) { Console.WriteLine(" InternalMethod exception handler"); // Build a stack trace from one frame, skipping the // current frame and using the next frame. By // default, file and line information are not displayed. StackTrace st = new StackTrace(new StackFrame(1)); Console.WriteLine(" Stack trace for next level frame: {0}", st.ToString()); Console.WriteLine(" Stack frame for next level: "); Console.WriteLine(" {0}", st.GetFrame(0).ToString()); Console.WriteLine(" Line Number: {0}", st.GetFrame(0).GetFileLineNumber().ToString()); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } }
void InternalMethod() { try { ClassLevel2^ nestedClass = gcnew ClassLevel2; nestedClass->Level2Method(); } catch ( Exception^ e ) { Console::WriteLine( " InternalMethod exception handler" ); // Build a stack trace from one frame, skipping the // current frame and using the next frame. By // default, file and line information are not displayed. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( 1 ) ); Console::WriteLine( " Stack trace for next level frame: {0}", st->ToString() ); Console::WriteLine( " Stack frame for next level: " ); Console::WriteLine( " {0}", st->GetFrame( 0 )->ToString() ); Console::WriteLine( " Line Number: {0}", st->GetFrame( 0 )->GetFileLineNumber().ToString() ); Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } }
public void InternalMethod() throws System.Exception { try { ClassLevel2 nestedClass = new ClassLevel2(); nestedClass.Level2Method(); } catch (System.Exception e) { Console.WriteLine(" InternalMethod exception handler"); // Build a stack trace from one frame, skipping the // current frame and using the next frame. By // default, file and line information are not displayed. StackTrace st = new StackTrace(new StackFrame(1)); Console.WriteLine(" Stack trace for next level frame: {0}", st.ToString()); Console.WriteLine(" Stack frame for next level: "); Console.WriteLine(" {0}", st.GetFrame(0).ToString()); Console.WriteLine(" Line Number: {0}", Convert.ToString(st.GetFrame(0).GetFileLineNumber())); Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level..."); Console.WriteLine("-------------------------------------------" + "------\n"); throw e; } } //InternalMethod

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ (Boolean)
アセンブリ: mscorlib (mscorlib.dll 内)


StackFrame コンストラクタを使用するコード例を次に示します。
<STAThread()> _ Shared Sub Main() Dim mainClass As New ClassLevel1 Try mainClass.InternalMethod() Catch Console.WriteLine(" Main method exception handler") ' Display file and line information, if available. Dim st As New StackTrace(New StackFrame(True)) Console.WriteLine(" Stack trace for current level: {0}", _ st.ToString()) Console.WriteLine(" File: {0}", _ st.GetFrame(0).GetFileName()) Console.WriteLine(" Line Number: {0}", _ st.GetFrame(0).GetFileLineNumber().ToString()) Console.WriteLine() Console.WriteLine("-------------------------------------------------") Console.WriteLine() End Try End Sub 'Main
[STAThread] static void Main() { ClassLevel1 mainClass = new ClassLevel1(); try { mainClass.InternalMethod(); } catch (Exception) { Console.WriteLine(" Main method exception handler"); // Display file and line information, if available. StackTrace st = new StackTrace(new StackFrame(true)); Console.WriteLine(" Stack trace for current level: {0}", st.ToString()); Console.WriteLine(" File: {0}", st.GetFrame(0).GetFileName()); Console.WriteLine(" Line Number: {0}", st.GetFrame(0).GetFileLineNumber().ToString()); Console.WriteLine(); Console.WriteLine("-------------------------------------------------\n"); } }
[STAThread] static void Main() { ClassLevel1 ^ mainClass = gcnew ClassLevel1; try { mainClass->InternalMethod(); } catch ( Exception^ e ) { Console::WriteLine( " Main method exception handler" ); // Display file and line information, if available. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( true ) ); Console::WriteLine( " Stack trace for current level: {0}", st->ToString() ); Console::WriteLine( " File: {0}", st->GetFrame( 0 )->GetFileName() ); Console::WriteLine( " Line Number: {0}", st->GetFrame( 0 )->GetFileLineNumber().ToString() ); Console::WriteLine(); Console::WriteLine( "-------------------------------------------------\n" ); } }
/** @attribute STAThread() */ public static void main(String[] args) { ClassLevel1 mainClass = new ClassLevel1(); try { mainClass.InternalMethod(); } catch (System.Exception exp) { Console.WriteLine(" main method exception handler"); // Display file and line information, if available. StackTrace st = new StackTrace(new StackFrame(true)); Console.WriteLine(" Stack trace for current level: {0}", st.ToString()); Console.WriteLine(" File: {0}", st.GetFrame(0).GetFileName()); Console.WriteLine(" Line Number: {0}", Convert.ToString(st.GetFrame(0).GetFileLineNumber())); Console.WriteLine(); Console.WriteLine("---------------------------------------------" + "----\n"); } } //main

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame コンストラクタ (String, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim fileName As String Dim lineNumber As Integer Dim instance As New StackFrame(fileName, lineNumber)


StackFrame コンストラクタを使用するコード例を次に示します。
Public Sub Level3Method() Try Dim nestedClass As New ClassLevel4() nestedClass.Level4Method() Catch e As Exception Console.WriteLine(" Level3Method exception handler") ' Build a stack trace from a dummy stack frame. ' Explicitly specify the source file name and line number. Dim st As New StackTrace(New StackFrame("source.cs", 60)) Console.WriteLine(" Stack trace with dummy stack frame: {0}", _ st.ToString()) Dim i As Integer For i = 0 To st.FrameCount - 1 ' 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 Next i Console.WriteLine() Console.WriteLine(" ... throwing exception to next level ...") Console.WriteLine("-------------------------------------------------") Console.WriteLine() Throw e End Try End Sub 'Level3Method
public void Level3Method() { try { ClassLevel4 nestedClass = new ClassLevel4(); nestedClass.Level4Method(); } catch (Exception e) { Console.WriteLine(" Level3Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name and // line number. StackTrace st = new StackTrace(new StackFrame("source.cs", 60)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); for(int i =0; i< st.FrameCount; i++ ) { // 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()); } } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level ..."); Console.WriteLine("-------------------------------------------------\n"); throw e; } }
void Level3Method() { try { ClassLevel4^ nestedClass = gcnew ClassLevel4; nestedClass->Level4Method(); } catch ( Exception^ e ) { Console::WriteLine( " Level3Method exception handler" ); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name and line number. StackTrace^ st = gcnew StackTrace( gcnew StackFrame( "source.cs",60 ) ); Console::WriteLine( " Stack trace with dummy stack frame: {0}", st->ToString() ); for ( int i = 0; i < st->FrameCount; i++ ) { // 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() ); } Console::WriteLine(); Console::WriteLine( " ... throwing exception to next level ..." ); Console::WriteLine( "-------------------------------------------------\n" ); throw e; } }
public void Level3Method() throws System.Exception { try { ClassLevel4 nestedClass = new ClassLevel4(); nestedClass.Level4Method(); } catch (System.Exception e) { Console.WriteLine(" Level3Method exception handler"); // Build a stack trace from a dummy stack frame. // Explicitly specify the source file name and // line number. StackTrace st = new StackTrace(new StackFrame("source.jsl", 60)); Console.WriteLine(" Stack trace with dummy stack frame: {0}", st.ToString()); for (int i = 0; i < st.get_FrameCount(); i++) { // 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()); } } Console.WriteLine(); Console.WriteLine(" ... throwing exception to next level..."); Console.WriteLine("--------------------------------------------" + "-----\n"); throw e; } } //Level3Method

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


StackFrame フィールド

名前 | 説明 | |
---|---|---|
![]() | OFFSET_UNKNOWN | ネイティブまたは MSIL (Microsoft Intermediate Language) オフセットが未確認の場合に、GetNativeOffset または GetILOffset から返される値を定義します。このフィールドは定数です。 |

StackFrame フィールド
StackFrame プロパティ
StackFrame メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetDefaultThisObject | |
![]() | GetField | オーバーロードされます。 |
![]() | GetFields | ( ScriptObject から継承されます。) |
![]() | GetGlobalScope | |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetMember | オーバーライドされます。 |
![]() | GetMembers | オーバーライドされます。 |
![]() | GetMemberValue | |
![]() | GetMethod | オーバーロードされます。 ( ScriptObject から継承されます。) |
![]() | GetMethods | ( ScriptObject から継承されます。) |
![]() | GetParent | ( ScriptObject から継承されます。) |
![]() | GetProperties | ( ScriptObject から継承されます。) |
![]() | GetProperty | オーバーロードされます。 ( ScriptObject から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | InvokeMember | ( ScriptObject から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Microsoft.JScript.IActivationObject.GetLocalField |

StackFrame メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetFileColumnNumber | 実行しているコードを格納しているファイルの列番号を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetFileLineNumber | 実行しているコードを格納しているファイルの行番号を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetFileName | 実行中のコードを格納しているファイル名を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetILOffset | 実行中のメソッドの MSIL (Microsoft Intermediate Language) コードの先頭からのオフセットを取得します。このオフセットはジャスト イン タイム (JIT: Just-In-Time) コンパイラがデバッグするコードを生成しているかどうかに依存する近似値になることがあります。このデバッグ情報の生成は、DebuggableAttribute プロパティにより制御されます。 |
![]() | GetMethod | フレームを実行しているメソッドを取得します。 |
![]() | GetNativeOffset | 実行中のメソッドのネイティブ JIT コンパイル コードの先頭からのオフセットを取得します。このデバッグ情報の生成は、DebuggableAttribute プロパティにより制御されます。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーライドされます。 スタック トレースの読み取り可能な形式を構築します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

StackFrame メンバ
StackFrame データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetDefaultThisObject | |
![]() | GetField | オーバーロードされます。 |
![]() | GetFields | ( ScriptObject から継承されます。) |
![]() | GetGlobalScope | |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetMember | オーバーライドされます。 |
![]() | GetMembers | オーバーライドされます。 |
![]() | GetMemberValue | |
![]() | GetMethod | オーバーロードされます。 ( ScriptObject から継承されます。) |
![]() | GetMethods | ( ScriptObject から継承されます。) |
![]() | GetParent | ( ScriptObject から継承されます。) |
![]() | GetProperties | ( ScriptObject から継承されます。) |
![]() | GetProperty | オーバーロードされます。 ( ScriptObject から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | InvokeMember | ( ScriptObject から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Microsoft.JScript.IActivationObject.GetLocalField |

StackFrame メンバ
現在のスレッドのコール スタック上での関数呼び出しを表す、StackFrame に関する情報を提供します。
StackFrame データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | OFFSET_UNKNOWN | ネイティブまたは MSIL (Microsoft Intermediate Language) オフセットが未確認の場合に、GetNativeOffset または GetILOffset から返される値を定義します。このフィールドは定数です。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetFileColumnNumber | 実行しているコードを格納しているファイルの列番号を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetFileLineNumber | 実行しているコードを格納しているファイルの行番号を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetFileName | 実行中のコードを格納しているファイル名を取得します。通常、この情報は実行可能ファイルのデバッグ シンボルから抽出されます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetILOffset | 実行中のメソッドの MSIL (Microsoft Intermediate Language) コードの先頭からのオフセットを取得します。このオフセットはジャスト イン タイム (JIT: Just-In-Time) コンパイラがデバッグするコードを生成しているかどうかに依存する近似値になることがあります。このデバッグ情報の生成は、DebuggableAttribute プロパティにより制御されます。 |
![]() | GetMethod | フレームを実行しているメソッドを取得します。 |
![]() | GetNativeOffset | 実行中のメソッドのネイティブ JIT コンパイル コードの先頭からのオフセットを取得します。このデバッグ情報の生成は、DebuggableAttribute プロパティにより制御されます。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーライドされます。 スタック トレースの読み取り可能な形式を構築します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- StackFrameのページへのリンク