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

C/C++本地代码调试

帖子发起人: single   发起时间: 2013-09-29 23:24 下午   回复: 4

Print Search
帖子排序:    
   2013-09-29, 23:24 下午
single 离线,最后访问时间: 2010/12/4 5:48:40 single

发帖数前100位
注册: 2008-10-06
发 贴: 12
张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您
Reply Quote
 WIN8环境下,首先我使用

1 gflags /i test.exe +ust 

2 用WINDBG启动test。exe 运行后输出: {104} client block at 0x01418238, subtype 0, 1111 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 

显示内存泄露,然后用命令
0:000> !heap -p -a 0x01418238
    address 01418238 found in
    _HEAP @ 1410000
      HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
        01418210 0093 0000  [00]   01418218    0047b - (busy)

请教下为什么就是打印不出调用栈的?

 TEST.EXE 和 windbg 都是X86的
谢谢


0:000> g
Detected memory leaks!
Dumping objects ->
c:\users\aaa\desktop\consoleapplication1\consoleapplication1.cpp(19) : {104} client block at 0x01418238, subtype 0, 1111 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
Object dump complete.
eax=00000000 ebx=77bac0c0 ecx=00000002 edx=00000000 esi=00000000 edi=00000000
eip=77b01028 esp=00f7f9a4 ebp=00f7f9bc iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
ntdll!ZwTerminateProcess+0xc:
77b01028 c20800          ret     8
0:000> !heap -p -a 0x01418238
    address 01418238 found in
    _HEAP @ 1410000
      HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
        01418210 0093 0000  [00]   01418218    0047b - (busy)


IP 地址: 已记录   报告
   2013-09-30, 09:21 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您
Reply Quote

!heap -a -v -k 02da0000  

 


IP 地址: 已记录   报告
   2013-09-30, 13:57 下午
single 离线,最后访问时间: 2010/12/4 5:48:40 single

发帖数前100位
注册: 2008-10-06
发 贴: 12
Re: 张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您
Reply Quote
谢谢您,我试了下 还是没有显示

0:000> g
Detected memory leaks!
Dumping objects ->
{266} normal block at 0x008198A8, 112 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
Object dump complete.

0:000> !heap -a -v -k 0x008198A8
Index   Address  Name      Debugging options enabled

0:000> !heap -p -a 0x008198A8
    address 008198a8 found in
    _HEAP @ 800000
      HEAP_ENTRY Size Prev Flags    UserPtr UserSize - state
        00819880 0016 0000  [00]   00819888    00094 - (busy)

0:000> !heap -a -v -k 00819880 
Index   Address  Name      Debugging options enabled


IP 地址: 已记录   报告
   2013-09-30, 22:58 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您
Reply Quote

 !heap -a -v -k 00819880 800000

最后一个参数应该是堆的句柄(起始地址)

 


IP 地址: 已记录   报告
   2013-10-07, 20:03 下午
single 离线,最后访问时间: 2010/12/4 5:48:40 single

发帖数前100位
注册: 2008-10-06
发 贴: 12
Re: 张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您
Reply Quote
好的,谢谢您
IP 地址: 已记录   报告
高端调试 » 软件调试 » C/C++本地代码调试 » Re: 张老师,想问下关于WIN8 下!heap 检查内存泄露不显示调用栈问题,谢谢您

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