My.Application.Info.StackTrace 속성
업데이트: 2007년 11월
현재 스택 추적 정보를 가져옵니다.
' Usage
Dim value As String = My.Application.Info.StackTrace
' Declaration
Public ReadOnly Property StackTrace As String
반환 값
현재 스택 추적 정보를 포함하는 String 형식입니다. 반환 값은 Empty가 될 수 있습니다.
예외
다음 조건에서 예외가 발생할 수 있습니다.
- 요청한 스택 추적 정보가 범위 밖에 있는 경우(ArgumentOutOfRangeException)
설명
My.Application.Info.StackTrace 속성은 가장 최근의 메서드 호출이 첫 번째임을 나타내는 시간의 역순으로 메서드 호출을 나열하며 스택에 대한 각 메서드 호출을 별도의 줄에 나열합니다. 그러나 최적화를 수행하는 동안 발생하는 코드 변환으로 인해 My.Application.Info.StackTrace 속성은 예상했던 메서드 호출 수를 보고하지 않을 수도 있습니다.
일반적으로 스택 추적 정보는 응용 프로그램 디버깅에 사용됩니다.
각 메서드 호출에 대한 스택 추적 정보는 다음과 같이 지정됩니다.
"at FullClassName.MethodName(MethodParams) in FileName:line LineNumber "
리터럴 "at"은 세 개의 공백 다음에 오며 리터럴 "in" 및 ":line"은 디버그 기호를 사용할 수 없는 경우 생략됩니다. 자리 표시자 FullClassName, MethodName, MethodParams, FileName 및 LineNumber는 다음과 같이 정의된 실제 값으로 바뀝니다.
구성 요소 |
설명 |
---|---|
FullClassName |
네임스페이스를 포함하는 클래스의 전체 이름입니다. |
MethodName |
메서드의 이름입니다. |
MethodParams |
형식/이름 쌍의 매개 변수의 목록입니다. 각 쌍은 쉼표(,)로 구분됩니다. 이 정보는 MethodName이 매개 변수를 가져오지 않는 경우 생략됩니다. |
FileName |
MethodName 메서드가 선언된 소스 파일의 이름입니다. 이 정보는 디버그 기호를 사용할 수 없는 경우 생략됩니다. |
LineNumber |
호출 스택에 있는 명령에 대한 MethodName의 소스 코드를 포함하는 FileName에 있는 줄 번호입니다. 이 정보는 디버그 기호를 사용할 수 없는 경우 생략됩니다. |
My.Applicaiton.Info.StackTrace 속성은 StackTrace 속성과 비슷한 기능을 제공합니다.
예제
이 예제에서는 My.Application.Info.StackTrace 속성을 사용하여 코드가 실행하는 위치에 있는 응용 프로그램의 스택 추적을 표시합니다.
MsgBox("Stack trace: " & My.Application.Info.StackTrace)
요구 사항
네임스페이스:Microsoft.VisualBasic.ApplicationServices
클래스:AssemblyInfo
어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)
프로젝트 형식별 사용 가능 여부
프로젝트 형식 |
사용 가능 여부 |
---|---|
Windows 응용 프로그램 |
예 |
클래스 라이브러리 |
예 |
콘솔 응용 프로그램 |
예 |
Windows 컨트롤 라이브러리 |
예 |
웹 컨트롤 라이브러리 |
아니요 |
Windows 서비스 |
예 |
웹 사이트 |
아니요 |
권한
다음과 같은 사용 권한이 필요합니다.
권한 |
설명 |
---|---|
파일 경로에 있는 정보에 대한 액세스 가능성을 제어합니다. 연관된 열거형: PathDiscovery |
자세한 내용은 코드 액세스 보안 및 권한 요청을 참조하십시오.