System.Diagnostics.StackTrace를 사용하는 logger/exceptionfactory 모듈을 작성하여 호출 메소드 및 해당 선언 유형에서 속성을 가져 왔습니다. 그러나 릴리스 모드에서 Visual Studio 외부에서 코드를 실행하면 짧은 메서드 중 일부가 스택 추적에서 인라인되고 누락되는 것으로 나타났습니다. 이제 메소드가 런타임에 인라인 될지 테스트 할 방법이 없지만 모든 중요한 메소드를 [MethodImpl(MethodImplOptions.NoInlining)]
에 넣고 싶지는 않습니다. 그러나 기본 클래스의 메소드가 없어져서 레이어와 조작 정보를 잘못 읽을 수 있으며 잘못된 로그 또는 오판 된 예외가 발생할 수 있습니다..NET에 로그인하기위한 스택 추적
어디에서 언제 인라인됩니다. 가상 메소드, 정적 메소드, 기본 클래스 메소드가 다르게 취급됩니까? 어셈블리 내부를 인라인하는 것에 대해 걱정할 필요가 있습니까? 내부 네임 스페이스?
가능한 복제본 [CLR에서 인라인 될 수있는 방법은 언제입니까?] (http://stackoverflow.com/questions/4660004/when-is-a-method-eligible-to-be-inlined-by -the-clr) –