MarshalManagedExceptionMode 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 열거형은 관리되는 예외가 throw되고 해당 예외가 네이티브 코드에 도달할 때 수행할 작업을 지정하는 데 사용됩니다.
public enum MarshalManagedExceptionMode
type MarshalManagedExceptionMode =
- 상속
-
MarshalManagedExceptionMode
필드
| Name | 값 | Description |
|---|---|---|
| Default | 0 | 기본 모드입니다. 현재는 .와 동일합니다 ThrowObjectiveCException. |
| UnwindNativeCode | 1 | 런타임에서 네이티브 프레임을 해제합니다. 이 옵션은 CoreCLR 런타임을 사용할 때가 아니라 MonoVM 런타임을 사용하는 경우에만 사용할 수 있습니다. CoreCLR 런타임은 네이티브 프레임 해제를 지원하지 않으며 대신 프로세스를 중단합니다. CoreCLR 런타임은 macOS(Mac Catalyst 아님) 앱 또는 NativeAOT를 사용할 때 사용됩니다. 관리되는 예외가 네이티브 코드에 도달하면(앱이 크래시, 메모리 누수, 교착 상태 등) 정의되지 않은 동작으로 이어지기 때문에 이 옵션은 권장되지 않습니다(MonoVM 런타임은 네이티브 프레임을 해제하는 방법을 모르므로 어떤 일이든 발생할 수 있음). 권장되는 옵션은 .입니다 ThrowObjectiveCException. |
| ThrowObjectiveCException | 2 | 관리되는 예외를 Objective-C 예외로 변환합니다. 권장되는 옵션이며 기본 동작이기도 합니다. |
| Abort | 3 | 관리되는 예외가 네이티브 코드에 도달하면 중단합니다. 이 기능은 디버깅 중에 관리되는 예외가 네이티브 코드에 도달하는 시기를 쉽게 감지하는 데 유용할 수 있습니다. |
| Disable | 4 | 관리되는 예외 마샬링을 사용하지 않도록 설정합니다. 이는 이벤트가 발생하지 않는다는 점을 제외하고 사실상 동일합니다 UnwindNativeCode. |