Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何调试堆栈跟踪中没有我的代码跟踪的代码?_C#_Debugging_Asp.net Web Api_Web - Fatal编程技术网

C# 如何调试堆栈跟踪中没有我的代码跟踪的代码?

C# 如何调试堆栈跟踪中没有我的代码跟踪的代码?,c#,debugging,asp.net-web-api,web,C#,Debugging,Asp.net Web Api,Web,我有一个web API应用程序,出现以下错误: at System.Collections.Generic.List`1.Enumerator.MoveNext() at System.Linq.Enumerable.<ConcatIterator>d__58`1.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnum

我有一个web API应用程序,出现以下错误:

at System.Collections.Generic.List`1.Enumerator.MoveNext()
at System.Linq.Enumerable.<ConcatIterator>d__58`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at System.Web.Http.Services.DefaultServices.GetServices(Type serviceType)
at System.Web.Http.ServicesExtensions.GetServices[TService](ServicesContainer services)
at System.Web.Http.ModelBinding.ModelBinderAttribute.GetModelBinderProvider(HttpConfiguration configuration)
at System.Web.Http.ModelBinding.ModelBinderAttribute.GetModelBinder(HttpConfiguration configuration, Type modelType)
at System.Web.Http.ModelBinding.ModelBinderAttribute.GetBinding(HttpParameterDescriptor parameter)
at System.Web.Http.ModelBinding.DefaultActionValueBinder.GetParameterBinding(HttpParameterDescriptor parameter)
at System.Array.ConvertAll[TInput,TOutput](TInput[] array, Converter`2 converter)
at System.Web.Http.ModelBinding.DefaultActionValueBinder.GetBinding(HttpActionDescriptor actionDescriptor)
at System.Web.Http.Tracing.Tracers.ActionValueBinderTracer.System.Web.Http.Controllers.IActionValueBinder.GetBinding(HttpActionDescriptor actionDescriptor)
at System.Web.Http.Controllers.HttpActionDescriptor.get_ActionBinding()
at System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem..ctor(HttpControllerDescriptor controllerDescriptor)
at System.Web.Http.Controllers.ApiControllerActionSelector.GetInternalSelector(HttpControllerDescriptor controllerDescriptor)
at System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)
at System.Web.Http.Tracing.Tracers.HttpActionSelectorTracer.<>c__DisplayClass2.<System.Web.Http.Controllers.IHttpActionSelector.SelectAction>b__0()
at System.Web.Http.Tracing.ITraceWriterExtensions.TraceBeginEnd(ITraceWriter traceWriter, HttpRequestMessage request, String category, TraceLevel level, String operatorName, String operationName, Action`1 beginTrace, Action execute, Action`1 endTrace, Action`1 errorTrace)
at System.Web.Http.Tracing.Tracers.HttpActionSelectorTracer.System.Web.Http.Controllers.IHttpActionSelector.SelectAction(HttpControllerContext controllerContext)
at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)
at System.Web.Http.Tracing.Tracers.HttpControllerTracer.<ExecuteAsyncCore>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Tracing.ITraceWriterExtensions.<TraceBeginEndAsyncCore>d__18`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
在System.Linq.Enumerable.d_u58`1.MoveNext()中
在System.Linq.Buffer`1..ctor处(IEnumerable`1源)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1源)
位于System.Web.Http.Services.DefaultServices.GetServices(类型serviceType)
在System.Web.Http.ServicesExtensions.GetServices[TService](ServicesContainer服务)
位于System.Web.Http.ModelBinding.ModelBinderAttribute.GetModelBinderProvider(HttpConfiguration)
位于System.Web.Http.ModelBinding.ModelBinderAttribute.GetModelBinder(HttpConfiguration配置,类型modelType)
位于System.Web.Http.ModelBinding.ModelBinderAttribute.GetBinding(HttpParameterDescriptor参数)
位于System.Web.Http.ModelBinding.DefaultActionValueBinder.GetParameterBinding(HttpParameterDescriptor参数)
在System.Array.ConvertAll[TInput,TOutput](TInput[]数组,Converter`2 Converter)
位于System.Web.Http.ModelBinding.DefaultActionValueBinder.GetBinding(HttpActionDescriptor actionDescriptor)
位于System.Web.Http.Tracing.Tracers.ActionValueBinderTracer.System.Web.Http.Controllers.IActionValueBinder.GetBinding(HttpActionDescriptor actionDescriptor)
在System.Web.Http.Controllers.HttpActionDescriptor.get_ActionBinding()上
位于System.Web.Http.Controllers.ApiControllerActionSelector.ActionSelectorCacheItem..ctor(HttpControllerDescriptor controllerDescriptor)
位于System.Web.Http.Controllers.ApiControllerActionSelector.GetInternalSelector(HttpControllerDescriptor controllerDescriptor)
在System.Web.Http.Controllers.ApiControllerActionSelector.SelectAction(HttpControllerContext controllerContext)
在System.Web.Http.Tracing.Tracers.HttpActionSelectorTracer.c_uuDisplayClass2.b_uuu0()中
在System.Web.Http.Tracing.ITraceWriterExtensions.TraceEnginend(ITraceWriter traceWriter、HttpRequestMessage请求、字符串类别、TraceLevel、字符串运算符名称、字符串运算符名称、操作'1 BeginCe、操作执行、操作'1 endTrace、操作'1 errorTrace)
位于System.Web.Http.Tracing.Tracers.HttpActionSelectorTracer.System.Web.Http.Controllers.IHttpActionSelector.SelectAction(HttpControllerContext controllerContext)
位于System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext,CancellationToken CancellationToken)
在System.Web.Http.Tracing.Tracers.HttpControllerTracer.d_u5.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在System.Web.Http.Tracing.itraceWriteExtensions.d_u18`1.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u1.MoveNext()中
这里没有显示我的代码的任何部分。我如何调试这个

我已经通过AppDomain.CurrentDomain.UnhandledException执行了一个全局异常处理程序,它没有被命中。我已经在web API中添加了一个自定义的
例外过滤器
,并且再次声明,它不会针对此错误执行


我不知道如何调试这个。您能帮忙吗?

内部的例外情况是什么?在内部异常中,您有更多关于从任务构造中抛出的实际异常的信息(这是您看到的),它会吞下异常并将其包装到自己的中。未经指示不得投掷to@eranotzap,这就是为什么我问如何调试。这就是我所能得到的。我调用了一个服务,一个简单的get服务,死亡的黄页伴随着这个消息。事件查看器中没有任何内容,全局异常处理程序或ExceptionFilter中没有任何内容。我从未使用过异常筛选器。。。您说您的应用程序注册到AppDomain.CurrentDomain.UnhandledException事件正确吗?哦。。现在我明白了。您说过它没有命中。TaskScheduler.UnobservedTaskeException也将此放置。您的异常来自基于stacktrace的任务,它看起来有点像依赖项注入。。您是否已使用标准DI容器注册服务?