Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
22d283c
Add PAL foundation for in-proc crash reporting
mdh1418 Apr 14, 2026
b866409
Resolve crash report version field
mdh1418 Apr 14, 2026
ef2c128
Resolve crash report process name
mdh1418 Apr 14, 2026
4c6220f
Enumerate crash report threads and stack frames
mdh1418 Apr 14, 2026
ee343dc
Add crash report frame and module enrichment
mdh1418 Apr 14, 2026
709eadc
Add crash report exception details
mdh1418 Apr 14, 2026
6a89b32
Add createdump frame metadata to crash reports
mdh1418 Apr 14, 2026
ba40568
Write in-proc crash reports to JSON files
mdh1418 Apr 14, 2026
34a7545
Serialize in-proc crash report generation
mdh1418 Apr 14, 2026
8f3cffe
Move in-proc crashreport code under debug
mdh1418 Apr 15, 2026
f2cd776
Address in-proc crashreport review feedback
mdh1418 Apr 15, 2026
7fa6a2d
Trim parity-only native crashreport fields
mdh1418 Apr 15, 2026
fd71ac7
Inline crashreport process name lookup
mdh1418 Apr 15, 2026
9461ae2
Stream in-proc crash report JSON output
mdh1418 Apr 16, 2026
778c276
Only walk the crashing thread in crash reports
mdh1418 Apr 16, 2026
15fad2a
Write in-proc crash reports to file only
mdh1418 Apr 16, 2026
e7b642f
Address crash report review feedback
mdh1418 Apr 16, 2026
fa64797
Defer crash report initialization to EE startup
mdh1418 Apr 16, 2026
26ee461
Suspend non-crashing threads before walking stacks
mdh1418 Apr 16, 2026
423fe61
Revert "Suspend non-crashing threads before walking stacks"
mdh1418 Apr 17, 2026
63b7d34
Suspend non-crashing threads via SuspendEE for crash reporting
mdh1418 Apr 17, 2026
fb38795
Flush crash report JSON per thread for incremental persistence
mdh1418 Apr 17, 2026
1e674fd
Require DbgMiniDumpName for in-proc crash report file output
mdh1418 Apr 17, 2026
bc0ce40
Emit signal number instead of Windows-shaped ExceptionType
mdh1418 Apr 17, 2026
73c4fea
Rename crashreportstackwalker.h include guard
mdh1418 Apr 17, 2026
ef7da7a
Scope CLR_DIR include to Android builds
mdh1418 Apr 17, 2026
791b693
Publish g_inProcCrashReportEnabled through Volatile<bool>
mdh1418 Apr 17, 2026
70a40a3
Revert unnecessary PROCAbortInitialize refactor
mdh1418 Apr 17, 2026
69d3bc7
Include process id in in-proc crash report
mdh1418 Apr 20, 2026
7002ce7
Latch CrashJsonWriter failure on invalid append input
mdh1418 Apr 20, 2026
ae55a01
Drop unused exception message plumbing from in-proc crash report
mdh1418 Apr 20, 2026
518e4f6
Register in-proc crash report callbacks before enabling PAL flag
mdh1418 Apr 21, 2026
0fb7526
Drop redundant include_directories in crashreport CMakeLists
mdh1418 Apr 21, 2026
1d488bd
Adopt C++ style and idioms in crash report sources
mdh1418 Apr 21, 2026
42ed634
Use C++ alias and constexpr in crash report headers
mdh1418 Apr 21, 2026
31ebaca
Rename in-proc crash report writer and scrub orphan comments
mdh1418 Apr 22, 2026
4d1d2e3
Introduce FEATURE_INPROC_CRASHREPORT build flag
mdh1418 Apr 22, 2026
4f751fd
Consolidate in-proc crash reporter initialization and crash entry
mdh1418 Apr 22, 2026
99aaf82
Polish SignalSafeJsonWriter API and buffer handling
mdh1418 Apr 22, 2026
bee63f9
Polish in-proc crash reporter helpers
mdh1418 Apr 22, 2026
bf26555
Use InterlockedCompareExchange for one-shot reentry guard in crash re…
mdh1418 Apr 22, 2026
4a12ae2
Replace snprintf in crash reporter signal and startup paths with AS-s…
mdh1418 Apr 22, 2026
7fde5fa
Encapsulate in-proc crash reporter state in InProcCrashReporter class
mdh1418 Apr 23, 2026
d24f300
Hook in-proc crash reporter into coreclrpal via target_sources
mdh1418 Apr 23, 2026
e70b436
Use named constants for crash report scratch buffer sizes
mdh1418 Apr 23, 2026
9266132
Hoist remaining-capacity computation out of SignalSafeJsonWriter::App…
mdh1418 Apr 23, 2026
98ffae0
Consolidate scratch buffers in crash report thread and process-name h…
mdh1418 Apr 23, 2026
97d721d
Use BuildTypeName helper in FrameCallbackAdapter
mdh1418 Apr 23, 2026
dc19e46
Address PR review feedback (round 2)
mdh1418 Apr 27, 2026
b689874
Add minipal_get_tempdir helper and migrate VM crash reporter
mdh1418 Apr 27, 2026
72361c0
Address PR review feedback
mdh1418 Apr 28, 2026
239875f
Address PR review feedback
mdh1418 Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/coreclr/clrdefinitions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,10 @@ if(FEATURE_OBJCMARSHAL)
add_compile_definitions(FEATURE_OBJCMARSHAL)
endif()

if(FEATURE_INPROC_CRASHREPORT)
add_compile_definitions(FEATURE_INPROC_CRASHREPORT)
endif()

add_compile_definitions($<${FEATURE_JAVAMARSHAL}:FEATURE_JAVAMARSHAL>)

add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:DAC_COMPONENT>>>:FEATURE_PROFAPI_ATTACH_DETACH>)
Expand Down
8 changes: 8 additions & 0 deletions src/coreclr/clrfeatures.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ if(NOT DEFINED FEATURE_SINGLE_FILE_DIAGNOSTICS)
set(FEATURE_SINGLE_FILE_DIAGNOSTICS 1)
endif(NOT DEFINED FEATURE_SINGLE_FILE_DIAGNOSTICS)

if(NOT DEFINED FEATURE_INPROC_CRASHREPORT)
if(CLR_CMAKE_TARGET_ANDROID)
set(FEATURE_INPROC_CRASHREPORT 1)
else()
set(FEATURE_INPROC_CRASHREPORT 0)
endif()
endif(NOT DEFINED FEATURE_INPROC_CRASHREPORT)

if ((CLR_CMAKE_TARGET_WIN32 OR CLR_CMAKE_TARGET_UNIX) AND NOT CLR_CMAKE_TARGET_ARCH_WASM)
set(FEATURE_COMWRAPPERS 1)
endif()
Expand Down
3 changes: 3 additions & 0 deletions src/coreclr/debug/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ include_directories(${RUNTIME_DIR})
add_subdirectory(daccess)
add_subdirectory(ee)
add_subdirectory(di)
if(FEATURE_INPROC_CRASHREPORT)
add_subdirectory(crashreport)
endif()
if(CLR_CMAKE_HOST_WIN32)
add_subdirectory(createdump)
endif(CLR_CMAKE_HOST_WIN32)
Expand Down
10 changes: 10 additions & 0 deletions src/coreclr/debug/crashreport/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CRASHREPORT_SOURCES
signalsafejsonwriter.cpp
inproccrashreporter.cpp
)

add_library(inproccrashreport OBJECT ${CRASHREPORT_SOURCES})

target_sources(coreclrpal PRIVATE $<TARGET_OBJECTS:inproccrashreport>)
Loading