.net 为英特尔计算机上的托管程序集生成ARM代码

.net 为英特尔计算机上的托管程序集生成ARM代码,.net,windows-phone,ngen,windows-rt,.net,Windows Phone,Ngen,Windows Rt,与……直接相关 给定Windows Phone的托管程序集,如何为其生成ARM CPU的本机代码?我没有Windows/ARM设备(平板电脑和手机都没有)。有一个ngen实用程序,但它只能为主机(即英特尔)生成代码 我之所以这么问,是因为Windows Phone开发中心提供的崩溃堆栈中的偏移量不是MSIL偏移量(我已经检查过了,它们远远超出了MSIL函数的大小)。这些看起来像本机代码偏移量。现在,无法保证离线生成的ARM代码与手机上执行的代码完全匹配,但至少会有一些相似之处 编辑:crossg

与……直接相关

给定Windows Phone的托管程序集,如何为其生成ARM CPU的本机代码?我没有Windows/ARM设备(平板电脑和手机都没有)。有一个
ngen
实用程序,但它只能为主机(即英特尔)生成代码

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


编辑:
crossgen
工具听起来很像。但我不能让它工作;显示
文件“…”或未找到其依赖项之一
-文件就在那里,我正在指定/MissingDependenciesOK标志。

无论您在本地生成什么,您都无法获得与存储上看到的设备输出相匹配的确切偏移量,因为存在额外的偏移量,最终编译步骤,仅在设备安装时完成,可进一步更改本地生成的任何偏移量


与跟踪原始堆栈不同的是,人们通常设置事件,以便您使用额外的调试信息捕获真正的托管堆栈,然后将其发送给自己,或者让用户将崩溃信息邮寄进来,或者通过设置web服务来收集它们。

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

与跟踪原始堆栈不同的是,人们通常设置事件,以便您使用额外的调试信息捕获真正的托管堆栈,然后将其发送给自己,或者让用户将崩溃发送进来,或者设置web服务来收集它们