Символическое исключение приложения UWP, созданного с помощью .NET Native.

В журналах загруженного приложения Магазина Windows я нахожу следующее исключение:

Arg_ArgumentException --> System.ArgumentException: Arg_ArgumentException at SharedLibrary!<BaseAddress>+0x3a13ad at my-app!<BaseAddress>+0xf29d82h at my-app!<BaseAddress>+0xf29cdc at my-app!<BaseAddress>+0x10e0844 at my-app!<BaseAddress>+0x14fbe60 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at SharedLibrary!<BaseAddress>+0x502089 at System.Threading.ContextCallback.Invoke(Object state) at SharedLibrary!<BaseAddress>+0x3e683c

Чтобы обозначить трассировку, я попытался использовать WindowsDevCenterStacktraceSymbolicater и StackParser инструментов corefx вместе с PDB приложения, что изменит трассировку к:

Arg_ArgumentException --> System.ArgumentException: Arg_ArgumentException at SharedLibrary!COM+_Entry_Point+0x3a13ad at my-app!COM+_Entry_Point+0xf29d82 at my-app!COM+_Entry_Point+0xf29cdc at my-app!COM+_Entry_Point+0x10e0844 at my-app!COM+_Entry_Point+0x14fbe60 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at SharedLibrary!COM+_Entry_Point+0x502089 at System.Threading.ContextCallback.Invoke(Object state) at SharedLibrary!COM+_Entry_Point+0x3e683c

Есть ли способ разрешить ссылки COM+_Entry_Point в этом сценарии? Как?


person Gene    schedule 11.10.2019    source источник


Ответы (1)


Вместо PDB, помещенного в выходную папку вашего приложения, используйте файл PDB, помещенный в подкаталог ilc (который намного больше). С этой PDB трассировка стека будет правильно символизирована с использованием одного из инструментов, упомянутых выше.

person Gene    schedule 11.10.2019