在Intel计算机上为托管程序集生成ARM代码

时间:2013-06-27 14:21:57

标签: .net windows-phone ngen windows-rt

this question直接相关。

鉴于Windows Phone的托管程序集,如何为ARM CPU生成本机代码?我没有Windows / ARM设备(平板电脑和手机)。那里有ngen实用程序,但是AFAIK它只能为主机(即Intel)生成代码。

我之所以要问,Windows Phone开发中心提供的崩溃堆栈中的偏移量不是MSIL偏移量(我已经检查过 - 它们超出了MSIL函数的大小)。这些看起来像本机代码偏移。现在,无法保证离线生成的ARM代码与手机上执行的代码完全匹配,但至少有一些相似之处。

编辑:crossgen工具听起来很像。但我无法让它发挥作用;说file "..." or one of its dependencies was not found - 文件就在那里,我正在指定/ MissingDependenciesOK标志。

1 个答案:

答案 0 :(得分:1)

无论您在本地生成什么,您都不会获得与您在商店中看到的设备输出相匹配的精确偏移,因为有一个额外的最终编译步骤仅在安装时在设备可以进一步更改您在本地生成的任何偏移量。

人们经常设置Application.UnhandledException事件,而不是跟踪那些原始堆栈,以便您使用额外的调试信息捕获真实的托管堆栈,然后通过让用户将崩溃邮件发送给自己,或者通过设置Web服务来收集它们。