在WinDbg内核调试状态(kd>)下可以调试用户进程。具体步骤如下:
1. 查找目标进程
```
# 列出所有进程
!process 0 0 # 简单列表
或
!process 0 7 # 详细信息
# 查找特定进程
!process 0 0 notepad.exe # 查找记事本进程
```
2. 切换到用户进程上下文
```
# 两步切换命令
.process /i /p <进程地址> # 通知调试器切换进程
.process /r /p <进程地址> # 刷新地址空间
例如:
.process /i /p fffffa8003d34040
.process /r /p fffffa8003d34040
```
3. 验证切换成功
```
# 检查PEB
!peb # 应该能看到进程环境块信息
# 查看当前进程信息
!process -1 0
# 查看线程
!thread
```
4. 设置用户态断点
```
# 在用户模式DLL中设置断点
bp user32!CreateWindowExW
bp kernel32!CreateFileW
bp ntdll!NtCreateFile
```
5. 调试命令示例
```
# 查看调用栈
k # 显示堆栈
!analy