约有 1,303 项符合查询结果, 以下是第 83 - 131项。
费时 < 1 秒。
WinDBG有个.shell命令,可以在WinDBG中执行操作系统的一些命令。
0:000> .shell
Microsoft Windows [Version 6.1.7100]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
F:\WinDDK\7100.0.0\Debuggers>
dir
dir
dir
Volume in drive F is DataVol
Volume Serial Number is A41E-3D71
Directory of F:\WinDDK\7100.0.0\Debuggers
09/29/2009 07:17 AM ...
Posted in C/C++本地代码调试
by
格蠹老雷
on 2009-09-29
Win64的栈帧组织是有些不同,首先函数分为内部会调用其它函数的“帧函数”和内部不调用其它函数的“页函数”。
页函数是可以没有帧指针(Frame Pointer)的。对于帧函数,又有两种情况,一种是静态分配栈帧空间,另一种是动态分配,对于前一种栈指针是固定的(在函数内),所以仍然可以没有帧指针,但是对于后一种情况,就一定要有帧指针了。
但是Win64下,不再使用RBP来做帧指针,一般是使用R13。栈回溯的原理与以前有类似,也有不同,类似的地方是还是在栈上找函数返回地址,从而确定父函数,因为栈帧布局比以前严格,所以找起来比以前其实更简单了。
Posted in C/C++本地代码调试
by
格蠹老雷
on 2009-09-25
WinDBG会自动把一些东西记录到工作空间(Workspace)里,因为工作空间是隐式管理的,所以容易让初用WinDBG的人摸不着头脑,像MJ说的那样操作一下,并且保存到工作空间中(结束调试时,WinDBG询问要不要保存工作空间时选YES),或者干脆删除工作空间就可以了。
Posted in WinDbg
by
格蠹老雷
on 2009-09-25
呵呵,初始断点是新进程开始运行后Hard Code在Loader里的,所以在debugger loop里面等待就可以了...
Posted in WinDbg
by
格蠹老雷
on 2009-09-25
解释执行还是JIT编译?如果是JIT编译,那么一般的思路就是实现一个进程外的调试器,调试器进程和被调试进程是不同的两个进程。如果是解释执行,那么只要在解释器里嵌入调试逻辑,实现一个进程内的脚本调试器。
对于前者,可以参考ROTOR(SSCLI)源代码,还需要了解Windows下的调试模型。
Posted in .Net程序调试
by
格蠹老雷
on 2009-09-25
这样问有些太宽泛了,不太好回答。不知是想学习写驱动,还是解决实际的问题?最好能具体点:-)
Posted in Windows内核调试
by
格蠹老雷
on 2009-09-20
hehe, 不知谁的“聪明”主意,把这个键也“节约”掉了。
定时好像不行吧,不光影响正常使用,调试时也说不准何时需要转储呀。
其实这个热键是可以通过注册表来配置的:
1)先建一个子键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
2)加一个名为Dump1Keys的键值用来指定使用的Ctrl,Alt,Shift组合;
0x01
Rightmost SHIFT key
0x02
Rightmost CTRL key
0x04
Rightmost ALT key
0x10
Leftmost SHIFT ...
Posted in Windows内核调试
by
格蠹老雷
on 2009-09-18
例如,执行下面这样使用C++语法书写的表达式时:
?? this->m_xxx
WinDBG不可以对.Net程序做源代码级的调试,只是将其当做本地程序做汇编级的调试,或者使用SOS扩展来理解一些.Net语义和数据结构。
Posted in C/C++本地代码调试
by
格蠹老雷
on 2009-09-17
调试器通常包含一个汇编和反汇编功能就可以了,带有编译C++的能力明显超出调试器的职责。调试器可以调试C++这样的高级语言,但是没有必要可以编译它,比如WinDBG就是这样,只是多一个c++表达式评估器罢了。
Posted in C/C++本地代码调试
by
格蠹老雷
on 2009-09-16
用户会话中,!teb可以呀
0:001> !teb
TEB at 7ffdc000
ExceptionList: 00bfffe4
StackBase: 00c00000
StackLimit: 00bff000
当前栈指针,看ESP。
Posted in WinDbg
by
格蠹老雷
on 2009-09-16