Recently was doing some pydbg testing, so I had to remove the AeDebug entry (which determines the JIT debugger) in the registry, and Windbg was (and is) my JIT debugger. Exported the key before deleting it. It was:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
and the values were:
(Default) REG_SZ (value not set)
Auto REG_SZ 1
Debugger REG_SZ "C:\...\windbg.exe" -p %ld -e %ld -g
UserDebuggerHotKey REG_DWORD 0x00000000 (0)
Now I had to test some other stuff in Windbg, so I added the exported AeDebug key in the .reg file.
However, when I attempt to run a few test assembly programs that contact int 3h/0xCC (which should make Windbg come up as my JIT debugger) instead my system freezes with no BSOD, and I have to power off/turn back on.
I've deleted all of AeDebug and re-ran "windbg -I" to register it as my JIT debugger. However, I still get system freezes!
Please help! It only occurs so far when code Im running contains an int 3h breakpoint in it.
I tried running an assembly (masm32) program that I compiled with the following to test:
.586
.model flat, stdcall
option casemap:none
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\windows.inc
.code
start:
xor eax, eax
xor ebx, ebx
xor ecx, ecx
xor edx, edx
int 3h
invoke ExitProcess, 0
END start
However, the system still freezes. When I run windbg first and I step out of the breakpoint, it exits like normal but doesn't feeze my whole system.
How can I get normal breakpoints again that dont cause undefined behavior?
%windir%\system32\bcdedit.exe
as an administrator, do you see in the outputdebug___________________Yes
?