Xamarin.android 使用命令行在Xamarin评测中触发快照

Xamarin.android 使用命令行在Xamarin评测中触发快照,xamarin.android,adb,Xamarin.android,Adb,我使用以下技术从android设备为我的应用程序拍摄堆快照 启用heapshot日志记录: adb shell setprop debug.mono.profile日志:heapshot 启动你的应用程序。(如果您的应用程序在(1)之前已经运行,请终止并重新启动它。) 使用你的应用程序 获取应用程序的配置文件数据: adb pull/data/data/@PACKAGE_NAME@/files/覆盖/profile.mlpd @PACKAGE_NAME@是应用程序的包名,例如,如果您的包是Foo

我使用以下技术从android设备为我的应用程序拍摄堆快照

  • 启用heapshot日志记录:

    adb shell setprop debug.mono.profile日志:heapshot

  • 启动你的应用程序。(如果您的应用程序在(1)之前已经运行,请终止并重新启动它。)

  • 使用你的应用程序

  • 获取应用程序的配置文件数据:

    adb pull/data/data/@PACKAGE_NAME@/files/覆盖/profile.mlpd @PACKAGE_NAME@是应用程序的包名,例如,如果您的包是FooBar.FooBar-Signed.apk,那么@PACKAGE_NAME@将是FooBar.FooBar

  • 当我在Xamarin profiler中打开生成的mlpd文件时,它显示所有分配,但不显示任何快照/活动对象


    如何通过命令行触发快照?是否有任何adb命令或可能用于特定快照?因为我在所有场景中都实现了自动化。

    非常旧的帖子,但仍然发布答案,可能会帮助其他需要帮助的人: 使用下面的命令:

  • 首先设置属性

    adb shell setprop debug.mono.profile日志:alloc,maxframes=2,heapshot=10000ms

  • 重新启动应用程序&操作/测试用例后使用以下命令拉取文件

    adb shell pull/data/data/@PACKAGE_NAME@/files/覆盖/profile.mlpd profile1.mlpd

  • 分析完成后,强制停止应用程序以停止分析

    adb外壳am强制停止@包装名称@

  • 有关更多信息,请参阅链接: