我可以像这样启动一个应用程序:
dotnet myapp.dll
但是我该如何对其进行时间或内存分析呢?在Visual Studio for Mac社区版中,运行菜单下没有"Profile"选项(它需要企业版)。
本质上,我正在寻找与.NET Core 2.0中mono --profile=log
等效的方法。
我可以像这样启动一个应用程序:
dotnet myapp.dll
但是我该如何对其进行时间或内存分析呢?在Visual Studio for Mac社区版中,运行菜单下没有"Profile"选项(它需要企业版)。
本质上,我正在寻找与.NET Core 2.0中mono --profile=log
等效的方法。
Profiler API已经在.NET Core运行时中实现,并可在所有主要平台上使用:Windows,Linux和macOS。但是,它只在Windows和Linux上进行了彻底的测试。开发人员建议在macOS上进行性能分析时要谨慎,并设置一些验证测试。
目前,Microsoft仅为macOS提供Xamarin分析器。我会评估Visual Studio Enterprise for macOS - 它可以免费试用30天。
另一种方法是使用Microsoft Clr Samples repo中的.NET Core Profiling API示例的现有基本实现 - ProfilingAPI - ReJITEnterLeaveHooks
,如果需要,添加一些缺少的功能。有关详细信息,请参见CoreCLR GitHub repo问题#14786如何构建自己的.Net Core Profiler
否则,我不知道任何其他经过测试和生产就绪的macOS .NET Core分析器。