知识大全 Win32 DLL的一个调试心得

Posted 函数

篇首语:殷殷之情俱系华夏,寸寸丹心皆为家国。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Win32 DLL的一个调试心得相关的知识,希望对你有一定的参考价值。

Win32 DLL的一个调试心得  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在MFC工程(包括单文档 多文档 基于对话框 MFC DLL等)调试程序时可以使用trace宏来输出相关变量的值 在Win 工程(包括Win Application和Win DLL)只能使用OutputDebugString函数来输出相关变量值 但是我觉得OutputDebugString比起trace宏有很大的不足 OutputDebugString不能像trace宏一样格式化输出 只能输出字符串 而且糟糕的是Win 工程不能使用MFC的CString类构造格式化输出字符串 为此我上网搜了一些资料 找到了在Win 格式化输出的方法 具体就是构造一个类似C语言的printf函数DebugString 具体代码如下

  #ifdef _DEBUG

  void WINAPI DebugString(LPCSTR format )

  

  va_list arglist;

  char buffer[ ];

  va_start (arglist format);

  vsprintf(buffer format arglist);

  va_end (arglist);

  strcat(buffer \\t );

  OutputDebugString (buffer);

  #endif

  代码说明

  char buffer[ ] 为格式化输出字符串的长度 应该根据你要输出的变量值合理设置 strcat(buffer \\t ); // 调用该函数后在output窗口中输出字符串后跳到下一个tab位置 可以换为换行符

  测试代码

  #include <windows h>

  #include <stdio h>

  #ifdef _DEBUG

  void WINAPI DebugString(LPCSTR format )

  

  va_list arglist; char buffer[ ];

  va_start (arglist format);

  vsprintf(buffer format arglist);

  va_end (arglist);

  strcat(buffer \\n );

  OutputDebugString (buffer);

  

  #endif

  int main(int argc char* argv[])

  int i;

  for (i= ; i< ; i++)

  DebugString( Hello: %d i); return ;

  

cha138/Article/program/net/201311/13758

相关参考

知识大全 当下载游戏时就出现这个不是有效的WIN32程序还有WIN32EXE是什么

当下载游戏时就出现这个不是有效的WIN32程序还有WIN32EXE是什么  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 如何在win7旗舰版32位系统中的右键菜单栏新建中添加新建excel文档

如何在win7旗舰版32位系统中的右键菜单栏新建中添加新建excel文档?求解?急!桌面右键新建一个文本文档,将以下文字复制到文档内保存退出后将该新“建文本文档.txt”改为“建文本文档.reg”确定

知识大全 win7旗舰版32位系统

win7旗舰版32位系统?64位的系统好用吗?是不是比32位的要快,理论上是比32位快,但是平时使用是基本感觉不到的,64位主要是支持大内存。我们知道32位系统最高读取到3G多的内存。如果你的内存是大

知识大全 关于WIN7旗舰版32位系统问题

关于WIN7旗舰版32位系统问题  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关于WIN7旗舰版32

知识大全 Win32 API 与PB编程[2]

Win32API与PB编程[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  控制由Run运行

知识大全 华硕WIN7旗舰版32位系统的激活密钥

华硕WIN7旗舰版32位系统的激活密钥  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!华硕WIN7旗舰

知识大全 Win32 API 与PB编程[1]

Win32API与PB编程[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如何使PB窗口总

知识大全 win7家庭普通版32位和64位区别大么

win7家庭普通版32位和64位区别大么?是不是绝大多数软件,特别是常用软件都支持64位?32位操作系统:无论是32位处理器还是64位处理器都支持。64位操作系统:只有64位处理器才能支持。其实大多数

知识大全 调用javacomm20-win32API注意事项

调用javacomm20-win32API注意事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&

知识大全 WIN7旗舰版32位系统怎么装UG4.0?

WIN7旗舰版32位系统怎么装UG4.0?  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!WIN7旗舰