gdb打印字符串长度设置

全志T113 Tina5.0开发:(零)源码下载&修改调试串口 本文章主要作为自己的笔记,如有错误欢迎指出$ repo start product-da-t113-tina-stable --all # 全部下载完成之后,创建分支运行过程可能会出现版本问题;rm -rf .repo //先删除试试( 我安装的是3.6版本) 阅读详情
AI摘要

本文介绍如何使用GDB调试工具完整显示长字符串。通常GDB默认只显示200个字符,通过设置printelements参数可调整显示长度。

在使用gdb调试过程中,经常需要查看变量的值,最常用的方法:

(gdb) print {变量名}

一般情况下,打印并不存在问题。但当一个字符串比较长时,打印出来的内容不完整,内容的最后为"..."

例如:

(gdb) p (char*)0x23b744a98
$19 = 0x23b744a98 "obbs:S:1.3:{[{1,772830,772830,35513000054164,45514000069401,0,0,15525034,1,7778,-1,0,0,1,1,[{1,7,7,9005,-41600,10402},{1,7,7,9006,-41600,10402},{1,7,7,4002,-1,10402},{1,7,7,4005,17400,10402},{1,7,7,40"...
可以看到print显示的内容最后为"..."表示显示的内容并不完整。


问题:

那如何才能将长字符串显示完整呢?如果字符串比较长,又是依据什么来显示字符串呢?


首先,猜测打印的是一个固定长度的字符串,如果超过了默认的最大长度,那只打印默认最大长度的字符串内容,并在其后显示"..."表示打印内容不完整。

那这里的默认最大长度是多少呢?

通过以下命令可以查看:

(gdb) show print elements
Limit on string chars or array elements to print is 200.
可以看到默认只会打印200个字符。这个可以通过前面的举例验证。

obbs:S:1.3:{[{1,772830,772830,35513000054164,45514000069401,0,0,15525034,1,7778,-1,0,0,1,1,[{1,7,7,9005,-41600,10402},{1,7,7,9006,-41600,10402},{1,7,7,4002,-1,10402},{1,7,7,4005,17400,10402},{1,7,7,40
刚好是200个字符。


其次,如何更改打印的字符串长度值?

可以通过命令:

(gdb) set print elements 0
(gdb) show print elements 
Limit on string chars or array elements to print is unlimited.
使打印的字符串长度不受限制。当然这里你也可以设置一个你需要的合理值。

例如:

(gdb) set print elements 300
(gdb) show print elements
Limit on string chars or array elements to print is 300.

验证:再次打印前面例子中未完全显示的变量:

(gdb) p (char*)0x23b744a98
$30 = 0x23b744a98 "obbs:S:1.3:{[{1,772830,772830,35513000054164,45514000069401,0,0,15525034,1,7778,-1,0,0,1,1,[{1,7,7,9005,-41600,10402},{1,7,7,9006,-41600,10402},{1,7,7,4002,-1,10402},{1,7,7,4005,17400,10402},{1,7,7,4006,-41600,10402},{1,7,7,4007,0,-1},{1,7,7,4015,17400,10402}]}]}"

OK.这次打印已经能显示整个字符串所有内容。


总结:

使用set print elements [n] 来更改打印字符串的长度。



参考:

(gdb) help set print elements
Set limit on string chars or array elements to print.
"set print elements 0" causes there to be no limit.









基于YOLOv8和时序模型的异常动作检测系统 异常动作检测是计算机视觉领域的重要应用,广泛应用于智能监控、安防系统、老人看护等场景。本项目结合YOLOv8目标检测和LSTM时序模型,实现对打架、摔倒、奔跑等异常动作的实时检测,并提供了完整的Web界面。多技术融合: 结合YOLOv8目标检测和LSTM时序建模实时检测: 支持实时视频流处理和文件分析用户友好: 提供完整的Web界面可扩展性: 模块化设计便于功能扩展高性能: 包含多种优化策略。 阅读详情

相关推荐

[LaTeX] 调整参考文献的格式(References),包括作者名缩写,行距,字体,引用顺序等等

在此记录我对LaTeX中参考文献references的尝试,主要涵盖如题几个方面。

the Blog of 等不到天亮丶等时光 4万+

Linux下gdb调试打印字符串

gdb 调试中打印字符串或变量类型,变量所在文件

wojiaxiaohuang2014的博客 4399

三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析

1前言短路故障相对于其他故障类型来说是比较常见的,不同的设备的短路故障,大了讲都一样,细了说各有千秋,今天我们主要聊聊光伏逆变器的短路特征。电力系统中的电源,传统意义是指的是并入电力系统的同步发电机。但随着分布式发电技术的发展,各种形式的发电装置并入电力系统。按照分布式电源并网的方式,我们大致可以分为以下三类:➤通过旋转电机和变流器并联并网的电源,主要指双馈风力发电系统;➤仅仅通过变流器...

weixin_39901404的博客 1732

【GDB】print 操作打印完整字符串

修改打印字符串长度命令。

数据库技术 2176

ADC噪声参数博弈论:为何24位ADC的有效分辨率可能不如16位?

本文深入探讨了ADC噪声参数的核心矛盾,揭示了24位ADC有效分辨率可能不如16位ADC的根本原因。关键在于跳出单纯比较位数的误区,转而关注输入参考噪声这一绝对指标。文章通过分析参考电压对满量程范围和噪声模型的影响,阐述了动态范围与最小可测信号之间的取舍逻辑,为工程师提供了基于系统实际需求的ADC选型与噪声评估框架。

snow3的博客 704

CGNS快速入门到实战(二):VS配置调用CGNS静态链接库

CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库;(三)CGNS文件及案例展示。本篇文章重点讲述VS配置调用CGNS静态链接库。

ahang_99的博客 2616

gdb 打印字符串的全部内容

通过命令set print element 0

LD的专栏 1630

分离与合体题解(区间DP)

题目: 经过在机房里数日的切磁,LYD从社神牛那里学会了分离与合体,出关前,杜神牛给了他一个测试 杜神牛造了个区域,它们紧邻着排成了一行,编号1-n。在这經个区域里都放着一把OI界 的金钥匙,每一把都有一定的价值,LYD当然想得到它们了。然而杜神牛规定LYD不可以一下子 把它们全部拿走,而是每次只可以拿一把。为了尽快地拿到所有的金钥匙,LYD自然就用上了刚学的分离与合体特技。 开始LYD可以选择从1~n-11~n-11~n-1的任何一个区域(记为K)进入,进入后LYD会在K区域发 生分离,从而分离为两个小L

cqbz_lipengcheng的博客 370

【1000个GDB技巧-006】-GDB如何使用x内存命令打印字符串 x/s 0x12345或者 x/s g_test_symbol或者vsc中g_test_symbol,s

x命令是用来查看内存地址内容的,如果要打印字符串直接用/s 类似p功能。vsc提供的快捷智能打印 支持,s指定格式非常高效。除了命令行添加-exec执行外还可以简便写法。- 知道符号:(相当于地址)- 使用vsc独特用法。使用符号,注意指定格式。

技术札记 1123

从零开始搭建多旋翼无人机:飞控系统配置全攻略(含IMU校准技巧)

本文详细介绍了从零开始搭建多旋翼无人机的飞控系统配置全流程,重点解析了IMU校准技巧。涵盖飞控硬件选型、IMU校准(加速度计、陀螺仪、磁力计)、GPS与罗盘集成方案、飞行模式配置策略及实战故障排查手册,帮助DIY爱好者提升无人机飞行稳定性与安全性。

beta5的博客 796

SI案例分享--FPC(柔性电路板)信号仿真

设计高性能的柔性PCB时,由于采用了网格地的参考面构造,因此,需要按照特定的结构进行布局,才可以保证所需目标阻抗的稳定性,该结构的配置过程称为“Hatch Configuration”,合理的参数配置将有助于得到满意的设计效果。

一只豌豆象的博客 2826

gdb 打印字符串长度,gdb打印字符串长度设置

在使用gdb调试过程中,经常需要查看变量的值,最常用的方法:(gdb) print {变量名}一般情况下,打印并不存在问题。但当一个字符串比较长时,打印出来的内容不完整,内容的最后为"..."例如:(gdb) p (char*)0x23b744a98$19 = 0x23b744a98 "obbs:S:1.3:{[{1,772830,772830,35513000054164,45514000069...

weixin_39740419的博客 1635

MAC-H3C官网inode客户端下载安装

MAC-H3C官网inode客户端下载安装

兴趣是最好的老师 1万+

GDB调试C/C++代码-命令帮助与打印内存及设置打印字符串长度

GDB调试C/C++代码-命令帮助与打印内存及设置打印字符串长度一、命令帮助二、打印内存三、设置打印字符串长度 一、命令帮助 1、进入gdb后输入help会显示命令类列表 2、按照提示可以help+命令类名,会显示该类下的所有命令,如help data 3、再进一步输入help+具体命令,会显示该命令的详细使用说明,如打印内存命令help x 二、打印内存 在网络开发时经常会打印报文内存 1、命令格式,按照上面的说明翻译:x/FMT ADDRESS (1)ADDRESS:内存地址 (2)FMT:打印的

Fighting! Go! Go! Go! 1406

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

GDB调试

gdb: 1.设置打印字符串长度: show print elements 显示打印长度默认200 打印字符串长度不受限制 (gdb) set print elements 0 (gdb) show print elements

xt18971492243的博客 1093

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

gdb打印完整字符串内容

Here is an example. If a program says int *array = (int *) malloc (len * sizeof (int)); you can print the contents of array with p *array@len

jfkidear的专栏 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

gdb 调试打印完整字符串

文章目录1.那如何才能将长字符串显示完整呢? 1.那如何才能将长字符串显示完整呢? 首先,猜测打印的是一个固定长度的字符串,如果超过了默认的最大长度,那只打印默认最大长度的字串内容,并在其后显示"…"表示打印内容不完整。 那这里的默认最大长度是多少呢? (gdb) show print elements Limit on string chars or array elements to p...

喜欢打篮球的普通人 1111

gdb 打印字符串全部内容

在gdb调试时要打印出一些字符串的内容,通过 p str@str_len  打印字符串时,长度受限,测试linux机器上默认为200个,但实际输出的长度str_len可能大于该值。 结果不能够完全输出,而进行了省略,通过命令set print element 0就可以了。

华的专栏 1866

gdb指导大全

100个gdb小技巧:(待补充)

xie0421的博客 272

[Debugging With GDB]1 一个GDB会话样例

1 一个GDB会话样例

u012906122的专栏 193

gdb 小备注

http://zhiwei.li/text/tag/gdb/page/2/ http://blog.youkuaiyun.com/haoel/article/details/2879 1. 想查看造成core的query,但是默认print字符串的长度是200,可以set print elements 0,即可完整print全部字符串. 2. Gdb的时候想要看到想要...

weixin_30642267的博客 129

gdb用法总结

本文对gdb常见的命令进行总结,并会持续更新。 一、gdb使用前置条件:编译时加入debug信息。 gcc/g++是在编译时加入-g,其他语言请自行百度。值得注意的是,-g分4个等级: -g0等于不加-g。即不包含任何信息 -g1只包含最小信息,一般来说只有你不需要debug,只需要backtrace信息,并且真的很在意程序大小,或者有其他保密/特殊需求时才会使用-g1。 –g...

earthqj123的博客 621

gdb打印字符串时不省略

通常在gdb调试时要打印出一些字符串的内容,但默认情况下输出的字符串有长度限制,但是需要查看字符串的全部内容,怎么办呢?通过命令set print element 0就可以了。

nyist327的专栏 4729

gdb 设置字符串输出大小

在使用gdb调试过程中,经常需要查看变量的值,最常用的方法: (gdb) print {变量名} 一般情况下,打印并不存在问题。但当一个字符串比较长时,打印出来的内容不完整,内容的最后为"..." 例如: (gdb) p (char*)0x23b744a98 $19 = 0x23b744a98 "obbs:S:1.3:{[{1,772830,772830,35513000054164,45...

明天你好 2708
上一篇: 致逝去的2014
下一篇: 浏览器的类型
hznat
博客等级 码龄19年 51粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值