Windows程序中增加consle窗显示printf输出调试信息的一种方法
2010-08-13 11:53
363 查看
在编写桌面程序的时候打印调试信息通常习惯是用自己封装好的函数利用OutPutDebugString函数输出然后借助DbgView查看,但是有时候系统其它程序也用OutPutDebugString在输出一些信息的时候,这样的话DbgView窗口上的信息就显得很杂乱,干扰了分析工作.虽然我们可以借助其它方法比如输出到文件等等,但是还是觉得太麻烦。所以在此介绍一种用printf直接输出调试信息到console窗的方法和一个小工具PeDbg。
#include <io.h>
#include <fcntl.h>
//......
void CDbgTestApp::InitConsoleWindow(void)
{
int hCrt;
FILE *hf;
AllocConsole();
hCrt=_open_osfhandle(
(long)GetStdHandle(STD_OUTPUT_HANDLE),
_O_TEXT );
hf=_fdopen( hCrt, "w" );
*stdout=*hf;
setvbuf( stdout, NULL, _IONBF, 0 );
// test code
printf("InitConsoleWindow OK!/n");
}
//在函数CDbgTestApp::InitInstance()中的所有代码前面调用该函数:
InitConsoleWindow();
//后面你就可以使用printf输出运行信息了。
#include <io.h>
#include <fcntl.h>
//......
void CDbgTestApp::InitConsoleWindow(void)
{
int hCrt;
FILE *hf;
AllocConsole();
hCrt=_open_osfhandle(
(long)GetStdHandle(STD_OUTPUT_HANDLE),
_O_TEXT );
hf=_fdopen( hCrt, "w" );
*stdout=*hf;
setvbuf( stdout, NULL, _IONBF, 0 );
// test code
printf("InitConsoleWindow OK!/n");
}
//在函数CDbgTestApp::InitInstance()中的所有代码前面调用该函数:
InitConsoleWindow();
//后面你就可以使用printf输出运行信息了。
相关文章推荐
- Windows程序中增加consle窗显示printf输出调试信息的一种方法
- 巧用可变参数宏、编译器内置宏和printf输出调试信息
- Android手机在开发调试时logcat不显示输出信息的解决办法
- printk()调试信息分级显示脚本的编写方法
- MFC中调试过程中查看printf输出信息
- Android手机在开发调试时logcat不显示输出信息的解决办法
- 开发Android调试时logcat不显示输出错误信息的解决办法
- Window下Qt中用qDebug()输出调试信息到Console控制台的设置方法(转)
- win32使用OutputDebugString输出调试信息的方法
- 两种输出调试信息的方法
- 华为手机在开发Android调试时logcat不显示输出信息的解决办法
- Windows和Linux系统的Debug调试信息输出方法
- C语言中几种输出调试信息的方法
- 常见输出调试信息的方法
- C语言中几种输出调试信息的方法
- IAR 下 printf输出调试信息 Terminal I/O
- MFC利用控制台输出调试信息的方法
- 一种可用于系统动态显示关于信息的方法
- GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
- 华为手机在开发Android调试时logcat不显示输出信息的解决办法