草庐IT

MinGW-gdb

全部标签

c++ - 在 gdb 上漂亮地打印 boost::unordered_map

最近我开始在我的系统上使用优秀的boost::unordered_map,但有一个缺点:我不知道如何检查它的内容。在gdb上打印它给了我一个table_和一个buckets_,但还没有找到项目在哪里。有人知道这件事吗? 最佳答案 对于那些想要打印机的人,我已经设法制造了一台。这是代码:classBoostUnorderedMapPrinter:"printsaboost::unordered_map"class_iterator:def__init__(self,fields):type_1=fields.val.type.temp

arm环境使用GDB调试

前言        调试设备代码的时候,经常碰到程序异常或者功能对不上,以前这种时候就是加打印消息,然后重新编译把程序放进去跑,通过打印消息来判断代码出问题的点在哪里,但是有的时候可能需要反复加多次才能定位到问题点,而使用gdb调试就可以很快找到问题,非常效率,虽然GDB调试的文章已经很多了,但还是想写写来记录一下。前期工作        我使用的是主机端使用gdb,设备端使用gdbserver的方式去调试,所以需要在先编译一个arm版本的gdbserver我所使用的编译器:arm-linux-gnueabihf-gccgdb源码版本:gdb-8.3编译生成的程序我已经上传到我的gitee,如

c++ - gdb:tstart 错误 "You can' 的含义 t 当你的目标是 `exec' 时执行此操作“

我想记录一个局部变量的值,t,每次程序到达某一行时。因此,我尝试了:(gdb)tracestoer_wagner_min_cut.hpp:197Tracepoint1at0x4123a0:file./boost/graph/stoer_wagner_min_cut.hpp,line197.(gdb)actionsEnteractionsfortracepoint1,oneperline.Endwithalinesayingjust"end".>collectt>end(gdb)tstartYoucan'tdothatwhenyourtargetis`exec'(gdb)breakmai

ios - 不调用 ObjC 类方法。 GDB玩游戏?

我有一个自定义的UITableViewController,我试图用它来管理UITableView。我的代码在包含UITableView的主UIViewController中的流程如下所示:_messagesTableVC=[[AllMessagesTableViewControlleralloc]init];_allMessageTableView.dataSource=_messagesTableVC;_allMessageTableView.delegate=_messagesTableVC;[_allMessageTableViewreloadData];AllMessages

objective-c - Objective-C : Where to find <process id> in gdb?

我正在尝试使用NSZombie调试我的程序。调试器确实向我返回了有问题的实例的地址,但是我不确定在哪里可以获得运行命令'shellmalloc_history所需的pid谁能告诉我在这种情况下使用的正确pid是什么?我尝试了3298和3298:707,但它们都不起作用。在此感谢任何帮助。郑和2011-05-1916:57:05.779CarParkDemon[3298:707]intableviewcellforRowMethod32011-05-1916:57:05.781CarParkDemon[3298:707]***-[CFStringretain]:messagesentto

搭建嵌入式GDB调试环境以及VSCode+gdbserver 图形化调试

目录1搭建嵌入式gdb调试环境1.1 交叉编译工具链自带的gdb和gdbserver1.2使用gdb进行嵌入式程序调试1.2.1编写简单测试程序1.2.2gdb调试程序1.3源码编译gdb和gdbserver1.3.1下载gdb和gdbserver源码 1.3.2编译gdb1.3.3移植gdbserver2VSCode+gdbserver图形化调试1搭建嵌入式gdb调试环境一般的桌面Linux系统,比如ubuntu、centos等,我们可以直接运行gdb来调试程序。但是嵌入式中芯片性能一般比较弱,所以直接在嵌入式系统中运行gdb不太现实(性能强大的嵌入式芯片可以这么做)。嵌入式系统中一般在PC

ios - gdb 无法在 iphone 5.1.1 上加载共享库

我正在尝试转储iOS上已执行应用程序的内存(使用gdb)。但是gdb不能转储任何数据。(准确的说,dump出来的数据是用0x00填充的。)根据其他网站上的说明,当gdb附加到一个进程时,将开始加载共享库。但是,mime不加载库。以下是附加到进程时的确切消息。root#gdb-p4570GNUgdb6.3.50.20050815-cvs(FriMay2008:08:42UTC2011)Copyright2004FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouare

使用 Qt6-mingw 编译 OpenCV 源码

版本Qt6.6.0win11x86_64安装CMake网址:https://cmake.org/download/选择对应的版本下载将cmake.exe所在的bin目录添加到环境变量中安装openCV网址:https://opencv.org/releases/选择对应的版本下载Source资源包解压“opencv-4.9.0.zip”,将其解压的“opencv-4.9.0”存放到指定路径“Path”(例如在我的电脑上“Path”则为“I:\opencv-4.9.0”)在解压的文件夹下新建一个build目录打开/cmake/bin/cmake-gui.exe在红线处入“Path”选择将其编译在

ios - gdb - 最后一次寄存器值更改的地址?

在调试应用程序时,有时我想知道r2寄存器中的值的含义。是否有可能使用gdb来查看在我的断点被击中之前寄存器r2的值最后更改的是哪条指令?如果那是不可能的,有什么办法可以看出电脑是从哪个地址跳转到当前地址的?谢谢 最佳答案 Isitpossible,usinggdb,toseeatwhichinstructionwasthevalueofregisterr2lastchangedbeforemybreakpointwasstruck?没有。Ifthatisimpossible,isthereawaytoseefromwhichaddr

ios - XCode 调试 (GDB) 在单步执行代码时随机挂起

在第100亿次遇到这个问题并且几乎沮丧地把我的macair甩出窗外后,我决定崩溃并询问是否有其他人遇到过这个......环境:为iOS4.2+应用程序(通用应用程序)运行最新版本的XCode(截至本问题:4.2,构建4C199)。看起来GDB在单步执行代码行时随机决定完全挂起。我现在在多个代码库中以及每个代码库中的不同位置都发生过这种情况。步进过程卡在任意点,需要停止并重新启动正在运行的iOS模拟器或设备上的进程。通常,在重新启动我的调试session后,我能够进入/通过一个不同的任意点——有时甚至足以完全调试我的代码(喘气)。我尝试删除我的驱动器,重新安装MacOSX10.6.8和上