Windows 10 Universal App(UAP)中的FileNotFoundException

我开发并发布了Windows通用应用程序。 要跟踪exception和应用程序使用情况,我启用了Application Insights,我可以使用以下调用堆栈找到FileNotFoundException:

at Mindapp!+0x6e58d1 at Mindapp!+0x6ee2a4 at Mindapp!+0x86bd63 --- End of stack trace from previous location where exception was thrown --- at Mindapp!+0x6e58d1 at Mindapp!+0x6ee2a4 at Mindapp!+0x86d250 --- End of stack trace from previous location where exception was thrown --- at Mindapp!+0x6e58d1 at Mindapp!+0x6ee2a4 at Mindapp!+0x880c5e --- End of stack trace from previous location where exception was thrown --- at Mindapp!+0x6e58d1 at Mindapp!+0x6ee2a4 at Mindapp!+0x8b3663 --- End of stack trace from previous location where exception was thrown --- at Mindapp!+0x6e58d1 at Mindapp!+0x6ee2a4 at Mindapp!+0x883601 --- End of stack trace from previous location where exception was thrown --- at Mindapp!+0x6e58d1 at Mindapp!+0x6ee17e at Mindapp!+0x7d6276 

不幸的是,我没有更多的信息。 是否有一个技巧可以获得有关此exception的更多详细信息?

部署时,UWP应用程序编译为.net native。 为了使上面的内容变成有用的东西,你需要这样的东西: https : //social.msdn.microsoft.com/Forums/en-US/529e6655-bbf2-4ffa-8dcb-b2691327c389/how-to -translate-堆栈踪迹,从净本土

遗憾的是,如果您拥有的是具有地址的堆栈跟踪,则不是一个很好的自动解决方案。 您可以使用本机Windows调试程序手动解码信息,方法是将应用程序dll打开为“转储”:

 windbg -z Your.App.dll 

然后,您可以发出lm命令以在调试器中查找DLL的基址,并使用ln命令将每个+偏移位置转换回符号(假设您有方便的PDB)。

 0:000> lm m My.App start end module name 00000000`00400000 00000000`00a08000 My.App C (private pdb symbols) My.App.pdb 0:000> ln 0x00400000+0x00021cc4 (00000000`00421cc4) My.App!RHBinder__DllMain 

这有点乏味但它应该完成工作。