【问题标题】:Generating ARM code for a managed assembly on an Intel machine在 Intel 机器上为托管程序集生成 ARM 代码
【发布时间】:2013-06-27 14:21:56
【问题描述】:

this question直接相关。

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    人们通常设置Application.UnhandledException 事件,而不是跟踪这些原始堆栈,以便您使用额外的调试信息捕获真正的托管堆栈,然后将其发送给自己,方法是让用户将崩溃邮件发送给他们,或者通过设置建立一个网络服务来收集它们。

    【讨论】:

      猜你喜欢
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多