试图从转储文件调试Windows Store应用试图从转储文件调试Windows Store应用(T

2019-05-12 07:23发布

让我先从我的主要问题,那么下面我将添加一些细节和历史。 我已经做了研究,但似乎无法适应拼在一起。 表决我下来之前,请要求澄清。

我的问题:
为什么我的Windows商店应用启动和正确本地我赢8.1的64位和我赢8.1 32位(凌动)平板电脑上运行,但不启动其他用户?

当我从Windows应用商店认证故障转储文件,我怎么能得到调试符号来工作,所以我可以看到更多的问题?

当我建立“释放”模式,它实际上把符号到.pdb文件? 它是否索引符号?

这里的历史:
我公司开发的小游戏作为一个通用的应用程序,赢手机和Windows应用商店。 赢手机版是在店里,得到下载,并能正常工作。

Windows应用商店的版本有问题。

它运行在我的机器,运8.1 64位上。 它运行在我的平板电脑,赢8.1的Atom,这是我从Visual Studio中通过远程调试安装。 在这里传递我的盒子的应用程序认证。 但是,当我提交包到Windows应用商店的不通过,并报告说,在启动时崩溃。 (不知何故第一APPX包发布于商店,再后来,他们回答说,它崩溃,所以一些用户说,应用程序不会加载。)

所以,我下载的调试数据,开辟.dmp文件。 我得到异常代码0xC000027B

网上周围挖,我觉得这是一个“语言异常”,并且是一个普遍的错误说法错误是未处理的。 下面这样的文章( http://blogs.msdn.com/b/ntdebugging/archive/2014/01/13/debugging-a-windows-8-1-store-app-crash-dump.aspx )

我试图让我的应用程序的符号加载,看看是否会有所帮助。 我增加了我的应用程序文件夹到我的本地符号缓存文件夹(C:\符号\对myApp \ 1.3.0.7)思维的Visual Studio将它们捡起来,并复制该.exe,.dll和.pdb文件从APX包我已经提交到店,但仍获得这些信息:

'WER38D7.tmp.dmp'(内存转储):加载 '* CryptoQuoteW8cs.exe'。 模块始建无符号。
'WER38D7.tmp.dmp'(CLR v4.0.30319:):加载 '* CryptoQuoteW8cs.exe'。 没有匹配的二进制发现。
'WER38D7.tmp.dmp'(CLR v4.0.30319:):加载 '* CryptoLogic.DLL'。 没有匹配的二进制发现。
致命的异常事件是由运行时捕获。 见$ stowedexception在监视窗口中查看原始异常信息。

所以,我很茫然。 我如何得到我的应用程序的工作? 什么错误是持有它呢? 为什么它的工作,并在当地通过认证,而不是在商店? 我怎样才能找到? 我已经遍布Bing和微软,也许我只是没有寻找正确的事情。 请帮忙!

编辑:
从啰嗦,我得到这个调用堆栈。

combase!RoFailFastWithErrorContextInternal2(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V2 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10a [d:\blue_gdr\com\combase\winrt\error\error.cpp @ 1035]
combase!RoFailFastWithErrorContextInternal(HRESULT hrError = 0xaaaaaaaa, unsigned long cStowedExceptions = 0xaaaaaaaa, struct _STOWED_EXCEPTION_INFORMATION_V1 ** aStowedExceptionPointers = 0xaaaaaaaa)+0x10b [d:\blue_gdr\com\combase\winrt\error\error.cpp @ 948]
kernel32!BaseThreadInitThunk+0xe
ntdll!__RtlUserThreadStart+0x20
ntdll!_RtlUserThreadStart+0x1b

Answer 1:

OK,用的帮助下WinDBG的扩展PDE.dll从安德鲁·理查兹 ,我看你的应用程序崩溃,因为没有处理的System.UnauthorizedAccessException的 。

我用!PDE.dpx -dse来展示所有存放例外(那些0xC000027B例外):

0:006> !PDE.dpx -dse
Start memory scan  : 0x0551fc7c ($csp)
End memory scan    : 0x05520000 (User Stack Base)

0x0551fc94 : 0x012db914 :  !dse combase!STOWED_EXCEPTION_INFORMATION_V1
0x0551fcdc : 0x0163c168 :  !dse combase!STOWED_EXCEPTION_INFORMATION_V1

现在我用PDE.dse来显示其数据!

0:006> !PDE.dse 0551fc94
Stowed Exception Array @ 0x0551fc94

Stowed Exception #1 @ 0x012db914
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x163c528
        770ba9f1 combase!RoOriginateLanguageException+0x3b
        6f137872 clr!SetupErrorInfo+0x1e1
        6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d

>>> Associated CLR Exception <<<

Exception object: 02b424f8
Exception type:   System.UnauthorizedAccessException
Message:          <Invalid Object>
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00000000 00000001 UNKNOWN!UNKNOWN+0x2
    0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
    0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11

StackTraceString: <none>
HResult: 80070005

0:006> !PDE.dse 0163c168
Stowed Exception Array @ 0x0163c168

Stowed Exception #1 @ 0x012db914
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x163c528
        770ba9f1 combase!RoOriginateLanguageException+0x3b
        6f137872 clr!SetupErrorInfo+0x1e1
        6f1fbc91 clr!MarshalNative::GetHRForException_WinRT+0x7d

>>> Associated CLR Exception <<<

Exception object: 02b424f8
Exception type:   System.UnauthorizedAccessException
Message:          <Invalid Object>
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00000000 00000001 UNKNOWN!UNKNOWN+0x2
    0551FC58 015702E9 CryptoQuoteW8cs!UNKNOWN+0x81
    0551FC6C 01570251 CryptoQuoteW8cs!UNKNOWN+0x11

StackTraceString: <none>
HResult: 80070005

Stowed Exception #2 @ 0x01639748
    0x80070005 (FACILITY_WIN32 - Win32 Undecorated Error Codes): E_ACCESSDENIED - General access denied error

    Stack    : 0x69d29c4
        6d33bd5e Windows_UI_Xaml!DirectUI::Application::MainASTAInitialize+0xa9
        6d33bb05 Windows_UI_Xaml!DirectUI::FrameworkView::Initialize+0x5a
        6dc5a597 twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0xa7
        6dc5a6eb twinapi_appcore!Windows::ApplicationModel::Core::CoreApplicationView::CreateAndInitializeFrameworkView+0x1fb
        74b2a83a SHCore!Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<2>,CScalingInfoBase,Microsoft::WRL::FtmBase,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil,Microsoft::WRL::Details::Nil>::`vector deleting destructor'+0x189
        772c919f kernel32!BaseThreadInitThunk+0xe
        775a0bbb ntdll!__RtlUserThreadStart+0x20
        775a0b91 ntdll!_RtlUserThreadStart+0x1b

在这里,你可以看到,在垫层问题是System.UnauthorizedAccessException的。 该DMP只是一个小型转储,所以我不能看到什么CryptoQuoteW8cs!UNKNOWN+0x81一样。

使用Application.UnhandledException事件来处理,你有没有通过try / catch语句处理,以阻止应用崩溃异常。

下面是关于如何处理异常具有很好的指导:

策略在Windows Store的应用程式错误处理



文章来源: Trying to debug Windows Store App from dump files