什么工具你知道,其他比那些在Visual Studio,分析业绩的瓶颈,在Windows CE/移动应用程序?我在寻找的东西喜欢AQTime CE/移动,配置文件C/C++编制应用程序原代码。

有帮助吗?

解决方案

我还没有找到任何这样的工具为WindowsMobile为本地发展。

最近的我发现是EnTrek工具(CodeSnitch/ProcMan),但他们不是真的分析工具。http://www.entrek.com/products.htm

我们怎么做的就是建立自己的分析支持,进入我们自己的产品使用的Vistual工作室"/callcap"关于VC++.使用那个开关,你可以建立一个分析库甩出时间并计算,无论你喜欢的。它主要工作了好的我们,但是有时的开销这些钩子函数可能太多,它可以扭曲时结果领域的大量功能的电话。

从MSDN文档:

这/callcap选择的原因 编译器插入的电话分析 钩在一开始和结束的每一个 功能。

你必须编制分析挂钩 没有callcap开关。如果你 编写分析钩子函数 与callcap交换机的功能 将进行无限recursive calls 自己。

以下代码的例子, Callcaphooks.c显示一个分析挂钩 功能,_CAP_Enter_Function, 汇编不callcap.

// File: callcaphooks.c

#include <stdio.h>
int main();

void _CAP_Enter_Function(void *p) 
{
    if (p != main) 
        printf("Enter function   (at address %p) at %d\n", 
            p, GetTickCount());
        return;
}
void _CAP_Exit_Function(void *p) 
{
    if (p != main) 
        printf("Leaving function (at address %p) at %d\n", 
            p, GetTickCount());
    return;
}

其他提示

Windows CE支持远程呼叫分析器(如果OEM已添加支持它)开箱即用。我相信,WinMo图像通常已经在图像中得到了支持。对于CE,您需要IMAGEPROFILER环境变量集(使用项目属性)。

MSDN中不清楚的是如何检测不是使用Platform Builder构建的应用程序,但它实际上非常简单。您必须将/ callcap swith添加到编译器命令行,并将cecap.lib添加到链接器设置。

当然,您需要一个工具来捕获和显示探查器数据。为此,您可以使用Platform Builder的评估版( 5.0 6.0())(eval是免费的)或 eVC 4.0 (也是免费的)。

有关探查器使用情况的更多信息,来自CE核心团队的Sue Loh在博客上发表了一些博文。

我为Windows Mobile编写了一个Call Graph探测器。它目前(截至2010年1月)处于测试阶段,可以免费下载。

http://www.codeprophet.co.cc

HTH

-Zak

如果您正在进行.NET CF开发,请查看适用于.NET CF 3.5的Power Toys 用于帮助您查明瓶颈的实用程序,尤其是与内存相关的瓶颈。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top