Skip to content
CAI
Software that uses CAICheck a score

ljw1004/async-exception-stacktrace

48.1

Weak · 20 September 2026

520

lines of production code

VB.NET

with C#

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

AsyncStackTraceEx is a .NET library designed to improve the debugging of asynchronous code by providing readable exception stack traces and enriched logging capabilities. It offers extension methods for generating detailed stack traces and capturing contextual information for tasks and async operations, even on platforms lacking PDB support. The system includes specific implementations for Windows Runtime environments and provides demo applications to illustrate its usage across console, Windows Phone, and UWP platforms.

Features

Introduce AsyncStackTraceEx for cleaner async exception debugging

This release adds the AsyncStackTraceEx library, which provides an extension method \StackTraceEx()\ to generate readable exception stack traces for async code, even on platforms without PDBs like Windows Phone. It also includes \Log()\ extension methods for \Task\ and \IAsyncOperation\/\IAsyncAction\ that capture context (labels, arguments, file paths, line numbers) to enrich crash reports. The package includes demo applications for Console, Windows Phone 8.1, and UWP to demonstrate usage.

AsyncStackTraceEx · high confidence

Dependencies

Initial project structure and NuGet dependencies for AsyncStackTraceEx

This change introduces the initial project files for the AsyncStackTraceEx library, including the core Portable Class Library (targeting .NET 4.5/Profile259) and a WinRT-specific extension library (targeting .NET 4.6/Profile32 for Windows 8.1 and Windows Phone 8.1). It also adds demo applications for console, Windows Phone 8.1, and UWP (targeting version 10.0.10240.0 with .NET Native support). The update includes the initial NuGet configuration, adding the NuGet.CommandLine package (versions 2.8.2 and 2.8.6) to the build infrastructure.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 48 → 48 (-0.2)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 74 → 73 (-1.4)
  • Architecture 97 → 97 (+0.0)
  • Maturity 56 → 56 (+0.0)
  • Readiness 23 → 23 (+0.0)
  • Security 100 → 100 (+0.0)

Resolved (17)

  • Build did not complete in the analyzer
  • No exposed public API
  • TodoComment (AsyncStackTraceEx/Demo_Phone81_CSharp/App.xaml.cs)
  • TodoComment (AsyncStackTraceEx/Demo_Phone81_CSharp/App.xaml.cs)
  • TodoComment (AsyncStackTraceEx/Demo_UWP_VB/App.xaml.vb)
  • TodoComment (AsyncStackTraceEx/Demo_UWP_VB/App.xaml.vb)
  • XML-doc coverage: AsyncStackTraceEx (AsyncStackTraceEx/AsyncStackTraceEx/AsyncStackTraceEx.vbproj)
  • XML-doc coverage: AsyncStackTraceExWinrt (AsyncStackTraceEx/AsyncStackTraceExWinrt/AsyncStackTraceExWinrt.vbproj)
  • XML-doc coverage: Demo_Console_VB (AsyncStackTraceEx/Demo_Console_VB/Demo_Console_VB.vbproj)
  • XML-doc coverage: Demo_UWP_VB (AsyncStackTraceEx/Demo_UWP_VB/Demo_UWP_VB.vbproj)
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • redundant comment (AsyncStackTraceEx/Demo_Phone81_CSharp/App.xaml.cs)
  • redundant comment (AsyncStackTraceEx/Demo_Phone81_CSharp/Properties/AssemblyInfo.cs)
  • redundant comment (AsyncStackTraceEx/Demo_Phone81_CSharp/Properties/AssemblyInfo.cs)
  • single-maintainer — knowledge-concentration (bus factor) risk

New (7)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • TodoComment (AsyncStackTraceEx/Demo_Phone81_CSharp/App.xaml.cs)
  • TodoComment (AsyncStackTraceEx/Demo_Phone81_CSharp/App.xaml.cs)
  • TodoComment (AsyncStackTraceEx/Demo_UWP_VB/App.xaml.vb)
  • TodoComment (AsyncStackTraceEx/Demo_UWP_VB/App.xaml.vb)
  • redundant comment (AsyncStackTraceEx/Demo_Phone81_CSharp/Properties/AssemblyInfo.cs)

Architecture

  • Unchanged — 1 containers · 0 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ljw1004/async-exception-stacktrace was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit e731f2eff2b4ce7fee8118acd2c953014a972641 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.