由于我的应用程序崩溃,我从 Windows 应用商店应用程序提交过程(由审阅者发送)中获得了一个小型转储。我在为我的应用程序加载符号时遇到问题,因为错误发生在App.ni.exe
我不知道来自哪里的文件内部。
我的应用程序只有一个App.exe
(和一些 DLL),但转储一直引用.ni.dll
和.ni.exe
. .appx
在我的或文件中找不到这些.appxsym
文件。
我的应用是为每个特定平台(x86、x64 和 ARM)构建的。在 stackdump 中崩溃的是 x64 版本。
我目前对windbg的尝试:
符号路径:
Srv*C:\Users\Vegard\Appdata\local\temp\SymbolCache*http://msdl.microsoft.com/download/symbols`
Windbg 尝试:
0:006> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
Unable to load image Newtonsoft.Json.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for Newtonsoft.Json.ni.dll
*** ERROR: Module load completed but symbols could not be loaded for Newtonsoft.Json.ni.dll
Unable to load image App.ni.exe, Win32 error 0n2
*** WARNING: Unable to verify checksum for App.ni.exe
*** ERROR: Module load completed but symbols could not be loaded for App.ni.exe
Unable to load image mscorlib.ni.dll, Win32 error 0n2
*** WARNING: Unable to verify checksum for mscorlib.ni.dll
更新:尝试 ngen App.exe(以管理员身份运行)我收到以下错误:
> ngen.exe install App.exe
[snip]
This operation is only valid in the context of an app container.
(Exception from HRESULT: 0x8007109A)
在这种情况下,什么是应用容器?我应该从哪里运行它?
更新:经过长时间的故障排除,并通过其他方式找出根本原因,我得出的结论是我得到的 minidump 文件缺少此信息。无论哄骗都可以让调试器加载文件的符号。