Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: zmsx   发起时间: 2010-02-26 16:48 下午   回复: 3

Print Search
帖子排序:    
   2010-02-26, 16:48 下午
zmsx 离线,最后访问时间: 2010/2/27 12:58:11 zmsx

发帖数前75位
注册: 2008-06-08
发 贴: 17
关不掉的进程?
Reply Quote
我遇到一个很奇怪的问题,当用vs2005开发程序的时候,如果在release 情况下,按F5启动调试时,如果设置了断点,并且时console程序时,会发现程序运行结束后,无法自动退出。点右上角的关闭也没用。

这时任务管理器中已经看不到这个进程了。用windbg attach 也看不到这个进程。但是用local kernel 可以看到:
lkd> !PROCESS 88bfe020
PROCESS 88bfe020 SessionId: 0 Cid: 05e4 Peb: 7ffdf000 ParentCid: 0f68
DirBase: 0ac40560 ObjectTable: 00000000 HandleCount: 0.
Image: Test1.exe
VadRoot 00000000 Vads 0 Clone 0 Private 0. Modified 16. Locked 0.
DeviceMap e14a16f0
Token e35a0030
ElapsedTime 2 Days 01:46:34.765
UserTime 00:00:00.062
KernelTime 00:00:00.031
QuotaPoolUsage[PagedPool] 0
QuotaPoolUsage[NonPagedPool] 0
Working Set Sizes (now,min,max) (10, 50, 345) (40KB, 200KB, 1380KB)
PeakWorkingSetSize 2467
VirtualSize 37 Mb
PeakVirtualSize 40 Mb
PageFaultCount 2464
MemoryPriority BACKGROUND
BasePriority 8
CommitCharge 0

No active threads

不知道有什么原因会造成这种状况。或者有什么调试思路。谢谢。
IP 地址: 已记录   报告
   2010-02-26, 20:32 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 关不掉的进程?
Reply Quote
直接的原因是这个进程的销毁过程完成了一部分,但没有全部完成。根据上面的信息,用户态的部分已经销毁了,所以没办法用户态调试了。但是进程对象和进程结构(_EPROCESS)还在,所以还在进程列表中。
调试的思路,可以用双机内核调试来跟踪销毁进程的过程。《软件调试》第10.8节有关于进程退出的简单介绍...
IP 地址: 已记录   报告
   2010-02-26, 21:50 下午
zmsx 离线,最后访问时间: 2010/2/27 12:58:11 zmsx

发帖数前75位
注册: 2008-06-08
发 贴: 17
Re: 关不掉的进程?
Reply Quote
谢谢张老师。我试试看
IP 地址: 已记录   报告
   2010-04-08, 19:21 下午
louyihua 离线,最后访问时间: 2014/11/22 12:40:40 SuperMouse

发帖数前150位
注册: 2008-10-31
发 贴: 8
Re: 关不掉的进程?
Reply Quote
估计是VS2005由于某种原因在进程退出后没有及时关闭打开的该进程句柄,导致了该进程的内核对象引用计数不为0,所以不会被销毁。
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 关不掉的进程?

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.