MarshalManagedExceptionMode 열거형

정의

이 열거형은 관리되는 예외가 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.

적용 대상