传递消息的结构体:

struct dbwin_buffer
{DWORD   dwProcessId;char    data[4096 - sizeof(DWORD)];
};

具体实现,直接艹代码:

void my_outputdebugstring_ansci(const char *msg)
{HANDLE mutex = CreateMutexW(NULL, FALSE, L"DBWinMutex");DWORD err = GetLastError();if (mutex){err = WaitForSingleObject(mutex, INFINITE);}HANDLE file_mapping = OpenFileMappingW(FILE_MAP_WRITE, FALSE, L"DBWIN_BUFFER");if (file_mapping){PBYTE data = (PBYTE)MapViewOfFile(file_mapping, FILE_MAP_WRITE, 0, 0, 0);if (data){HANDLE event_buffer = OpenEventW(SYNCHRONIZE, FALSE, L"DBWIN_BUFFER_READY");if (event_buffer){WaitForSingleObject(event_buffer, 10000);}struct dbwin_buffer *dbw_buffer = (struct dbwin_buffer *)data;dbw_buffer->dwProcessId = GetCurrentProcessId();memcpy(dbw_buffer->data, msg, strlen(msg));dbw_buffer->data[strlen(msg)] = '\0';HANDLE event_data = OpenEventW(EVENT_MODIFY_STATE, FALSE, L"DBWIN_DATA_READY");if (event_data){SetEvent(event_data);}UnmapViewOfFile(data);CloseHandle(event_buffer);CloseHandle(event_data);}CloseHandle(file_mapping);}ReleaseMutex(mutex);return ;
}

实现OutputDebugString输出调试消息相关推荐

  1. OutputDebugString输出调试信息

    OutputDebugString输出调试信息 声明 <windows.h>文件声明了 OutputDebugString() 函数的两个版本:一个用于 ASCII,一个用于 Unicod ...

  2. 使用OutputDebugString输出调试信息

    概要: 在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了.可以使用以下方法: (1)使用Log机制 (2)用 ...

  3. QT 调用vs写的dll 使用OutputDebugString输出调试信息

    vs c++写的dll中使用的cout 将调试信息写到控制台中,但qt调用dll时,cout内容没有办法显示了. 解决办法:使用OutputDebugStringA char buf[128];spr ...

  4. 使用OutputDebugString做调试输出

    昨天发现服务器通讯并发有问题,所以希望在通讯层增加写调试信息输出来看看.当时首先想到的是用一般经常使用的Codesite,但把调试代码增加到通讯单元后,编译居然跑不起来了,一跟踪才发现,原来是Code ...

  5. C++ 输出调试信息 类似MFC的TRACE等宏

    在MFC程序中有TRACE等一系列的宏可以输出调试信息, 但是其他的地方不能用了, 下面这个小程序测试了怎么输出调试信息, // Test_ErrorCode.cpp : 定义控制台应用程序的入口点. ...

  6. 使用OutputDebugString帮助调试

    使用OutputDebugString帮助调试 前面我已经介绍了使用TRACE来帮助我们调试,但使用TRACE有一个限制,只能在将程序DEBUG编译状态下才能使用,下面我们介绍OutputDebugS ...

  7. DebugView输出调试信息

    在写windows程序时,需要输出一些调试信息,这里介绍一种极其方便的方法.即使用OutputDebugString 在Debug模式下输出调试信息,在Release模式下不输出. 我们可以在VS的集 ...

  8. 在MFC,Win32程序中向控制台(Console)窗口输出调试信息

    在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息:另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行. 其实有一种方法可以更 ...

  9. Jlink 使用 RTT 输出调试信息总结

    一天的突然消息,听说Jlink 可以仅仅使用自身就可以输出调试信息,不在使用多余的其他UART 外界接口,所以就花了3天时间折腾了下(网上搜索,使用很简单,但是自己去使用三天才正常输出,踩了不少坑,所 ...

最新文章

  1. CallByName的一些缺陷
  2. 短视频未来3年的规模为3万亿元
  3. 每周「Paper + Code」清单:句子嵌入,文本表示,图像风格转换
  4. 代码单元测试:gtest
  5. 前端学习(2784):首页轮播图的渲染
  6. JavaScript的求模、取整、小数的取舍
  7. Android TV 开发(5)
  8. Java高并发之设计模式,设计思想!
  9. java 当天日期 dateutil_Java时间日期DateUtil
  10. 吉他 c大调第一把位
  11. 如何给pdf添加目录
  12. ANSYS CFX19.0中的SA模型设置
  13. 关于TLC2543不常见问题
  14. 关于深度学习人工智能模型的探讨(四)(6)
  15. pageX,clientX,screenX,offsetX区别
  16. 申请Oracle Cloud永久免费主机服务
  17. 易语言源码利用QQ CK批量导入登录京东/京喜账号,进行登录
  18. 吴金贵有望二次助教国足 成顶替刘春明热门人选
  19. ERP和SAP的一些名词解释
  20. 微软校招面试题3-15

热门文章

  1. “为什么而活”的四种人【人人都是产品经理:9086】
  2. 全景封面视频生成技术在淘宝的应用
  3. 学习笔记——Canopy + K-means的聚类算法
  4. 阿里巴巴的全链路压测
  5. 来谈谈程序员的生活日常
  6. 《知识就是力量》第五期——“怎样逼自己上进”笔记
  7. 百度 JQuery简介
  8. mysql 统计请假天数_php统计员工请假天数,最好能有代码说明
  9. [原创]Saltstack学习笔记:命令参数详解以及配置文件说明
  10. 区块链浅析(未完成版)