草庐IT

c++ - 当我没有 Xcode 项目时,如何在 Mac OS 上获得可视化调试器?

我正在将一个项目移植到OSX。我发现控制台中的GDB调试功能严重不足,我真的需要一个可视化调试器。我的项目是使用Scons构建的,因此它完全避开了Xcode的IDE。在我需要启动可视化调试器并单步执行我的代码之前,这是可以接受的。除了生成和维护Xcode项目(以补充我已经支持的所有其他平台)之外,我还可以做些什么来在OSX上启动和运行可视化调试器?这是一个C++项目。 最佳答案 简单:启动XCode点击顶部菜单中的“运行”选择attachtoprocess,选择你要调试的进程确保在完全调试的情况下进行编译……这意味着使用选项-ggd

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

c++ - 空闲时间后 libcurl 奇怪崩​​溃

我将libcurl用于FTP工作,它工作正常,但如果闲置一段时间,它就会崩溃。这是回溯,尽管阅读了一段时间,但我还是无法理解哪里出了问题。跟踪没有显示我的函数崩溃起源于何处,因此调试器在这里留下了孤儿。如果增加值(value),我会使用线程Linux上的编译器是GCC4.700x00007fff8e09b524addbyter/home/stefano/Desktop/myproject/curl-7.33.0/lib/mprintf.c91410x00007fff8e09a32fdprintf_formatf/home/stefano/Desktop/myproject/curl-7

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

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

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

ios - 将文件下载到设备时 iPad 应用程序崩溃

我有一个iPad应用程序可以从后端下载视频、图像和pdf,但过了一会儿(下载400MB后)应用程序崩溃并且控制台向我打印gdb。向下这是我用于视频文件的写入函数的一部分。更新如果我释放NSData对象“mediaDataResponse”,应用程序会下载所有文件,但在下载所有文件后给我一个EXC_BAD_ACCES错误。有什么帮助吗?NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*docsPath=[pathsobjectAtInde

ios - 为什么我不能在调试器中打印这个变量的值?

我有一个名为position的类属性,我正尝试使用self.position访问它。我得到:(gdb)poself.positionThereisnomembernamedposition.但是我在接下来的代码块中的for循环中设置了断点。它绝对有值(value):-(IBAction)backFiftyWords:(UIButton*)sender{self.position=@([self.positionintValue]-50);NSString*wordsToBeShown=@"";for(inti=0;i这是一个NSNumber。 最佳答案