是否可以在服务结构中使用visual studio性能分析?

Ste*_*eve 10 .net c# profiling visual-studio-2015 azure-service-fabric

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

我想要性能配置我的服务结构集群.

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

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

虽然不知道怎么办...

堆栈跟踪是:

DEBUG:激活选项

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

我在这里先向您的帮助表示感谢!

Vac*_*cek 5

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

由于这个原因,Instrumentation目前无法与Service Fabric项目一起开箱即用.我们正在研究如何在未来实现这一目标.

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

  • 您能否就抽样分析提供更多指导? - 我唯一能找到的是过时的MSDN文章,要求我[点击不存在的东西](https://msdn.microsoft.com/en-us/library/ms182384.aspx). - 我正在使用VS2015 Update 3的企业SKU. - 点击一下即可. (2认同)