在开发中经常希望输出调试信息,我平时一般使用下面两种之一:
1.用dbgview.exe可以查看,在代码里写法如下
OutputDebugString(PChar(AMsg));
2.产生一个console窗口
-
procedureTInfDebugInfoConsoleImpl.CloseConsole;
-
begin
-
if(FHandle<>INVALID_HANDLE_VALUE)then
-
begin
- CloseHandle(FHandle);
- FHandle:=INVALID_HANDLE_VALUE;
- FreeConsole();
-
end;
-
end;
-
procedureTInfDebugInfoConsoleImpl.OpenConsole;
-
begin
-
ifFHandle<>INVALID_HANDLE_VALUEthen
- Exit;
- AllocConsole;
-
SetConsoleTitle('Debug');
- FHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
-
end;
-
procedureTInfDebugInfoConsoleImpl.WriteInfo(constAMsg:string);
-
var
- dwTmp:DWORD;
-
str:string;
-
begin
-
if(FHandle<>INVALID_HANDLE_VALUE)then
-
begin
-
Str:=Format('%s'#13#10,[AMsg]);
-
WriteConsole(FHandle,PChar(Str),Length(Str),dwTmp,nil);
-
end;
-
end;
分享到:
相关推荐
在MFC程序中利用控制台输出调试信息是一种简单而有效的调试方法。它不仅能够帮助开发者了解程序运行时的状态,还能够提高调试效率。在实际应用中,可以根据具体的调试需求灵活运用上述技术,以达到最佳的调试效果。
本文将详细介绍51系列单片机输出PWM的两种方法。 ### 固定脉宽PWM输出 对于对精度要求不高的场合,可以采用固定脉宽的PWM输出。这种方法利用定时器T0来生成固定的PWM周期,脉宽固定为65536微妙。首先,设置T0为16...
### MFC中调用控制台CMD进行输出的两种方法 #### 方法一:使用`freopen`函数 在探讨具体的实现之前,我们先了解下`freopen`函数的基本概念及其使用方式。 - **函数定义**: `freopen`函数允许程序员在程序运行...
本文主要讨论了VC++中两种主要的调试信息输出方式:CDumpContext和TRACE宏,以及与之相关的CObject类的Dump成员函数。 首先,CDumpContext是一个用于输出调试信息的类,它支持以人类可读的文本格式进行面向流的诊断...
1) 输出为方波和三角波两种波形,用开关切换输出; 2) 输出为方波时,输出电压峰值为0~1V可调,输出信号频率为l00Hz~lkHz 可调; 3) 输出为三角波时,输出电压峰值为0~1V可调,输出信号频率为100Hz~lkHz 可调...
WTL编写的工具支持这两种编码,意味着它具有广泛的兼容性,无论是处理英文文本还是其他语言的文本,都能确保正确显示。 **托盘支持** “托盘支持”指的是工具可以最小化到系统托盘区,这样在不使用时不会占用桌面...
调试信息通过待调试设备的物理接口输出,物理调试接口包括但不限于UART、IIC、SDIO、SPI、USB口。数据采集设备内部也有与之对应的物理接口与待测设备连接,由MCU负责采集数据,并及时存放到内部的数据存储单元中。...
在调试过程中,理解这两种形式的转换和相互作用至关重要。 接下来,我们要关注设备连接。音频设备,如麦克风、混音器、音频接口、扬声器等,它们之间的正确连接能确保信号的无损传输。例如,了解XLR与TRS接口的区别...
本主题将探讨如何在MSP430G2553微控制器上实现串口标准输出printf的两种方法。** 首先,我们要了解MSP430G2553是一款低功耗、高性能的16位微控制器,由德州仪器(Texas Instruments)生产。它拥有多个端口和外设...
M18超声波传感器模拟量输出型的调试方法可以分为两个步骤:设置A2和设置A1。 设置A2:固定好传感器,在想要设定距离(输出5V)的地方放一个被测物,然后给传感器上电。将白线(调节线)和棕线(电源正)挨在一起3-8...
文档中提到了主动式和被动式两种TuneMatching方法。主动式方法需要单独给功率放大器(PA)供电,在Active状态下进行匹配,这通常需要软件支持,但第一版PCB上往往软件尚未准备就绪。因此,作者倾向于使用被动式匹配...
本篇将详细讲解如何利用ADB将安卓调试输出的日志记录到文件,以便于分析和排查问题。 首先,我们需要了解ADB的基本用法。ADB主要包括三个部分:adb server、device-side daemon和host-side client。当开发者在...
本资料“字符格式化两种方法与控制台输出的配合”主要探讨了两种常用的字符格式化方法,并结合控制台输出进行详细阐述。 首先,我们要了解C#中的两种基本格式化方法:字符串插值和`String.Format`方法。 1. **字符...
调试方法主要有两种:一种是在代码中插入打印语句,另一种是使用专门的调试工具。下面将详细解释这两种方法。 第一种方法是在程序中插入打印语句。这种方法通过在程序的关键位置插入输出语句(如printf),来显示...
动态库通常有两种编译模式:Debug和Release。Debug模式用于开发阶段,包含了额外的信息以便于调试;Release模式则为最终发布准备,优化了性能并去除了调试信息。 1. **配置项目设置**: 在VC2010中打开你的动态库...
- `TRACE`宏在Debug模式下启用,Release模式下禁用,用于输出调试信息。 - 例如:`TRACE("Count =%d, Description =%s\n", nCount, strDesc);` - `TRACE0`到`TRACE3`是预定义的宏,根据参数数量使用,简化输出。 ...
调试可以分为静态调试和动态调试两种主要形式: - **静态调试**:通过阅读源代码和文档来发现可能存在的错误。 - **动态调试**:通过运行程序并在运行时观察其行为来定位错误。 ### 常用调试方法 #### 1. 打印...
本文将详细介绍如何在Visual C++ (VC)下进行有效的程序调试,包括理解和使用调试工具,以及两种主要的调试方法。 首先,我们需要了解调试的主要目标,这包括识别和修复语法错误、逻辑错误以及连接错误。语法错误...