简单的调试信息显示程序

UniApp开发小程序 如何区分线上和测试环境?这个方法简单又高效! 做 UniApp 开发时,难免会遇到。 阅读详情

在做wince设备程序或驱动开发的时候,如果设备没有串口、USB、控制台功能,就只能用消息框或日志文件来做调试用,但是我觉得这样很不方便:前者要不停关闭消息框,后者则要将日志文件打开才能看到。因此我就用重定义RETAILMSG的方法通过WM_COPYDATA将调试信息的输出重定向到一个接收WM_COPYDATA的Dialog程序中,这样既能够实时显示调试信息,又能够在不需要的时候使用取消RETAILMSG重定义恢复缺省设置。

 

一、调试信息重定向模块

//MemLog.h : 在需要调试的代码中加入此头文件,就可以重定向RETAILMSG

 

 

//MemLog.cpp : 调试信息输出文件

 

二、调试信息接收模块:是基于MFC的Dialog程序,主窗口名字为“LogWindow”,得用一个CEdit控件显示接收的调试信息

//WM_COPYDATA消息处理函数

 

三、测试程序

查看Windows操作系统的窗口、消息、进程工具 Microsoft Spy++是一个非常好的查看Windows操作系统的窗口、消息、进程、线程信息的工具,简单易用,功能强大。 立即下载

相关推荐

CentOS 7下glibc升级到2.28的保姆级避坑指南(含GCC 7.3.1编译配置)

本文详细介绍了在CentOS 7系统中将glibc升级到2.28版本的完整流程,包括GCC 7.3.1的编译配置、环境变量设置、glibc编译的细节处理以及生产环境验证。文章特别强调了风险控制和避坑技巧,适用于需要提升系统兼容性的企业级用户。

weixin_29611239的博客 408

微控制器调试信息显示方法

4.使用商业板的调试适配器,如J-LINK等,可以使用指令跟踪单元ITM的特性,将消息传递回调试主机且在开发环境中显示消息。不需要额外的硬件和太多的软件开销。大多数嵌入式应用不具备丰富的GUI,但是简单的基于字符的通信方法对于软件开发还是很有必要的,例如通过printf显示AD采集值。3.使用USB和虚拟COM端口实现通信在编写软件是会麻烦一些,但是不需要额外的模块开销;3.将微控制器上的USB接口设置为虚拟的COM端口,并且同运行在PC上的终端程序通信;2.使用简单的UART同PC上运行的终端程序通信;

jht23333的博客 273

PyTorch实战:手把手教你用QAT量化感知训练拯救模型精度(附避坑指南)

本文详细介绍了如何使用PyTorch进行QAT量化感知训练,以提升模型在边缘设备上的推理精度。通过核心原理讲解、实战代码示例和避坑指南,帮助开发者掌握从环境配置、模型训练到边缘部署的全流程,有效解决传统量化方法导致的精度损失问题。

c7d8e的博客 326

Windows CE 6.0下dpCurSettings编译出错及解决办法

今天在编译6410的镜像文件的时候,突然报错:BUILD: [01:0000004569:ERRORE] iic_mdd.obj : error LNK2001: unresolved external symbol dpCurSettingsBUILD: [01:0000004570:ERRORE] D:\WINCE600\platform\SMDK6410\target\ARMV4I\debu...

weixin_30876945的博客 183

在游戏开发中如何使用Unity3D引擎开发麻将游戏

总体来说使用Unity3D引擎开发麻将游戏需要开发人员熟练掌握Unity3D的各种功能和API,并且需要深入了解麻将游戏的规则和背景,以便实现一个质量高、玩法丰富的游戏。在测试的过程中我们需要检查游戏是否符合规则,保证游戏逻辑的正确性,并检查游戏的UI是否和设计图一致,保证游戏的可玩性。Unity3D引擎是一个高度集成的游戏开发工具,可以为开发人员提供很多强大的工具和功能,包括3D建模、物理模拟、粒子系统、动画等等,在游戏开发中可以提高开发效率和游戏质量。在开始开发之前我们需要明确游戏的需求和功能。

a272857154的专栏 1889

从零到一:用ROS2和Gazebo搭建Franka机械臂仿真环境(避坑指南)

本文详细介绍了如何使用ROS2和Gazebo从零开始搭建Franka机械臂的仿真环境,包括环境准备、ROS2包安装、控制器配置及常见问题解决方案。特别针对关节位置控制等核心功能提供了实用代码示例和避坑指南,帮助开发者高效构建机器人算法验证平台。

weixin_29061465的博客 459

C语言输出DEBUG调试信息的方法

问题提出我们在调试程序时,输出调试信息(又称为”打桩”或者”插桩”)是一种普遍、有效的方法。我们输出的信息通常包括行号、函数名、程序变量等。但是我们在程序BUG修复后,又会特别烦我们之间插入的哪些调试语句,客户是不会理解我们那些调试语句曾经又多少汗马功劳,而太多的调试语句也影响我们程序运行时输出的美观和清晰,于是很多情况下我们需要手动将那些调试语句注释掉或者删掉,这对于小项目来说,我们还可以忍受,但

OSKernelLAB(gatieme) 2万+

使用MATLAB中的Simulink工具来构建一个微电网系统的仿真平台

微电网是指由分布式电源(如太阳能、风能等)、储能装置、负载以及控制和保护装置组成的局部电力系统。它可以独立于主电网运行,也可以与主电网并联运行。本示例将以一个简单的微电网为例,展示如何利用Simulink进行微电网接入与孤岛运行策略的设计与仿真。分布式电源:模拟太阳能光伏板或风力发电机等分布式电源。储能装置:用于存储多余能量或补充不足能量。负载:模拟实际用电需求。双向变流器:实现直流与交流之间的转换,并支持并网和孤岛模式切换。控制器:负责管理微电网的运行模式,包括并网控制和孤岛控制。

xiaoheshang_123的博客 346

wince串口打印函数是如何实现的?(作者wogoyixikexie@gliet)

wince串口打印函数是如何实现的?(作者wogoyixikexie@gliet)      通常我们在BSP下一般使用RETAILMSG这个函数来实现串口打印,某些驱动也用DEBUGMSG。 在OAL又是另外一些串口打印函数。我们很早就知道这是OAL之下的debug.c的串口函数实现的,但是具体是怎么实现的,我从来没有去看过。今天碰到在串口MDD层无法使用串口打印的情况,搞得我很郁闷。就

gooogleman#foxmail.com 2829

目标检测YOLO实战应用案例100讲-基于YOLOv7的番茄采摘机械手场景感知及试验(下)

根据软件系统的设计需求,制定系统的可行性方案分析,编写系统的相关程序和 调试运行环境,对系统进行测试,以实现对番茄数据的采集及监测。登陆界面登陆后,进入选择界面,菜单包括了对番茄种植棚室的固定相机数据的监测、 对番茄采摘机械手的双目相机采集的番茄的静态、动态数据的获取、对番茄静态、动态数 据处理的功能菜单等选项。与利用人工去进行对于番茄果实的识别和数目的统计相比,番茄视觉系统自动记录番 茄数量以及红色已经成熟的番茄、青色未成熟番茄的数量,减轻人工记录的工作量,减少 人工记录的误差,从经济方面是可行的。

qq_36130719的博客 812

MTK平台WiFi学习--Wi-Fi 连线/断线问题初步分析

摘要:本文详细介绍了MTK平台WiFi连接问题的日志分析方法。文章首先阐述了WiFi连接的标准流程,包括指令接收、BSSID选择、信道分配、认证关联、四次握手和DHCP获取等关键步骤。针对常见故障场景,如选网失败、信道申请失败、认证关联失败、四次握手失败等,提供了具体的日志分析方法和排查思路,包括识别关键日志、分析状态码、结合固件日志和抓包数据等。文章还特别强调了不同故障场景下需要收集的日志类型和分析要点,为WiFi连接问题的定位提供了一套系统化的解决方案。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1590

visual studio 2019开发Qt程序,使用CMD打印QDebug调试信息

文章目录现象:解决办法:1. 右击“项目名称”->“属性”2. 更改 链接器->系统->子系统 为 `“窗口 (/SUBSYSTEM:WINDOWS)”`3. 大功告成 不少的朋友应该应该喜欢在QT程序调试的过程中使用QDebug来打印调试信息,使用Qt Creator时可以直接打印出来,但是使用visual studuio开发Qt程序时却看不到打印的调试信息,我们现在就来看看解决办法。 现象: 解决办法: 1. 右击“项目名称”->“属性” 2. 更改 链接器->系统

超级大洋葱的博客 3616

AutoJs调用DeepSeek大模型接口实战教程 AutoJs接入DeepSeek、 DeepSeek API调用 、 手机脚本接入大模型

通过这篇文章,我们用 AutoJs 成功接入了 DeepSeek Chat API。使用发送请求在 Header 里正确携带 API Key从里拿到最终返回结果这样一来,你就可以在 AutoJs 里实现一个智能助手脚本,甚至做更复杂的 AI 自动化工具。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 467

WinForm 程序中使用 Console 输出调试信息

WinForm 程序中使用 Console 输出调试信息1. 新建一个WinForm程序;2. 菜单"Project","Properties","Application",将"Output type"设置为“Console Application”;这样在运行该WinForm程序时会启动一个控制台窗口。可以使用:Console.WriteLine();Console.Write();输出调试信息...

weixin_34306593的博客 1756

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

<VS>MFC程序显示命令行窗口

编写MFC程序时,想打印出调试信息,使用cout后,发现程序并没有像想象中那样自动弹出命令行窗口,要输出的信息也没地方去查看。百度后知道要手动调出命令行窗口,才可以看到输出的信息。 百度上介绍了两种方法,一种是通过添加代码,在程序中建立命令行窗口的对象。这里介绍一种比较简单的方法。 右键解决方案,打开属性页。 选择生成事件(build event)->生成后事件(post-...

weixin_30354675的博客 700

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

输出错误信息与调试信息

public class PrintErrorAndDebug { public static void main(String arg[]){ System.out.println("main()方法开始运行了..."); System.err.println("程序里面有Bug"); System.err.println("\t该程序没做

杰瑞的专栏 1186

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

摄像头的java api,Webcam Capture API in Java教程(4) - 如何在Swing panel(基本)中显示来自网络摄像头的图像...

importjavax.swing.JFrame;importcom.github.sarxos.webcam.Webcam;importcom.github.sarxos.webcam.WebcamPanel;importcom.github.sarxos.webcam.WebcamResolution;publicclassWebcamPanelExample{publicst...

weixin_34472954的博客 479

WIN32窗口程序

// Win32.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "Win32.h" void TRACE(LPCTSTR lpszFmt, ...);//调试信息 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam...

weixin_34224941的博客 80

VS如何配置将打印信息输出到控制台窗口(黑框)

1、在vs中打开你的解决方案。 2、鼠标移动到你的项目名称上,点击鼠标右键,再点击属性,此刻会此项目的属性页。 3、在配置属性中,找到生成事件,在找到后期生成事件。 4、在命令行的右边空白处添加“editbin /SUBSYSTEM:CONSOLE $(OUTDIR)$(ProjectName).exe”,点击确定。 5、以上4步就已经ok了,此时运行你的程序,会多弹出一个黑色命令行的提示框,用来输出你的打印信息。 OK了!有调试信息啦!!!!!!!!!! ...

FadePeople 1万+

在MFC程序中增加控制台

MFC程序中,如果想要输出调试信息,我们一般都是TRACE或者使用LOG文件,都不是很方便,第一个需要我们在调试状态下,第二个也要配置麻烦而且不直观。而使用Console来显示调试信息应该是更好的选择。下面介绍几种在MFC程序中,使用控制台来输出调试信息。 1. 我们可以自己创建一个命令行窗口,在主程序的初始化的时候调用AllocConsole()函数。相应的退出的时候调用FreeConsole...

谢小军的专栏 1104

vs2013编写CUDA程序时总是闪退解决方法

在调试CUDA编程程序时,输出窗口总是闪退,无法查看对应输出的内容。解决方法如下: 在程序的开始引入库文件:#include 然后在程序返回前写入暂停指令:system("pause") 如下图所示: 这样就可以使得输出的界面暂停住,便于查看相关输出的内容。

崔洪振367 3200

妙用Delphi编译器开关为程序增加便捷的控制台调试/日志窗口

原文:http://blog.youkuaiyun.com/zhmnsw/archive/2006/12/30/1469596.aspx在编写WIN32的窗口程序时,由于其不同于命令行的运行方式,我们经常为调试系统而被折磨的几近抓狂。因此很多通用的方法被设计出来:设置断点是个好主意,但很多业务层的代码无法有效的调试。使用对话框、LIST、文件来记录日志,无故增加了设计量不说,每次Release的时

一个人的天空 539

DbgView工具&远程调试

1. DebugView: DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel...

EmbeddedCoder 的优快云博客 5120

Flex Builder 3 下trace() 不输出的问题

下面给出简单的代码(main.mxml): &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt; &lt;mx:Button label="Test Trace"

containsoft123的专栏 164

窗体程序与命令行

  大家在开发C# winform程序的时候有没有遇到这种情况。就是在某个代码的地方想方便的打印一个东西,比如某个值,或者某个错误,但是我们并不想用MessageBox,又不想打印到log文件中,只是调试的时候看看。似乎说道这,我们好像都是用MessageBox解决的。那么今天就说一个小小的技巧,就是在winform程序中打印信息到console中。   其实很简单的。只是我刚刚发现了这个技巧而...

weixin_30532369的博客 176

vs2013 + Qt 同时运行界面窗口和控制台

在vs2013 + Qt5.8 环境下开发界面程序,经常需要打印一些调试信息,但是因为只显示界面窗口,无法将cout / qDebug() / printf 打印信息显示出来。其实只需要在项目下做个很小的调整就可以了: 右击项目打开属性,在子系统处选择“控制台”就可以了 再次运行项目,就可以同时出现控制台和窗口了,打印的信息会再控制台上显示。 如果项目需要发布,则再次将子系统恢复,...

qq_27278957的博客 3377
上一篇: PCM文件格式简介
下一篇: Hacking Windows CE: 如何从线程ID获取线程名称
alien75
博客等级 码龄25年 195粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值