Символическое исключение из приложения UWP, созданного с помощью .NET Native - PullRequest
0 голосов
/ 11 октября 2019

В журналах загруженного приложения Магазина 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-tools вместе с 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 в этом сценарии? Как?

1 Ответ

0 голосов
/ 11 октября 2019

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

...