Add CI coverage for the exported CLRMA `!analyze` path (dbgeng, out of command scope)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- cpp
- Área
- devtools, testing-qa
Línea de trabajo
Revisa Microsoft.Diagnostics.DebugServices.UnitTests.csproj y ConfigFiles/Windows/Debugger.Tests.Config.txt; después inspecciona ClrmaTests y BangAnalyzeTests junto con issue #3111. Evalúa si se puede habilitar un depurador capaz de usar ext.dll o si se debe utilizar un harness nativo para llamar a CLRMACreateInstance y AssociateClient sin command scope. Se considera completado cuando CI ejercita la ruta real out-of-command-scope y bloquea el fallo por g_Ext*-null.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Background
PR #5946 fixed a crash on the native (non-hosted) CLRMA path where the exported CLRMACreateInstance (invoked by dbgeng !analyze via ext!CLRMACreateCached) borrowed command-scoped g_Ext* debugger globals that are null outside a !command. Regression originated in #4667.
That PR added coverage that exercises the fixed native Target/DataTarget/Runtime object graph via !clrma under cdb with !SetHostRuntime -none. However, this does not reproduce the original crash, because the !clrma command runs in command scope (INIT_API_EXT() -> ExtQuery populates g_Ext* for the command's duration). The only trigger that runs outside command scope is dbgeng's !analyze, which we cannot exercise in CI today.
Why !analyze can't be tested in CI currently
- No
ext.dllin the test debugger package. Thecdb-sospackage (10.0.26100.1) used by the tests ships onlydbgcore/dbgeng/dbghelp/DbgModel/symsrv- noext.dll, so!analyzefails with "No export analyze found".DbgEngPathinMicrosoft.Diagnostics.DebugServices.UnitTests.csprojpoints at this same package. TestDbgEngharness is disabled. The<TestDbgEng>true</TestDbgEng>config blocks inConfigFiles/Windows/Debugger.Tests.Config.txtare commented out (tracked by #3111), soClrmaTests/BangAnalyzeTests(the only harness that issues!analyze) don't run in CI.
Ask
Add a test that drives CLRMA through the real out-of-command-scope entry point so the exact g_Ext*-null crash path is gated in CI. Options to evaluate:
- Provide an
ext.dll-capable debugger in the test assets (or a minimal harness) and re-enable a scopedTestDbgEngconfiguration (see #3111) so!analyze -vcan run against a managed crash dump. - Alternatively, add a small native test harness that calls the exported
CLRMACreateInstance+AssociateClientdirectly with no active command (mirroringext!CLRMACreateCached), asserting no fault when the command-scoped globals are null.
References
- Fix: #5946
- Regression origin: #4667
- Related disabled harness: #3111
- Lenguaje dominante
- C++
- Estrellas
- 1.3k
- Forks
- 407
- Merge medio
- 21 h 5 min
- PR fusionados (30 d)
- 78
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dotnet/diagnostics
-
Fix StackAndOtherTests.script line number verification for .NET 11 and Windows x64Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
dotnet/diagnostics#5884 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
dotnet/diagnostics#6225 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
dotnet/diagnostics#6213 ·
Los mantenedores suelen responder en 1 día
-
Isolate SOS hosting from other debugger extensions that use managed codePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
dotnet/diagnostics#6207 ·
Los mantenedores suelen responder en 1 día
-
Known Build Error
Dificultad 4/5 3-5 días Aptitud para principiantes 49/100
dotnet/diagnostics#6190 ·
Los mantenedores suelen responder en 1 día
Todos los issues de dotnet/diagnostics
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
AutoHotkey/AutoHotkey#380 ·
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Lua File: add readWhole()Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
grumpycoders/pcsx-redux#2667 ·
-
GCC 15.2: -Wcast-qual warning - cast discards const qualifier from pointer target type (H5trace.c)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
google/tensorstore#305 ·