草庐IT

【Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)】

Linux环境基础开发工具的使用yum、vim、gcc、g++、gdb、make/MakefileLinux软件包管理器-yumLinux下安装软件的方式认识yum查找软件包安装软件如何实现本地机器和云服务器之间的文件互传卸载软件Linux编辑器-vimvim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行模式各命令汇总vim的简单配置Linux编译器-gcc/g++gcc/g++的作用gcc/g++语法预处理编译汇编链接静态库与动态库Linux调试器-gdbgdb使用须知gdb命令汇总Linux项目自动化构建工具-make/Makefilemake/Makefile的重要性依

c++ - 无论如何,是否允许一个应用程序线程在 GDB 中的断点处继续运行?

在使用ApacheZookeeperC运行时库调试应用程序时,我在使用GDB中的默认全停止模式设置断点时遇到了问题。由于Zookeeper线程无法运行,服务器将使session超时,从而删除您可能已创建的任何临时znode。使用不间断模式我可以防止这种情况发生,但我失去了能够检查任何非Zookeeper线程状态的便利。GDB中是否有一种方法可以指定一个(或多个)线程在遇到断点时继续在应用程序中运行,但其他线程将停止运行?这样我就可以检查我关心的线程的状态并忽略我想在后台运行的线程的状态。编辑:这基本上是notstoppingallthreadsingdb的拷贝.那里使用具有不间断模式的

c++ - gdb 7.5.1 调试通过 g 4.7.2 构建的可执行文件的问题

我一直在更新我的Mac工具链,以便利用C++11功能并最终获得STL数据结构的pretty-print调试。我使用Homebrew构建了gcc4.7.2编译器。我已经能够使用这个新的编译器重新编译我当前项目的源代码。然而,我尝试过的所有版本的gdb在设置断点、查看源代码或查看局部变量时都会出现各种问题。我认为作为Xcode命令行工具的一部分安装的gdb版本6.3.50无法显示各种基于模板的变量。我还构建并尝试使用其他几个gdb版本(7.3.1、7.4.1和7.5.1),但每个gdb版本都有问题,导致很难甚至无法设置断点、查看源代码和查看变量。具体来说,这些gdb版本不知道头文件中定义的

c++ - 点云库应用程序难以调试,可能是由于线程?

我正在使用点云库和cmake进行编译,我已经在Debug模式下构建它,但我的程序没有以我期望的方式出现错误或中止。具体来说,我收到这样的消息:(gdb)runbunnyStartingprogram:debug/our_cvfhbunnylibc++abi.dylib:terminating[NewThread0x170bofprocess80178]ProgramreceivedsignalSIGABRT,Aborted.0x00007fff88c6f866in??()(gdb)bt#00x00007fff88c6f866in??()#10x00007fff8bb5235cin??(

c++ - gdb 不会执行二进制操作

我有以下代码#includeusingnamespacestd;classPoint2D{public:doublex;doubley;Point2D(doublex_i,doubley_i):x(x_i),y(y_i){}};Point2Doperator+(constPoint2D&p1,constPoint2D&p2){returnPoint2D(p1.x+p2.x,p1.y+p2.y);}Point2Doperator*(doubles,constPoint2D&p){returnPoint2D(p.x*s,p.y*s);}ostream&operator我可以编译它并获得正确

c++ gdb断点未命中

我完全改变了职位。因为我在韩国军队工作。但韩国军队互联网计算机禁止上传文件。所以我真的上传了我的源代码。但我不能。所以我尝试用gdb调试非常非常简单的程序。但它仍然无法正常工作。我的系统是DistributorID:UbuntuDescription:Ubuntu14.04.3LTSRelease:14.04Codename:trusty在云IDE中称为“nitrous”和g++,gdb版本是g++(Ubuntu4.8.4-2ubuntu1~14.04)4.8.4GNUgdb(GDB)7.8我写的代码很简单:simple.cpp#includeintmain(){std::cout用“

c++ - 无论我尝试了什么,GDB 都无法在我的 Mac (Mojave) 上运行。常见错误,但我找不到解决方案

这是我的第一篇文章,所以如果我发布任何错误或格式不正确,我提前道歉。我的系统:运行MacOSMojave10.14.1、Netbeans8.2的MacBookPro我正在运行一个打印helloworld的简单C++程序:intmain(intargc,char**argv){cout所以我的问题是我无法使用Netbeans或终端命令在我的MacBook上运行调试器。每次我这样做,我都会收到以下错误:notinexecutableformat:fileformatnotrecognized我最初遇到的问题是缺少调试器命令。我按照指示here安装Homebrew,获取gdb,并对gdb二进

c++ - 自动跳过/忽略 gdb 中的外部代码

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howtoavoidenteringlibrary'ssourcefileswhiledebugginginQtCreatorwithgdb?有人知道如何告诉gdb只输入项目中的代码吗?我知道调试器很难知道什么是“在项目中”以及什么是库....但我认为一些天真的检查可能会有所帮助,例如不要查看不在用户家中的任何文件目录。我经常有这样的代码:MyFunction(complexVarable,complexvar);//passedbyvaluegdb坚持要遍历两个传递值的复制构造函数,但我只关心MyFunct

c++ - 如何在执行应用程序时获取已用内存量

我查看了GDB文档,但没有找到任何有用的或显示我需要的东西:我的应用程序使用的最大内存量。如果相关的话,我正在使用MinGW-w64(适用于Windows的GCC)。我想要以编程方式进行某些操作,而不是“查看您的任务管理器”。另外:我的应用程序一次性执行,它不会在任何地方停止或暂停,我希望保持这种状态。谢谢! 最佳答案 你可以包装malloc/free或new/delete:How-to-profile-memory-usage-of-a-c-program因此您可以随时查看您正在使用多少内存(堆)。

c++ - 调试::gdb::src2dst 是什么?

有人知道关于gdb中src2dst的解释的想法或链接吗?如:#8__cxxabiv1::__dynamic_cast(src_ptr=0x5aa21d0,src_type=0x7f1e92dd5840,dst_type=0x7f1e8d2751a0,src2dst=0)at../../../../libstdc++-v3/libsupc++/dyncast.cc:57与此相关:动态转换出错的原因是什么?谢谢! 最佳答案 您是否正在使用dlopen跨共享库使用dynamic_cast?有特殊的预防措施才能使其发挥作用。看这个GCCFA