GDB 使用备忘

Minigui学习--DC 1.相关函数: MG_EXPORT HDC GUIAPI GetDC (HWND hwnd); //gets a window DC of the specified \a hwnd, and returns  the handle to the DC. MiniGUI will try to return an unused DC from the internal DC pool, rath 阅读详情

一些常用的 gdb 使用命令备忘。

thread

用法:thread xx。切换当前活动线程。用于调试多线程程序。xx 为线程号,用 info thread(th)查看,每个线程的第一个数字就是线程号。

watch

硬件写断点。这种断点和普通的 break 有点不同,需要每次挂载 gdb 后,先利用普通的 break 让程序停下来,然后查看出你要查看变量的地址(用p)。然后再用 watch 命令设置。然后每次程序重新运行都要重新设置,因此每次变量地址的都不一样。

p

这个命令平时用来显示一些变量的值。其实它还有一个功能就是执行函数。调试  MiniGUI  的时候,最典型的用法用法就是可以将你想查看的一些 memdc 中的图像信息输出到屏幕上进行检查。方法是调用  BitBlt  ,注意这种情况一些宏定义的变量无法直接使用,而是要填入真正的数值,这些可以从代码里面去差。例如先把屏幕一块地方填充成红色,然后再把 memdc 中的内容输入到屏幕的这个地方:
// SetBrushColor(hdc, color) 的宏定义是 SetDCAttr(hdc, DC_ATTR_BRUSH_COLOR, color)
// DC_ATTR_BRUSH_COLOR 值就是2
// HDC_SCREEN 的值就是0
// 如果自己知道 rgb 对应的 pixel 值的话,也可以不用 RGB2Pixel
p SetDCAttr(0, 2, RGB2Pixel(0, 255, 0, 0))

p FillBox(0, 400, 0, 360, 480)

p BitBlt(memdc, 0, 0, 0, 0, 0, 400, 0, 0)


查看 coredump 文件

首先要让程序在崩溃的时候产生 coredump 文件。输入 ulimit -c unlimited 命令(注意这个只对一个终端有效)。然后在程序崩溃的时候,就会产生 core.xx 的文件。使用 gdb app core.xx 命令查看(app 就是产生 core.xx 的程序)。然后就和普通的 gdb 用法一样了,用 bt 查看崩溃时的堆栈信息啊,但是就是不能执行而已。

disassemble

对当前的执行到的代码反汇编。
麒麟V10 x86_64系统下Qt 5.12.7安装全攻略(附常见报错解决方案) 本文详细介绍了在麒麟V10 x86_64系统上安装Qt 5.12.7的完整流程,包括在线和离线两种安装方案,并提供了常见报错的解决方案。从环境准备到项目配置优化,再到高级调试技巧,全面覆盖Qt开发在国产操作系统上的实践要点,帮助开发者高效搭建开发环境。 阅读详情

相关推荐

5分钟搞懂双目相机标定:从棋盘格到3D点云的完整流程(附Python代码)

本文详细介绍了双目相机标定的完整流程,从棋盘格准备到3D点云生成,涵盖单目标定、双目标定、立体校正、视差计算等关键步骤。通过Python代码示例,帮助读者快速掌握双目立体视觉技术,实现高精度的3D重建。特别适合机器人导航、工业检测等应用场景。

weixin_29100399的博客 585

gdb32和gdb_GDB备忘单

gdb32和gdbHere is a collection of good GDB Cheat Sheets from the Internet. 这是Internet上好的GDB备忘单的集合。 GDB QUICK REFERENCE GDB Version 5 GDB快速参考GDB版本5 GDB Cheat Sheet GDB备忘单 gdb Cheatsheet gdb备忘单 GDB c...

cuma2369的博客 711

CAPL实战:从零构建HEX文件解析器,赋能UDS刷写

本文详细介绍了如何使用CAPL从零构建HEX文件解析器,以支持UDS刷写操作。通过解析HEX文件格式、设计状态机、优化数据结构与算法,实现高效准确的固件数据处理,并提供了与UDS刷写流程对接的工程化实践建议。

weixin_28726391的博客 442

gdb 相关备忘

😷记录gdb 相关的一些指令备忘、插件安装方式等。

Pompey_wp的博客 182

基于RFM模型的电商零售数据分析

E-Commerce Data 数据集介绍 E-Commerce Data Actual transactions from UK retailer 数据集地址(kaggle) https://www.kaggle.com/carrie1/ecommerce-data/kernels 该数据来源于kaggle,是一家注册在英国的电子商务网站的2010年12月份-2011年12月份之间的...

W_H_M_2018的博客 3099

WSL2迁移后用户名不见了?一招教你快速恢复Ubuntu22.04默认用户

本文针对WSL2迁移后Ubuntu 22.04默认用户名丢失的常见问题,提供了详细的诊断与修复方案。通过分析迁移底层逻辑,指导用户使用`ubuntu2204.exe config --default-user`命令或配置`/etc/wsl.conf`文件快速恢复用户身份,并涵盖权限修复、冲突解决及自动化迁移脚本等进阶内容,确保子系统迁移后环境完整可用。

web39explorer的博客 556

gdb调试技巧备忘

准备工作为了能让程序更直观的被调试,在编译时应该添加一些选项 -g: 添加调试选项 -ggdb3: 调试宏定义 启动方式不带参数gdb ./a.out 带参数gdb ./a.out set args -a -b -c any_argument_you_need b main run 调试core文件gdb bin_name core_name 调试正在运行的程序大致按如下步骤 ps ax

littlewhite1989的专栏 5732

flink定位反压节点

在 Apache Flink 中定位反压(Backpressure)节点需要结合监控工具和作业行为分析。

2301_80954266的博客 1045

GDB使用备忘

调试带参数的程序 $ gdb program (gdb) run param   使用core dump调试 首先打开core dump ulimit -c unlimited core文件产生后,使用core dump gdb  --core=core.XXX   设置watch point (gdb) watch *((int*)0x00ABCDEF) 查看反汇

世事难料,保持低调 3395

unity打包流程整理-Windows/Mac/Linux平台

1.Platform(平台)功能: 选择目标构建的目标平台选项PC, Mac & Linux Standalone: 适用于 Windows、Mac 和 Linux 平台2.Target Platform(目标平台)功能: 选择具体的操作系统版本选项Windows: 针对 Windows 操作系统Mac: 针对 macOS 操作系统Linux: 针对 Linux 操作系统3.Architecture(架构)功能: 选择应用程序的目标处理器架构选项x86: 针对 32 位系统。

weixin_42333247的博客 5135

【AI实战】用Coze工作流打造抖音视频文案提取神器——从单链接到批量处理的进阶指南

本文详细介绍了如何利用Coze工作流打造抖音视频文案提取工具,从单链接处理到批量提取的进阶指南。通过AI技术和工作流的结合,用户可以高效提取抖音视频的ASR和OCR文本,大幅提升内容创作效率。文章还涵盖了性能优化、异常处理及实际应用场景扩展,助力开发者快速实现抖音文案自动化提取。

weixin_29210759的博客 278

gdb调试备忘

gdb progfile 指令 r:运行 bt:查看当前地址堆栈 1. 普通断点 根据代码行数设置断点是最常见的一种方式,在debug程序运行前就可以进行断点的配置。如: (gdb) b src/main.cpp:127 当程序执行到main.cpp文件的第127行时就会出发断点。 2. 条件断点 顾名思义,这种断点是当满足一定条件时才会触发,比较适合进行异常排查。设置方式(...

HideInTime的博客 208

【A2DP】规范精讲[1]: 深入解析A2DP协议的核心架构

在蓝牙技术发展的早期阶段,音频传输主要通过SCO(同步面向连接)链路实现,这种设计主要针对语音通信,音质有限且功能单一。随着人们对无线高质量音频需求的增长,​​Advanced Audio Distribution Profile (A2DP)​​ 应运而生,成为蓝牙音频传输的技术基石。

byte轻骑兵的技术小窝 1万+

GDB调试入门备忘

GDB调试1、启动gdb:gdb 程序名 内存转存文件 例如:$ gdb hello core -q 不显示许可信息 -d dirname dirname是目录名 告诉gdb查找源代码的目录,默认是当前目录 2、运行程序:命令run ,可以在run后面跟参数,如同程序参数一样。3、设置变量:使用set和unset来设置和取消环境变量,例如: set args arg1

Cortex-M3专栏 1003

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

GDB调试基础备忘

1.调试前提 被调试程序在编译时要加入-g选项,这样才能产生供gdb调试使用的信息。如 gcc -g hello.c 2.基本命令 (1)启动调试 gdb 可执行文件名,如 gcc a.out 执行上述命令后,只是为调试做好了准备,尚未启动被调试程序运行。此时进入调试界面。 (2)设置可执行文件参数 (gdb) set args 参数1 参数2 参数3 ... (3)设置断点

smstong的成长轨迹 1645

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Linux】【Gdb】关于gdb调试的备忘

1.查看局部变量point funname.c::variable2.持续查看某变量watch variable3.打断点b funname.c:linenum4.查看断点info b5.删除断点d num

guanlizhongxintishi的博客 340

gdb备忘录

忽略信号:handle SIGPIPE nostop noprint 指定库搜索路径:set sysroot(等价于set solib-absolute-prefix)、set solib-search-path LD_LIBRARY_PATH=/path/ arm-xxx-gdb ./a.out 优先级: path_sysroot > path_solib_search > ...

cgf12的专栏 162

GDB 命令备忘

1, 向被调试进程发送信号 (gdb)signal <信号 比如SIGINT>

Jang的博客 173

GDB备忘录

 1. 在GDB中引用Shell:shell ls2. 设置输入参数:set args inputfile 103. 断点:b main.c:12b getargsb 3353 (current context)info bdel 1enable 1disable 34. 观察点:watch var==value (static or global)watch *((int *)(0x888888

chicklili的专栏 586

gdb 调试(备忘)

在 ~/.gdbinit 中,添加 gdb-stl-views 脚本。通常代码使用智能指针等,编码很灵活,不一定用全局容器去维护。可以事先对比较重要的对象,在构造时, log 其地址。会造成 gdb 调试时,得到想要的对象信息比较难。这样, gdb 调试时,随时可以打印它,方便调试。gdb 中,执行命令。

范安崇的博客 779

Linux Gdb调试备忘录

Linux gdb调试

weixin_38261823的博客 524

GDB操作指令备忘

gdb读取fs,gs寄存器: $fs_base,$gs_base; gdb设置intel风格汇编:set disassembly-flavor intel; gdb解析反汇编函数名:set print asm-demangle on;

jzkdl的专栏 342

[学习备忘录]编译gdb及gdbserver

本文介绍了在Linux系统中编译、安装调试器gdb以及在目标平台上运行的gdbserver。

李迟的专栏 2612

gdb学习笔记(备忘)

gdb功能 启动程序,可以按照用户自定义的要求随心所欲的运行程序。 可让被调试的程序在用户所指定的调试的断点处停住 (断点可以是条件表达式)。 当程序停住时,可以检查此时程序中所发生的事。 动态改变量程序的执行环境。 常用命令总结 run(r) 运行 list(l) 列出源代码 break(b) 设置断点

linux_Allen的博客 317
上一篇: adb 用 wifi 连接 android 设备
下一篇: Vi 使用备忘
mingming_killer
博客等级 码龄19年 18粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值