2017-06-25 40 views
1

所以,問題:我已經在UWP上編寫了使用C#和C++編寫的應用程序。它的工作原理是在發佈和調試模式下必須在桌面上工作。在C++部分發生某些變化之前不久,它就在移動設備和仿真器上工作。但是現在,如果應用程序在模擬器或移動設備上打開,則應用程序在C++部件開始時崩潰。 MSVS給我這個消息,但它沒有幫助:在設備和模擬器上的UWP中的例外

  • 在rhodes.exe中0x7767B928(ntdll.dll)引發異常:0xC0000139:找不到入口點。
  • 拋出的異常:System.Private.Interop.dll中的'System.Runtime.InteropServices.COMException'
  • 無法找到指定的過程。 (從HRESULT異常:0x8007007F)
  • 拋出異常: 'System.Runtime.InteropServices.COMException' 在System.Private.Interop.dll
  • 異常在rhodes.exe在0x76EA2812(KernelBase.dll)拋出:0x40080201:WinRT的發生錯誤(參數:0x8007007F,0x00000050,0x03B0E2DC)。

任何想法?

+0

您需要使用發佈選項安裝應用程序。 ntdll.dll是一個dll,被Net Library使用,並且在運行應用程序的PC上需要它。它在安裝的個人電腦上丟失或者在安裝的個人電腦上安裝了錯誤的dll版本。當你公開和應用並安裝所需的dll時也會被安裝。該問題可能是由於網絡庫未安裝在PC上而發生的。因此,發佈應用程序,然後像運行任何商業軟件包一樣運行setup.exe將會安裝缺失的dll – jdweng

+0

你所說的沒有任何意義。 ntdll.dll是Windows操作系統的核心部分 - 它不會與您的應用程序一起部署。 – Sunius

回答

0

轉到Debug - > Windows - > Exception,並打開所有異常類型(C++,CLR和Win32)。根據問題的來源,您需要使用本地或託管模式調試(您可以在「項目屬性」 - >「調試」選項卡中進行設置)。現在,當你遇到這個異常時,該項目應該達到一個斷點,這將指示它來自哪裏。

+0

在這種情況下,我收到一條消息:app.exe中的0x76EA2812引發異常:Microsoft C++異常:內存位置的Cn :: XH 0x0387E634 – Hramovnik

+0

只需繼續過濾您不關心的異常。 – Sunius

+0

如果我這樣做,我會收到消息,我寫在主題頭... – Hramovnik

相關問題