在Windows Mobile设备上运行代码分析器

时间:2013-02-18 12:24:15

标签: com windows-mobile profiling compact-framework windows-mobile-6

我正在尝试编写一个使用.NET分析API的COM服务器。此COM服务器将在Windows Mobile 6设备上运行。此COM服务器的目的是分析在同一设备上运行的.NET应用程序。但是,我无法在Windows Mobile SDK中找到以下头文件:

  1. cor.h
  2. corprof.h
  3. 这是否意味着我需要使用Windows(桌面)SDK中提供的相应版本来移植这些头文件?

    这些头文件定义了ICorProfilerCallBack接口系列,这些接口对于使用.NET Profiling API至关重要。

    我已经看过Windows SDK中存在的这些头文件,我发现它们包含许多与.NET框架的对象模型相关的平台特定信息,以及表示一个PE文件的PE文件的格式。 .NET程序集。看来我需要熟悉.NET在这些领域的实现细节才能成功移植。还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

您遇到的问题是您在一开始就做出了错误的假设,即Compact Framework支持任何ICorProfilerCallBack接口。它不是。如果你想进行性能分析,过去我见过/使用的其他分析器已经遵循了一些路径:

  1. 使用反射重建和检测桌面上的CF程序集。使用您自己的专有发布范例,您可以推出功能进入/退出消息等类似的东西。这对于代码分析很有用,但对内存分析没有那么多。
  2. 为CF构建Mono.Cecil并使用它在目标设备上进行仪器/发射。这比较慢,但更便携。
  3. 在CF中使用完全未记录的内存分析API,如the CF CLR Profiler用途。我已经找到了关于这些的任何文档并且空洞,我试图让微软在Codeplex上开源这个工具,但我在两者上都没有取得任何进展,所以这将是很多逆向工程使用现有工具和Wireshark的网络数据包。