返回首页


你会做,如果你遇到一个应用程序崩溃,才达到的切入点,确定EXE。一Ë crach happends到达之前控制的WinMain。在这种情况下,飞机坠毁可能发生在加载该DLL的EXE。为了更具体说的DLL的DllMain()。在大多数情况下,我们不会有所有DLL的源代码,使我们可以把一些断点的DllMain()和调试。因此,如何跟踪DLL是造成问题的... ...
Windows加载程序provids打破debugee加载DLL时的一个选项。为此,我们必须设置适当的值在"HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ Windows NT的\ \图像文件执行Optionsquot,关键。
假设我有一个应用程序,它依赖与quot; Foo.dllquot;,我想bebugger打破之前加载quot; Foo.dllquot;要做到这一点,创建一个键下的quot;图像文件执行Optionsquot;
"HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ Windows NT的\ \图像文件执行选项\ Foo.dllquot。

回答

评论会员:游客 时间:2012/01/24
拉杰什řSubramanian
标题,而

"的方式找到,如果指针指向的内存堆栈上或不",而不是

"指针指向栈或堆"。

由于这种方法只能够验证,如果内存指出,在调用这个函数的线程的堆栈限制。如果函数确定该指针指向的内存位置的堆栈限制,则该函数只知道这么多 - 它的堆栈限制

它将不知道如果指针实际上是指向堆的东西,或者如果它只是普通的未初始化。换句话说,堆到图片不尽然。
"按照你的幸福.??????约瑟夫坎贝尔
评论会员:ARJ09 时间:2012/01/24
尼斯和有用的文章S0}

。ВеличиенеБогаможетбытьнедооценена