行
我们有一个运行WPF应用程序的Adobe Air(AS3)应用程序。但WPF应用程序无法以这种方式运行。我在EventViewer
中找到了以下错误消息:
Faulting application name: Easysoft_MultiTouch_Document.exe, version: 1.0.0.0, time stamp: 0x4f0f2f9e
Faulting module name: KERNELBASE.dll, version: 6.1.7600.16385, time stamp: 0x4a5bdfe0
Exception code: 0xe0434352
Fault offset: 0x000000000000aa7d
Faulting process id: 0xeac
Faulting application start time: 0x01ccd20c9e406d25
Faulting application path: E:\Apps\PDFProgram\Easysoft_MultiTouch_Document.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: dc656dc1-3dff-11e1-8870-00268330b66c
以下是运行WPF应用程序的Adobe Air代码:
// following condition is true
if(NativeProcess.isSupported)
{
var file:File = new File("E:\\Apps\\GalleryProgram\\Easysoft_MultiTouch_Document.exe");
trace(file.name);
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
//....
}
我写了另一个C#应用程序来运行这个WPF可执行文件,但它也失败了。
如何解决这个问题? WPF应用程序可以通过这种方式运行吗?任何解决方案?
提前致谢...
答案 0 :(得分:2)
您从流程中看到的特定异常代码是0xe0434352。这表明托管异常被抛出。这意味着WPF进程很可能正在启动,至少要加载CLR并运行托管代码,然后抛出未处理的托管异常。
这意味着故障最有可能出现在WPF应用程序中。你有没有确认它可以在盒子上独立运行?如果是这样,那么我会设置调试器在应用程序启动时附加,通过Adobe Air运行场景并查看此进程崩溃的原因。
答案 1 :(得分:1)
我会尝试在WPF应用程序中引入阻塞点并将异常记录到文本文件中,以便您获得有关错误的其他信息,如下所示:
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
然后,在回调中,将任何异常详细信息写入文件:
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
if (e.IsTerminating)
{
// Add your logging code here.
}
}
通过这种方式,您可以获得有关坠机背后原因的更多信息,您可以在那里开始。