c# - 是否可以将 visual studio 性能分析与服务结构一起使用?

标签 c# .net visual-studio-2015 profiling azure-service-fabric

希望这很简单......

我想对我的服务结构集群进行性能分析。

到目前为止我: - 在不调试的情况下转到启动诊断工具。 - 通过向导选择我的服务结构项目作为启动项目。 - 然后它询问要包含哪些项目,所以我包含我的服务 exe - 然后我选择检测(我想要方法级计时)

然后我点击开始,我的 exe 立即崩溃。我认为这是因为 visual studio 试图在服务结构上下文之外将我的“服务”作为独立的 exe 运行。

虽然不知道该怎么办......

堆栈跟踪是:

调试:激活选项

未处理的异常:System.Fabric.FabricConnectionDeniedException:未授权连接 ---> System.Runtime.InteropServices.COMException:HRESULT 异常:0x80071C43 在 System.Fabric.Interop.NativeRuntime.FabricEndGetNodeContext(IFabricAsyncOperationContext 上下文) 在 System.Fabric.FabricRuntime.NativeFabricRuntimeFactory.GetNodeContextEndWrapper(IFabricAsyncOperationContext 上下文) 在 System.Fabric.Interop.AsyncCallOutAdapter2`1.Finish(IFabricAsyncOperationContext 上下文, bool 值 expectedCompletedSynchronously) --- 内部异常堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.ServiceFabric.Services.Runtime.RuntimeContext.d__3.MoveNext() --- 从抛出异常的先前位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.ServiceFabric.Services.Runtime.ServiceRuntime.d__0.MoveNext() --- 从抛出异常的先前位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.GetResult()

提前感谢您的帮助!

最佳答案

您看到的是 Visual Studio 尝试在 Service Fabric 运行时之外自行启动您的服务主机进程。通常,当您通过 Visual Studio 运行服务时,您会部署应用程序项目,该项目会在您的本地 Service Fabric 群集上完成注册和实例化服务的过程。

出于这个原因,检测目前不能直接用于 Service Fabric 项目。我们正在寻找在未来实现这一目标的方法。

您仍然可以进行采样分析,这允许您将分析器附加到正在运行的 EXE。在这种情况下,您需要先正常部署您的应用程序,然后将探查器附加到您的服务 EXE。

关于c# - 是否可以将 visual studio 性能分析与服务结构一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705891/

相关文章:

C# MySqlParameter 通配符搜索

html - Visual Studio 2015-如何禁用 "based on your project, we have identified extensions you may find helpful"消息?

c++ - Visual Studio 2015 中 Unresolved external symbol 链接器错误

c# - .NET 线程 : How to wait for other thread to finish some task

c# - 读取 sqlite 数据库文件并从中获取文本 C#

c# - Azure 文件存储 云文件

javascript - 将智能感知从 Visual Studio 2015 迁移到 VSCode

c# - 如何将 List<Int> 传递给 SQL Server 存储过程

.net - 为什么字体选择器对话框中没有显示已安装的字体?

.net - 您可以使用Reflector获取应用程序的源代码,然后使用该源代码进行调试吗?