mirror of
https://github.com/reactos/reactos.git
synced 2025-04-24 23:50:24 +00:00
![]() CORE-20107 Improve the minimal handling done in the fall-back KdSend/ReceivePacket() routines when they are invoked by KD64 (in Release build). Part of my `kdbg_tests_kdio_split` branch for splitting kd/kdio.c into a separate KD dll. KdSendPacket: - Silently ignore PACKET_TYPE_KD_STATE_CHANGE32/64 DbgKdLoadSymbolsStateChange notification. - Partially manage and log the unhandled PACKET_TYPE_KD_STATE_CHANGE DbgKdExceptionStateChange notification. - Log other unhandled PACKET_TYPE_KD_STATE_CHANGE32/64 and PACKET_TYPE_KD_STATE_MANIPULATE notifications. When KdSendPacket receives the DbgKdExceptionStateChange notification, it cannot handle it (no debugger is there!). However, we need to claim the debugger to be present, so that its KD64 caller: KdpSendWaitContinue(), can call back KdReceivePacket(PACKET_TYPE_KD_STATE_MANIPULATE), which, in turn, informs KD that the exception cannot be handled, by returning a failure code in the ManipulateState's ContinueStatus. During bugchecks, this allows KiBugCheckDebugBreak() to not loop infinitely, but instead fall back into calling HalHaltSystem() to halt the computer. |
||
---|---|---|
.. | ||
cache | ||
cc | ||
config | ||
dbgk | ||
ex | ||
fsrtl | ||
fstub | ||
inbv | ||
include | ||
io | ||
kd | ||
kd64 | ||
kdbg | ||
ke | ||
lpc | ||
mm | ||
ntkrnlmp | ||
ob | ||
po | ||
ps | ||
rtl | ||
se | ||
tests | ||
vdm | ||
vf | ||
wmi | ||
CMakeLists.txt | ||
guid.c | ||
KrnlFun.c | ||
ntdll.S | ||
ntos.cmake | ||
ntoskrnl.rc | ||
ntoskrnl.spec | ||
sysfuncs.lst |