Debug.Assert 메서드

정의

조건을 확인합니다. 조건이 false이면 메시지를 출력하고 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs messages and displays a message box that shows the call stack.

오버로드

Assert(Boolean)

조건을 확인합니다. 조건이 false이면 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

조건을 확인합니다. 조건이 false이면 지정된 메시지를 출력하고 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

Assert(Boolean, String, String)

조건을 확인합니다. 조건이 false이면 지정된 2개의 메시지를 출력하고 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Assert(Boolean, String, String, Object[])

조건을 확인합니다. 조건이 false이면 두 개의 메시지(단순 및 서식 있는 메시지)를 출력하고 호출 스택을 보여 주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs two messages (simple and formatted) and displays a message box that shows the call stack.

Assert(Boolean)

조건을 확인합니다. 조건이 false이면 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

public:
 static void Assert(bool condition);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)

매개 변수

condition
Boolean

계산할 조건부 식입니다.The conditional expression to evaluate. 조건이 true이면 실패 메시지가 전송되지 않고 메시지 상자가 표시되지 않습니다.If the condition is true, a failure message is not sent and the message box is not displayed.

특성

예제

다음 예에서는 배열에 대 한 인덱스를 만들고, 몇 가지 동작을 수행 하 여 인덱스 값을 설정한 다음 Assert 를 호출 하 여 인덱스 값이 유효한 지 확인 합니다.The following example creates an index for an array, performs some action to set the value of the index, and then calls Assert to confirm that the index value is valid. 유효 하지 않으면 Assert 호출 스택을 출력 합니다.If it is not valid, Assert outputs the call stack.

// Create a local value.
int index;

// Perform some action that sets the local value.
index = -40;

// Test that the local value is valid. 
#if defined(DEBUG)
Debug::Assert( index > -1 );
#endif
// Create an index for an array.
 int index;

 // Perform some action that sets the index.
 index = -40;

 // Test that the index value is valid.
 Debug.Assert(index > -1);
' Create an index for an array.
Dim index As Integer

' Perform some action that sets the index.
index = -40

' Test that the index value is valid. 
Debug.Assert((index > - 1))

설명

기본적으로 메서드는 Debug.Assert 디버그 빌드에서만 작동 합니다.By default, the Debug.Assert method works only in debug builds. Trace.Assert릴리스 빌드에서 어설션을 수행 하려면 메서드를 사용 합니다.Use the Trace.Assert method if you want to do assertions in release builds. 자세한 내용은 관리 코드의 어설션을 참조하세요.For more information, see Assertions in Managed Code.

중요

AssertWindows 스토어 앱에 대해서는 메서드를 사용할 수 없습니다.The Assert methods are not available for Windows Store apps.

일반적으로 Assert(Boolean) 메서드는 프로그램을 개발 하는 동안 논리 오류를 식별 하는 데 사용 됩니다.Typically, the Assert(Boolean) method is used to identify logic errors during program development. Assert 조건을 평가 합니다.Assert evaluates the condition. 결과가 이면 false 컬렉션에 오류 메시지를 보냅니다 Listeners .If the result is false, it sends a failure message to the Listeners collection. 컬렉션에서를 추가 하거나 제거 하 여이 동작을 사용자 지정할 수 있습니다 TraceListener Listeners .You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

사용자 인터페이스 모드로 실행 되는 애플리케이션 파일 및 줄 번호를 사용 하 여 호출 스택을 보여 주는 메시지 상자가 표시 됩니다.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. 메시지 상자에는 중단, 다시 시도무시 의 세 가지 단추가 있습니다.The message box contains three buttons: Abort, Retry, and Ignore. 클릭 하 여 중단 단추 애플리케이션을 종료 합니다.Clicking the Abort button terminates the application. 클릭 다시 시도 애플리케이션에서 디버거를 실행 되 고 있지 않으면 디버거를 열려면 있는 경우 디버거에서 코드를 보냅니다.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. 무시 를 클릭 하면 코드의 다음 명령으로 계속 됩니다.Clicking Ignore continues with the next instruction in the code.

참고

Windows 8.x 스토어 앱은 모달 대화 상자를 지원 하지 않으므로 사용자 인터페이스 모드와 사용자가 아닌 인터페이스 모드에서 동일 하 게 동작 합니다.Windows 8.x Store apps do not support modal dialog boxes, so they behave the same in user interface mode and non-user interface mode. 메시지는 디버깅 모드의 활성 추적 수신기에 기록 되 고, 메시지는 릴리스 모드로 작성 되지 않습니다.The message is written to the active trace listeners in debugging mode, or no message is written in release mode.

참고

메시지 상자의 표시는의 존재 여부에 따라 달라 집니다 DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. DefaultTraceListener가 컬렉션에 없으면 Listeners 메시지 상자가 표시 되지 않습니다.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. DefaultTraceListener < clear > , < remove > 또는 Clear Listeners 속성 ()에서 메서드를 호출 하 여 제거할 수 있습니다 System.Diagnostics.Trace.Listeners.Clear() .The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

동작을 변경할 수는 DefaultTraceListener 애플리케이션의 이름에 해당 하는 구성 파일에 있습니다.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. 이 파일에서 assert 메시지 상자를 사용 하거나 사용 하지 않도록 설정 하거나 속성을 설정할 수 있습니다 DefaultTraceListener.LogFileName .In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. 구성 파일의 형식은 다음과 같아야 합니다.The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

추가 정보

적용 대상

Assert(Boolean, String)

조건을 확인합니다. 조건이 false이면 지정된 메시지를 출력하고 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)

매개 변수

condition
Boolean

계산할 조건부 식입니다.The conditional expression to evaluate. 조건이 true이면 지정된 메시지가 전송되지 않고 메시지 상자가 표시되지 않습니다.If the condition is true, the specified message is not sent and the message box is not displayed.

message
String

Listeners 컬렉션으로 보낼 메시지입니다.The message to send to the Listeners collection.

특성

예제

다음 예에서는 매개 변수가 유효한 지 여부를 확인 합니다 type .The following example checks whether the type parameter is valid. type가 이면 null Assert 메시지를 출력 합니다.If type is null, Assert outputs a message.

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null" );
   #endif
}
public static void MyMethod(Type type, Type baseType) {
    Debug.Assert(type != null, "Type parameter is null");

   // Perform some processing.
 }

Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert(Not (type Is Nothing), "Type parameter is null")
End Sub

설명

기본적으로 메서드는 Debug.Assert 디버그 빌드에서만 작동 합니다.By default, the Debug.Assert method works only in debug builds. Trace.Assert릴리스 빌드에서 어설션을 수행 하려면 메서드를 사용 합니다.Use the Trace.Assert method if you want to do assertions in release builds. 자세한 내용은 관리 코드의 어설션을 참조하세요.For more information, see Assertions in Managed Code.

일반적으로 Assert 메서드는 프로그램을 개발 하는 동안 논리 오류를 식별 하는 데 사용 됩니다.Typically, the Assert method is used to identify logic errors during program development. Assert 조건을 평가 합니다.Assert evaluates the condition. 결과가 이면 지정 된 false 진단 메시지를 컬렉션에 보냅니다 Listeners .If the result is false, it sends the specified diagnostic message to the Listeners collection. 컬렉션에서를 추가 하거나 제거 하 여이 동작을 사용자 지정할 수 있습니다 TraceListener Listeners .You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

사용자 인터페이스 모드로 실행 되는 애플리케이션 파일 및 줄 번호를 사용 하 여 호출 스택을 보여 주는 메시지 상자가 표시 됩니다.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. 메시지 상자에는 중단, 다시 시도무시 의 세 가지 단추가 있습니다.The message box contains three buttons: Abort, Retry, and Ignore. 클릭 하 여 중단 단추 애플리케이션을 종료 합니다.Clicking the Abort button terminates the application. 클릭 다시 시도 애플리케이션에서 디버거를 실행 되 고 있지 않으면 디버거를 열려면 있는 경우 디버거에서 코드를 보냅니다.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. 무시 를 클릭 하면 코드의 다음 명령으로 계속 됩니다.Clicking Ignore continues with the next instruction in the code.

참고

메시지 상자의 표시는의 존재 여부에 따라 달라 집니다 DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. DefaultTraceListener가 컬렉션에 없으면 Listeners 메시지 상자가 표시 되지 않습니다.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. DefaultTraceListener < clear > , < remove > 또는 Clear Listeners 속성 ()에서 메서드를 호출 하 여 제거할 수 있습니다 System.Diagnostics.Trace.Listeners.Clear() .The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

동작을 변경할 수는 DefaultTraceListener 애플리케이션의 이름에 해당 하는 구성 파일에 있습니다.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. 이 파일에서 assert 메시지 상자를 사용 하거나 사용 하지 않도록 설정 하거나 속성을 설정할 수 있습니다 DefaultTraceListener.LogFileName .In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. 구성 파일의 형식은 다음과 같아야 합니다.The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

추가 정보

적용 대상

Assert(Boolean, String, String)

조건을 확인합니다. 조건이 false이면 지정된 2개의 메시지를 출력하고 호출 스택을 보여주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message, string? detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string -> unit
static member Assert : bool * string * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessage As String)

매개 변수

condition
Boolean

계산할 조건부 식입니다.The conditional expression to evaluate. 조건이 true이면 지정된 메시지가 전송되지 않고 메시지 상자가 표시되지 않습니다.If the condition is true, the specified messages are not sent and the message box is not displayed.

message
String

Listeners 컬렉션으로 보낼 메시지입니다.The message to send to the Listeners collection.

detailMessage
String

Listeners 컬렉션으로 보낼 자세한 메시지입니다.The detailed message to send to the Listeners collection.

특성

예제

다음 예에서는 매개 변수가 유효한 지 여부를 확인 합니다 type .The following example checks whether the type parameter is valid. type가 이면 null Assert 두 메시지를 출력 합니다.If type is null, Assert outputs two messages.

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null", "Can't get object for null type" );
   #endif
}
public static void MyMethod(Type type, Type baseType) {
    Debug.Assert(type != null, "Type parameter is null",
       "Can't get object for null type");

   // Perform some processing.
 }

Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert( Not (type Is Nothing), "Type parameter is null", "Can't get object for null type")
    ' Perform some processing.
End Sub

설명

기본적으로 메서드는 Debug.Assert 디버그 빌드에서만 작동 합니다.By default, the Debug.Assert method works only in debug builds. Trace.Assert릴리스 빌드에서 어설션을 수행 하려면 메서드를 사용 합니다.Use the Trace.Assert method if you want to do assertions in release builds. 자세한 내용은 관리 코드의 어설션을 참조하세요.For more information, see Assertions in Managed Code.

일반적으로 Assert(Boolean, String, String) 메서드는 프로그램을 개발 하는 동안 논리 오류를 식별 하는 데 사용 됩니다.Typically, the Assert(Boolean, String, String) method is used to identify logic errors during program development. Assert 조건을 평가 합니다.Assert evaluates the condition. 결과가 이면 지정 된 false 진단 메시지와 자세한 메시지를 컬렉션에 보냅니다 Listeners .If the result is false, it sends the specified diagnostic message and detailed message to the Listeners collection. 컬렉션에서를 추가 하거나 제거 하 여이 동작을 사용자 지정할 수 있습니다 TraceListener Listeners .You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

사용자 인터페이스 모드로 실행 되는 애플리케이션 파일 및 줄 번호를 사용 하 여 호출 스택을 보여 주는 메시지 상자가 표시 됩니다.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. 메시지 상자에는 중단, 다시 시도무시 의 세 가지 단추가 있습니다.The message box contains three buttons: Abort, Retry, and Ignore. 클릭 하 여 중단 단추 애플리케이션을 종료 합니다.Clicking the Abort button terminates the application. 클릭 다시 시도 애플리케이션에서 디버거를 실행 되 고 있지 않으면 디버거를 열려면 있는 경우 디버거에서 코드를 보냅니다.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. 무시 를 클릭 하면 코드의 다음 명령으로 계속 됩니다.Clicking Ignore continues with the next instruction in the code.

참고

메시지 상자의 표시는의 존재 여부에 따라 달라 집니다 DefaultTraceListener .The display of the message box depends on the presence of the DefaultTraceListener. DefaultTraceListener가 컬렉션에 없으면 Listeners 메시지 상자가 표시 되지 않습니다.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. DefaultTraceListener < clear > , < remove > 또는 Clear Listeners 속성 ()에서 메서드를 호출 하 여 제거할 수 있습니다 System.Diagnostics.Trace.Listeners.Clear() .The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

동작을 변경할 수는 DefaultTraceListener 애플리케이션의 이름에 해당 하는 구성 파일에 있습니다.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. 이 파일에서 assert 메시지 상자를 사용 하거나 사용 하지 않도록 설정 하거나 속성을 설정할 수 있습니다 DefaultTraceListener.LogFileName .In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. 구성 파일의 형식은 다음과 같아야 합니다.The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

추가 정보

적용 대상

Assert(Boolean, String, String, Object[])

조건을 확인합니다. 조건이 false이면 두 개의 메시지(단순 및 서식 있는 메시지)를 출력하고 호출 스택을 보여 주는 메시지 상자를 표시합니다.Checks for a condition; if the condition is false, outputs two messages (simple and formatted) and displays a message box that shows the call stack.

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessageFormat, ... cli::array <System::Object ^> ^ args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessageFormat, params object[] args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message, string detailMessageFormat, params object?[] args);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string * obj[] -> unit
static member Assert : bool * string * string * obj[] -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessageFormat As String, ParamArray args As Object())

매개 변수

condition
Boolean

계산할 조건부 식입니다.The conditional expression to evaluate. 조건이 true이면 지정된 메시지가 전송되지 않고 메시지 상자가 표시되지 않습니다.If the condition is true, the specified messages are not sent and the message box is not displayed.

message
String

Listeners 컬렉션으로 보낼 메시지입니다.The message to send to the Listeners collection.

detailMessageFormat
String

Listeners 컬렉션에 보낼 복합 서식 문자열입니다.The composite format string to send to the Listeners collection. 이 메시지에는 args 배열의 개체에 해당하는 0개 이상의 서식 항목과 혼합된 텍스트가 포함됩니다.This message contains text intermixed with zero or more format items, which correspond to objects in the args array.

args
Object[]

형식을 지정할 개체를 0개 이상 포함하는 개체 배열입니다.An object array that contains zero or more objects to format.

특성

설명

이 메서드는 .net 복합 서식 지정 기능 을 사용 하 여 개체의 값을 해당 텍스트 표현으로 변환 하 고 문자열에 해당 표현을 포함 합니다.This method uses the .NET composite formatting feature to convert the value of an object to its text representation and embed that representation in a string. 결과 문자열이 컬렉션으로 전송 됩니다 Listeners .The resulting string is sent to the Listeners collection.

기본적으로 메서드는 Debug.Assert 디버그 빌드에서만 작동 합니다.By default, the Debug.Assert method works only in debug builds. Trace.Assert릴리스 빌드에서 어설션을 수행 하려면 메서드를 사용 합니다.Use the Trace.Assert method if you want to do assertions in release builds. 자세한 내용은 관리 코드의 어설션을 참조하세요.For more information, see Assertions in Managed Code.

일반적으로 Assert(Boolean, String, String, Object[]) 메서드는 프로그램을 개발 하는 동안 논리 오류를 식별 하는 데 사용 됩니다.Typically, the Assert(Boolean, String, String, Object[]) method is used to identify logic errors during program development. Assert 조건을 평가 합니다.Assert evaluates the condition. 결과가 인 경우 false String.Format(String, Object[]) 메서드가 호출 되 고 detailMessageFormat 문자열과 args 배열이 매개 변수로 전달 됩니다.If the result is false, The String.Format(String, Object[]) method is called and the detailMessageFormat string and args array are passed in as parameters. Assert(Boolean, String, String, Object[]) 그런 다음 지정 된 문자 메시지와 서식이 지정 된 문자 메시지를 Listeners 컬렉션에 보냅니다.Assert(Boolean, String, String, Object[]) then sends the specified text message and the formatted text message to the Listeners collection. 컬렉션에서를 추가 하거나 제거 하 여이 동작을 사용자 지정할 수 있습니다 TraceListener Listeners .You can customize this behavior by adding a TraceListener to, or removing one from, the Listeners collection.

사용자 인터페이스 모드로 실행 되는 애플리케이션 파일 및 줄 번호를 사용 하 여 호출 스택을 보여 주는 메시지 상자가 표시 됩니다.When the application runs in user interface mode, it displays a message box that shows the call stack with file and line numbers. 메시지 상자에는 중단, 다시 시도무시 의 세 가지 단추가 있습니다.The message box contains three buttons: Abort, Retry, and Ignore. 클릭 하 여 중단 단추 애플리케이션을 종료 합니다.Clicking the Abort button terminates the application. 클릭 다시 시도 애플리케이션에서 디버거를 실행 되 고 있지 않으면 디버거를 열려면 있는 경우 디버거에서 코드를 보냅니다.Clicking Retry sends you to the code in the debugger if your application is running in a debugger, or offers to open a debugger if it is not. 무시 를 클릭 하면 코드의 다음 명령으로 계속 됩니다.Clicking Ignore continues with the next instruction in the code.

참고

메시지 상자를 표시 하는 것은의 현재 상태에 따라 달라 집니다 DefaultTraceListener .The display of the message box is dependent on the presence of the DefaultTraceListener. DefaultTraceListener가 컬렉션에 없으면 Listeners 메시지 상자가 표시 되지 않습니다.If the DefaultTraceListener is not in the Listeners collection, the message box is not displayed. DefaultTraceListener < clear > , < remove > 또는 Clear Listeners 속성 ()에서 메서드를 호출 하 여 제거할 수 있습니다 System.Diagnostics.Trace.Listeners.Clear() .The DefaultTraceListener can be removed by the <clear>, the <remove>, or by calling the Clear method on the Listeners property (System.Diagnostics.Trace.Listeners.Clear()).

동작을 변경할 수는 DefaultTraceListener 애플리케이션의 이름에 해당 하는 구성 파일에 있습니다.You can change the behavior of the DefaultTraceListener in the configuration file that corresponds to the name of your application. 이 파일에서 assert 메시지 상자를 사용 하거나 사용 하지 않도록 설정 하거나 속성을 설정할 수 있습니다 DefaultTraceListener.LogFileName .In this file, you can enable and disable the assert message box or set the DefaultTraceListener.LogFileName property. 구성 파일의 형식은 다음과 같아야 합니다.The configuration file should be formatted as follows:

<configuration>  
  <system.diagnostics>  
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />  
  </system.diagnostics>  
</configuration>  

적용 대상