首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
keil调试信息printf (__VA_ARGS__)
2024-08-28
keil中使用——变参数宏__VA_ARGS__
本文说的__VA_ARGS__,就是一个可变参数宏,与printf中可变参数的宏定义一个道理,是新C99规范中增加的. __VA_ARGS__详情内容 1.关于__VA_ARGS__ __VA_ARGS__它是一个可变参数的宏,就是将左边宏中“...” 的内容原样抄写在右边 __VA_ARGS__ 所在的位置. 要注意的是,printf 的输出格式是括号内左边是字符串,右边是变量,而且右变量与左输出格式是一一对应的,不对应就会出错.可以参看下面那个例子, __VA_ARGS__其实是遵循了pri
STM32M CUBE实现printf打印调试信息以及实现单字节接收
在写单片机程序时我们一般喜欢使用printf来通过串口打印调试信息,但这个函数是不能够直接使用的.必须做点对库函数的修改. 具体project下载地址: http://download.csdn.net/detail/liucheng5037/8847961 STM32M CUBE是ST官方提供的库以及初始化工具,非常好非常强大,可是在UART方面值提供了例如以下函数: HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart,
【转】 Keil C51重定向printf到串口
概述 进行C/C++开发的时候我们都会需要打印调试信息,打印调试信息时我们习惯使用printf函数,但是在Keil C51环境下,由于我们的程序是下载到单片机里,使用printf函数时不能直接打印到串口上,这个时候就需要我们对printf函数输出重定向. 重定向 重定向printf很简单,我们知道,printf函数是调用putchar实现字符数据传送的.我们只要重写putchar函数,就可以对printf进输出重定向. 代码清单 下面是自己在Keil 5环境下,使用单片机STC12测试print
在MFC中,使用控制台Console输出调试信息
1.在MFC的应用类的InitInstance()函数里添加: AllocConsole(); 有时候需要调整这行代码在InitInstance函数的位置 2.继续添加以下代码 freopen("CONIN$","r",stdin); freopen("CONOUT$","w",stdout); freopen("CONOUT$","w",stderr); 3.在应用类的ExitInst
am335x UART1输入u-boot 调试信息代码修改
AM335x 调试信息UART1输出代码修改1. 关于pin_mux 的配置代码修改位置:/board/forlinx/ok335x/mux.c void enable_uart0_pin_mux(void) { configure_module_pin_mux(uart0_pin_mux_spl); configure_module_pin_mux(uart1_pin_mux); } 将这行代码打开. 代码跟踪流程:arch/arm/cpu/armv7/start.S :开头的_start
[Android Pro] Android studio jni中调用Log输出调试信息
reference to : http://www.linuxidc.com/Linux/2014-02/96341.htm Android 开发中,java 可以方便的使用调试信息Log.i, Log.d ...,Jni层可否使用呢?答案是肯定的. 1 为方便使用,先进行宏定义: eben_hpc_log.h内容如下: #ifndef _Included_hpc_Log#define _Included_hpc_Log#ifdef __cplusplusextern "C" {#en
Win32和MFC项目如何输出调试信息到VS的调试窗口
直接举例说明: Win32项目: #include <Windows.h> OutputDebugString(TEXT("调试信息:MyCircleImpl::~MyCircleImpl GETS CALLED!")); MFC项目: #include <afxwin.h> TRACE(_T("调试信息:MyCircleImpl::~MyCircleImpl GETS CALLED!")); 用法上,这两个的用法跟printf是一样的. 区
使用OutputDebugString输出调试信息
在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种 使用Log机制 用TRACE宏 其他 首先,使用Log机制的话要先写一个Log系统,麻烦.而关于TRACE宏,查了资料后才发现原来是MFC里的东西,那对于非MFC程序,就用不了了. 后来发现了OutputDebugString这玩意儿,发现不错.他是属于windows API的,所以只要是包含了wi
OpenGL笔记<5> shader 调试信息获取 Debug
我们今天来讲调试信息,这个东西讲起来会比较无聊,因为都是一些函数调用,没啥可讲的,函数就是那样用的,不过其效果挺好玩的,同时在程序设计中也是很必要的,所以还是来写一下,不过,就是因为知识比较固定且简单,所以我们 一篇就覆盖三节的内容吧: 1. 获取当前活动的顶点属性和对应索引 2.获取当前活动的uniform量和对应索引 2.Debug Getting Ready 我们以上一节的旋转三角形的例子来讲这一篇. 当我们的shader program编译连接完成之后,所有的量都已经分配了自己的索引,这
C 语言调试信息输出宏定义
C 语言经常在实际的调试过程中,使用最基本的调试方法printf,我们可以使用__FILENAME__.__FUNCTION__.__LINE__,增加自己的输出宏定义: #define DVR_PRT(format,...) printf("[File:"__FILE__", Line:%d] "format, __LINE__, ##__VA_ARGS__) #define PRT(format,...) printf("[File:%s, Li
【转】VC调试的时候 “没有调试信息,未加载符号”
概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件.这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用.本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open. 设置为了调试一个程序,首先必须使程序中包含调试信息.一般情况下,一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息,但是是不是Debug版本并不是
Qt 使用#define+qDebug()输出调试信息
/******************************************************************************************* * Qt 使用#define+qDebug()输出调试信息 * 声明: * 当我们在写程序的时候,往往需要写一些特殊的调试信息,同时很多时候又不愿意每次都 * 删除.添加,当然在Qt中有时候写qDebug中的D总是让人不那么舒服,如下定义成小写的感觉 * 还是挺不错的. * * 2015-12-16 深圳 南山平
Visual Studio的输出窗口上输出调试信息的函数
Visual Studio的输出窗口上输出文字的函数 参考网站:http://www.voidcn.com/blog/u011808175/article/p-2083567.html 当你编写非控制台程序时,比如GUI程序,像std::cout 和 printf()这样的函数,就无法使用了,(不是使用了,程序就编译不了,是可以通过编译的,只是你不会看到这些函数打印出的信息.) Visual Studio给我们提供了一个"控制台" - 输出窗口.我们要使用什么函数才能将调试信息打印到输
用NSLogger代替NSLog输出调试信息
安装 NSLogger分为两部分,LoggerClient和NSLogger Viewer,你的App需要导入前者,后者是一个独立的mac应用,NSLogger所有的调试信息将输出到这个应用中. 安装NSLogger: $ vim Podfile pod 'NSLogger', '1.1' $ pod install 如果你不了解Pod,可以参考这里 编译NSLogger Viewer 我在第一次编译时,系统出现了这个错误信息: Code Sign error: The identity '3r
NDK编程中如何在C文件中打印调试信息
1,在Android.mk文件中加上 LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=ndkdemoLOCAL_SRC_FILES :=com_app_test_nativeMethod.cLOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -lloginclude $(BUILD_SHARED_LIBR
VC++6.0 打印调试信息
1.在MFC中加入TRACE语句 2.在TOOLS->MFC TRACER中选择 “ENABLE TRACING”点击OK 3.进行调试运行,GO(F5)(特别注意:不是执行‘!’以前之所以不能看到TRACE内容,是因为不是调试执行,而是‘!’了,切记,切记) 4.然后就会在OUTPUT中的DEBUG窗口中看到TRACE内容了,调试执行会自动从BUILD窗口跳到DEBUG窗口,在那里就看到TRACE的内容了,^_^ 以下是找的TRACE的详细介绍: =======================
新唐NDA102EC1中更改UUART1作为调试串口打印输出调试信息
新唐NDA102EC1中更改UUART1作为调试串口打印输出调试信息 参考网上STM32修改fputc(int ch, FILE *f),把串口打印函数printf()重定向到UUART1模块的端口输出,最终未成功. 但循着类似解决问题的思路,直接在工程中查找有关printf()函数和fputc()函数的定义位置. 最终发现printf()函数在stdio.h头文件中定义,属于标准C的定义,无价值... 发现fputc()函数在retarget.c文件中定义: int fputc(int ch,
痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设. 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地定位和分析程序问题.在嵌入式应用设计里实现打印信息输出的方式有很多,本系列将以 IAR 环境为例逐一介绍 ARM Cortex-M 内核 MCU 下打印信息输出方法. 本篇是第一篇,我们先介绍最常见的输出打印信息方式,即利用 MCU 芯片内的硬件 UART 外设.本篇其实并不是要具体介绍 UART
痞子衡嵌入式:浅析IAR下调试信息输出机制之半主机(Semihosting)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR下调试信息输出机制之半主机(Semihosting). 在嵌入式世界里,输出打印信息是一种非常常用的辅助调试手段,借助打印信息,我们可以比较容易地定位和分析程序问题.在嵌入式应用设计里实现打印信息输出的方式有很多,本系列将以 IAR 环境为例逐一介绍 ARM Cortex-M 内核 MCU 下打印信息输出方法. 上一篇文章 <IAR下调试信息输出机制之硬件UART外设> 里我们介绍了利用 MCU 芯片内的硬件 UART 外设
利用 Serial Over Lan(SOL)搭建 XEN 的调试信息输出环境
如有转载,请注明出处与本文连接,谢谢! 修改XEN的源码实现额外的功能,需要有一个调试环境来得到XEN的调试信息(有关源码编译并安装 XEN 请阅读我以前的博文:在CentOS下源码安装 Xen并搭建Windows虚拟机),这里有一篇很好的搭建方法:Xen Serial Console,可是光阅读它还不够,中间还会遇到许多问题,本博文介绍一下环境搭建的经过,以及遇到的问题的解决办法,希望对大家有用. 得到 XEN 的 Debug String 需要靠串口(Serial Port)来接收并输出,除
js操作dom---创建一个域来输出调试信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>每天一点js, js 操纵dom </title> <script> //document 中的知道区域输出调试信息 //如果 这个区域不存在则创建一
热门专题
AD20铺铜跟板框间距怎么设置
jdbc mysql 类型 oracle
启发式合并ntt复杂度
java在某个时间段执行任务
ios NSString 清除换行符
tkinter radiobutton横向排列
jsurl转换file
python接口自动化框架 2020
炫酷的web前端源代码
centos7安装python2.7
thingsboard微服务架构介绍
java 使用for循环和continue关键字
spring boot实现两张表数据同时上传
如何安装 iproute2
android studio app布局
winform监控鼠标位置
python 字典实现条件分支语句
delphi webbrowser 初始打开网页
状态压缩dp学习笔记
实体类为null如何set值