追逐自己的梦想----------辅助制作第七课:封装调试函数OutputDebugString(),使其可调试任意参数个数
2015-01-09 15:29
489 查看
本节课中,我们将对函数OutputDebugString()函数进行封装,这个函数只能带一个参数,不方便我们在调试的时候使用它,所以在这节课中,我们对他进行封装。
我们要封装一个函数:void DngPrint_String(char* szpFormatName,...);
还有就是做到在release版本中不输出调试信息:
具体函数实现如下:
#include "stdafx.h"
#include<windows.h>
#include<stdio.h>
void DngPrint_String(char* szpFormatName,...){
#ifdef _DEBUG
va_list argList;
char buffer[0x500];
char szBuffer_Game[0x500] = "Game:";
va_start(argList, szpFormatName);
//int i= va_arg(argList, int);
//int j = va_arg(argList, int);
//char* s = va_arg(argList, char*);
//printf("%d %d %s \r\n", i, j, s);
vsprintf_s(buffer, szpFormatName, argList);
//printf("%s", buffer);
strcat_s(szBuffer_Game, buffer);
OutputDebugString(szBuffer_Game);
va_end(argList);
#endif
}
以上代码就完成了对调试函数的封装,以后我们要写代码就用这个函数来调试了
我们要封装一个函数:void DngPrint_String(char* szpFormatName,...);
还有就是做到在release版本中不输出调试信息:
具体函数实现如下:
#include "stdafx.h"
#include<windows.h>
#include<stdio.h>
void DngPrint_String(char* szpFormatName,...){
#ifdef _DEBUG
va_list argList;
char buffer[0x500];
char szBuffer_Game[0x500] = "Game:";
va_start(argList, szpFormatName);
//int i= va_arg(argList, int);
//int j = va_arg(argList, int);
//char* s = va_arg(argList, char*);
//printf("%d %d %s \r\n", i, j, s);
vsprintf_s(buffer, szpFormatName, argList);
//printf("%s", buffer);
strcat_s(szBuffer_Game, buffer);
OutputDebugString(szBuffer_Game);
va_end(argList);
#endif
}
以上代码就完成了对调试函数的封装,以后我们要写代码就用这个函数来调试了
相关文章推荐
- 追逐自己的梦想----------辅助制作第三十四课:向仓库存入N个物品对象函数封装实现
- 追逐自己的梦想----------辅助制作第十二课:选怪功能封装
- 追逐自己的梦想----------辅助制作第九课:分析怪物列表及怪物属性的封装等
- 追逐自己的梦想----------辅助制作第十课:分析动作数组以及攻击捡物品等功能call的封装
- 追逐自己的梦想----------辅助制作第三十课:NPC对话更正以及封装查找NPC对象函数
- 追逐自己的梦想----------辅助制作第二十三课:挂机选项卡的实现
- 追逐自己的梦想----------辅助制作第三课:注入辅助窗口到游戏进程中
- 追逐自己的梦想----------辅助制作第十六课:分析技能列表
- 追逐自己的梦想----------辅助制作第一课:人物属性分析
- 追逐自己的梦想----------辅助制作第八课:利用SetWindowsHook将进程注入游戏主线程来解决资源冲突的问题
- 调试函数OutputDebugString 支持变参
- 追逐自己的梦想----------辅助制作第十八课:拖拽技能到快捷栏
- 追逐自己的梦想----------辅助制作第二十一课:分析技能自动修炼call
- 追逐自己的梦想----------辅助制作第四课:将游戏人物数据进行测试
- 追逐自己的梦想----------辅助制作第二十六课:存仓库call实现
- 追逐自己的梦想----------辅助制作第二十九课:分析打开NPC后功能打开
- 追逐自己的梦想----------辅助制作第二十二课:分析修炼条件的判断
- 追逐自己的梦想----------辅助制作第十一课:选怪功能分析
- 追逐自己的梦想----------辅助制作第十三课:快速查找基址
- 追逐自己的梦想----------辅助制作第二十四课:寻路call的分析