约有 18 项符合查询结果, 以下是第 1 - 2项。
费时 < 1 秒。
恩,问题已经解决。强制结束不会通知进程进行析构。用FlushFileBuffers可能需要定时刷新。
Posted in 《软件调试》的示例程序
by
udknight
on 2010-01-10
现在项目组交给我一个程序,里面有少量的内存泄露。但由于代码量很大不是特别好跟踪。在郁闷的时候,翻了下高端调试,看到可以将泄漏检测出来并输出到文件。我在高端调试上面只看到介绍了API,并没有讲解例子。于是查了下msdn写了一下代码:
在OnInitDialog()函数写下 _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG);
void CMemoryLeakDlg::OnOK() { // TODO: Add extra validation here
Test1(); Test2(); Test3(); Test4(); HANDLE hLogFile = ...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-12-10
重新做了下上述操作,结果好像还是不行。
详细结果如下:
Windows XP Kernel Version 2600 UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0x804d8000 PsLoadedModuleList = 0x8055b620
Debug session time: Fri Apr 17 13:57:55.578 2009 (GMT+8)
System Uptime: 0 days 3:45:07.156
lkd> .sympath ...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-17
Raymond wrote:PEB位于用户态空间中,所以是进程相关的,观察前应该使用.process /p命令切换进程,例如: PROCESS 8796f858 SessionId: 0 Cid: 17b8 Peb: 7ffdc000 ParentCid: 07e8 DirBase: 18900fa0 ObjectTable: 00000000 HandleCount: 0. Image: wmiprvse.exe lkd> .PROCESS /p 8796f858 Implicit process is now 8796f858 lkd> dt _PEB 8796f858 nt!_PEB +0x000 InheritedAddressSpace : 0x3 '' ...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-17
同样无法使用!peb命令
lkd> !PEB 7ffd7000
PEB at 7ffd7000
error 1 InitTypeRead( nt!_PEB at 7ffd7000)...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-17
有点纳闷,进程的其他信息都可以查看,唯独PEB信息看不了。提示Memory read error 7ffd7208。不知道那个地方不对。重新加载了符号文件也没有能够成功。
详细情况如下所示:
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86Copyright (c) Microsoft Corporation. All rights reserved.
Unable to read head of debugger data listConnected to Windows XP 2600 x86 compatible target, ptr64 FALSESymbol search path is: *** ...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-17
按照书上面的代码顺利完成了这个例子的调试。不过有个地方感到不解。为什么只能运行命令
u `hiint3!HiInt3.cpp:11` 其他的诸如u `hiint3!HiInt3.cpp:1`没有一个能成功的。全部都返回No information found error at '`hiint3!HiInt3.cpp:1`'*** WARNING: Unable to verify checksum for HiInt3.exe0:000> u `hiint3!HiInt3.cpp:11`HiInt3!main+0x19 [C:\dig\dbg\author\code\chap04\HiInt3\HiInt3.cpp @ 11]:00401029 ...
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-17
哦,原来是一个是单核一个是多核。文件不能通用。我也在想可能是机器环境导致内核调试老不成功。以后用虚拟机进行调试。谢谢aa1ss2 指点。一直以为符号文件只和操作系统有关,没有想到还有硬件环境。
Posted in 《软件调试》的示例程序
by
udknight
on 2009-04-14