网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 AfxDumpStack
释义 AfxDumpStack

void AFXAPI AfxDumpStack(DWORD dwTarget = AFX_STACK_DUMP_TARGET_DEFAULT);

参数:
dwTarget指出转储输出的目标。其取值可以用位或操作符(|)组合起来,可能值如下:
·AFX_STACK_DUMP_TARGET_TRACE通过TRACE宏输出。TRACE仅仅在调试版本中产生输出,在发行版本中不产生输出。同时,TRACE可以被重定向到调试器以外的目标。
·AFX_STACK_DUMP_TARGET_DEFAULT将转储输出发送到缺省目标。对于调试版本,输出发送给TRACE宏。在发行版本中,输出发送到剪贴板。
·AFX_STACK_DUMP_TARGET_CLIPBOARD输出仅发送到剪贴板。数据将按CF_TEXT格式以普通文本的形式放在剪贴板上。
·AFX_STACK_DUMP_TARGET_BOTH同时将输出发送到剪贴板和TRACE宏。
·AFX_STACK_DUMP_TARGET_ODS通过Win32函数OutputDebugString()直接将输出发送的调试器。如果连接了调试器,它在调试版本和发行版本中都会产生调试器输出。AFX_STACK_DUMP_TARGET_ODS 通常到达调试器(如果连接了调试器),并且不能被重定向。

说明:
这个全局函数可以被用来生成当前栈的一个映象。下面的例子反映了MFC对话框应用程序中按钮处理函数调用AfxDumpStack所产生的单行调试输出:
=== begin AfxDumpStack output ===
...
BFF928E0: WINDOWS\\SYSTEM\\KERNERL32.DLL! UTUnRegister + 2492 bytes
=== end AfxDumpStack() output ===
下面的表格描述了上面的输出行:

输出描述
BFF928E0:最近一次函数调用的返回地址
WINDOWS\\SYSTEM\\KERNEL32.DLL!包含函数调用的模块的完整路径名
UTUnRegister调用的函数原型
+ 2492 bytes以字节为单位的从函数原型地址(这个例子中为UTUnregister)到返回地址(这个例子中为BEF928E0)的偏移
AfxDumpStack在MFC库的调试版本和非调试版本中都可以使用。但是,这个函数通常是静态连接的,即使你的可执行文件以共享DLL的方式使用MFC。
在共享库的实现中,可以在MFCS42.LIB库(以及它的变化形式)中找到这个函数。
为了成功地使用这个函数:
·在你的路径中必须包含IMAGEHLP.DLL文件。如果你没有这个DLL文件,这个函数会显示一条错误信息。IMAGEHLP.DLL是随Win32 SDK和Windows一起发售的可散发的DLL。在C:\\[Windows]\\system[32]下查找它。有关IMAGEHLP提供的函数集的介绍可以参考“可移植的可执行文件的操作”一文。
·具有栈框架的模块必须包含调试信息。如果它不包含调试信息,这个函数仍然会生成对栈的跟踪,但是这种跟踪是很简略的。

请参阅:afxDump
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 14:23:11