Generate ARM code for a managed assembly on an Intel computer

Directly related to this issue .

Given a managed build for Windows Phone, how can I generate native code for an ARM processor? I do not have a Windows / ARM device (neither tablet nor phone). There is a ngen utility ngen , but AFAIK can only generate code for the host machine (i.e. Intel).

The reason I ask is, the offsets in the crash stack that Windows Phone Dev Center provides are not MSIL offsets (I checked - they go beyond the size of the MSIL function). They look like native code offsets. Now there is no guarantee that the ARM code created in standalone mode will exactly match what is running on the phone, but at least there will be some kind of visibility.

EDIT: The crossgen instrument sounds like a thing. But I cannot make it work; says file "..." or one of its dependencies was not found - the file is right there, and I specify the / MissingDependenciesOK flag.

+1
windows-phone windows-rt ngen
source share
1 answer

Regardless of what you create locally, you are not going to get the exact offsets that correspond to the output of the device that you see in the store, since there is an additional, final stage of compilation, which is performed only during installation on the device, which can additionally change any offsets that you create locally.

Instead of tracking these raw stacks, people often throw an Application.UnhandledException event so that you grab a real managed stack with additional debugging information and then send it to yourself, either by asking users to send an error message, or by setting up a web service to collect them.

+1
source share

All Articles