You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 5应用配置Application Insights后异常不显示堆栈跟踪如何解决

你需要补充/检查以下配置项:

  • 补充Host的Application Insights集成配置
    你目前Program.cs的Host构建逻辑缺少关键的.UseApplicationInsights()调用,会导致App Insights和应用宿主的集成不完整,无法自动捕获完整异常上下文和堆栈。补充后的代码如下:
Host.CreateDefaultBuilder(args)
        .UseApplicationInsights() // 新增这行配置
        .ConfigureLogging(logging =>
        {
            logging.AddApplicationInsights();
            logging.AddFilter<ApplicationInsightsLoggerProvider>(string.Empty, LogLevel.Trace);
        })
  • 调整App Insights服务配置,开启完整异常跟踪
    修改Startup.cs中的AddApplicationInsightsTelemetry配置,明确开启异常跟踪,同时可禁用自适应采样避免异常详情被采样丢弃:
services.AddApplicationInsightsTelemetry(options =>
{
    options.EnableExceptionTracking = true;
    // 不需要禁用采样的话也可以单独配置采样规则排除异常类型
    options.EnableAdaptiveSampling = false;
});
  • 检查全局异常处理逻辑的上报方式
    如果你使用了自定义全局异常中间件、过滤器,必须将完整的Exception对象传递给TelemetryClient的TrackException方法,不要仅上报错误字符串,否则不会附带堆栈信息,示例如下:
public void OnException(ExceptionContext context)
{
    // 正确写法:传入完整异常对象
    _telemetryClient.TrackException(context.Exception);
    // 错误写法:仅传消息不会携带堆栈
    // _telemetryClient.TrackException(new Exception(context.Exception.Message));
    context.ExceptionHandled = true;
}
  • 确认发布包包含PDB调试符号
    生产部署时不要移除PDB文件,发布配置中需将调试符号设置为「可移植PDB」或「全部」,无PDB的情况下无法解析生成堆栈跟踪。

内容的提问来源于stack exchange,提问作者Enrico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:27:00