如何访问WP7探查器创建的日志文件

时间:2012-01-11 21:29:47

标签: windows-phone-7

Windows手机性能分析会创建扩展名为.sap的文件。此.sap文件是一个xml文件,其中包含有关已探测内容的信息,即内存,代码和可视内容。它还包含指向日志文件的链接: 文件类型=“NativeFormat”Path =“PerformanceLogs \ SampleApp634619173996182143 \ tmp9EE1.tmp”

我无法打开tmp9EE1.tmp,因为我找不到Type =“NativeFormat”的含义。 基本上我想从profiler工具得到的是: - xml或csv或包含特定时间段内存消耗信息的任何文件 例如。 100 ms = 10 mb,200 ms = 12 mb,300 ms = 13 mb等。

而不是图形工具(由探查器提供),我希望得到任何可读格式文本,csv,xml。

如果有可能请告诉我。 谢谢

1 个答案:

答案 0 :(得分:1)

我不知道是否可以使用性能分析工具解决它,但您可以使用计时器执行此操作,然后自行记录。我使用此代码查看我的应用程序使用了多少内存,您可以调整它以满足您的需求。

还有一件事我把它添加到App-s构造函数中。

我希望这会对你有所帮助。

    var timer = new System.Windows.Threading.DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };
    timer.Tick += (s, e) =>
    {
        var mempeakuse = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage");
        var memuse = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage");
        var maxmem = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceTotalMemory");
        memuse /= 1024 * 1024;
        mempeakuse /= 1024 * 1024;
        maxmem /= 1024 * 1024;
        System.Diagnostics.Debug.WriteLine(String.Format("Mem usage: {0} / {1} / {2} MB", memuse, mempeakuse, maxmem));
    };
    timer.Start();