博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
检查win错误信息
阅读量:6849 次
发布时间:2019-06-26

本文共 1051 字,大约阅读时间需要 3 分钟。

就一个函数FormatMessage

#include 
void print_error(DWORD err){ //使用当前平台的字符集 _tsetlocale(LC_ALL, L""); //创建一块内存一直存放错误信息 static HANDLE g_heap = HeapCreate(0, DEFAULTSIZE, 0); static TCHAR *buf = (TCHAR*)HeapAlloc(g_heap, 0, DEFAULTSIZE); //使用当前平台的语言 DWORD syslocale = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); DWORD ret = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, syslocale, buf, DEFAULTSIZE, NULL); if (!ret){ //如果上面没找到错误,去网络错误中查找 static HMODULE hDll = LoadLibraryEx(TEXT("netmsg.dll"), NULL, DONT_RESOLVE_DLL_REFERENCES); if (hDll){ //如果在dll中查找,FORMAT_MESSAGE_FROM_HMODULE 添加上去, 第2个参数填写句柄 ret = FormatMessage(FORMAT_MESSAGE_FROM_HMODULE |FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, hDll, err, syslocale, buf, DEFAULTSIZE, NULL); } } if (ret && buf){ buf[ret] = 0; _tprintf(TEXT("buf:%s\n"), buf); } else{ _tprintf(TEXT("unknow error : %ld\n"), err); }}

转载地址:http://qkgul.baihongyu.com/

你可能感兴趣的文章
javaScript的调试(四)
查看>>
nginx不使用正则表达式匹配
查看>>
利用putty进行vnc + ssh tunneling登录
查看>>
js重定向---实现页面跳转的几种方式
查看>>
hadoop1.x作业提交过程分析(源码分析第二篇)
查看>>
默认安装vsftpd后
查看>>
《Redis设计与实现》读书笔记
查看>>
waiting for changelog lock.
查看>>
小白学爬虫-批量部署Splash负载集群
查看>>
你离BAT之间,只差这一套Java面试题
查看>>
laravel package 推荐,数据备份
查看>>
Synchronized锁在Spring事务管理下,为啥还线程不安全?
查看>>
环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail
查看>>
阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型...
查看>>
dubbo源码分析-服务端发布流程-笔记
查看>>
阿里云发布Apsara SA系列混合云存储阵列
查看>>
GoJS教程:链接模版
查看>>
QListWidget方式显示缩略图
查看>>
金三银四:蚂蚁金服JAVA后端面试题及答案之二面
查看>>
Ubuntu 外网不通解决方案
查看>>