草庐IT

c - Boomerang:无法加载 libQtGUI

我在Fedora17上安装了boomerang,在执行./boomerang-gui时我得到:./boomerang-gui:errorwhileloadingsharedlibraries:libQtGui_debug.so.4:cannotopensharedobjectfile:Nosuchfileordirector我做了一个“sudoyuminstallqt-x11”,但是QT已经安装了。 最佳答案 来自错误:./boomerang-gui:errorwhileloadingsharedlibraries:libQtGui

linux - 已加载文件名的地址丢失 [GDB]

我有以下示例代码#includeintmain(){intnum1,num2;printf("Entertwonumbers\n");scanf("%d",&num1);scanf("%d",&num2);inti;for(i=0;i我使用gcc的-g选项编译了这段代码。gcc-gfile.c生成单独的符号文件objcopy--only-keep-debuga.outa.out.sym去掉a.out中的符号strip-sa.out在gdb中加载这个a.outgdba.outgdb说“没有找到调试信息”很好。然后我在gdb中使用add-symbol-file命令(gdb)add-symb

linux - 已加载文件名的地址丢失 [GDB]

我有以下示例代码#includeintmain(){intnum1,num2;printf("Entertwonumbers\n");scanf("%d",&num1);scanf("%d",&num2);inti;for(i=0;i我使用gcc的-g选项编译了这段代码。gcc-gfile.c生成单独的符号文件objcopy--only-keep-debuga.outa.out.sym去掉a.out中的符号strip-sa.out在gdb中加载这个a.outgdba.outgdb说“没有找到调试信息”很好。然后我在gdb中使用add-symbol-file命令(gdb)add-symb

c++ - 输入函数时的 SIGSEGV

刚进入函数时什么会导致段错误?输入的函数如下所示:21:voideesu3(Matrix&iQ)22:{其中Matrix是一个struct。当使用GDB运行时,回溯产生:(gdb)backtrace#0eesu3(iQ=...)at/home/.../eesu3.cc:22#1...GDB没有说明什么是iQ。...确实存在。什么会导致这个?海湾合作委员会:(Ubuntu/Linaro4.6.3-1ubuntu5)4.6.3使用-O3-g构建的程序来电者是这样的:Matrixq;//dosomestuffwithqeesu3(q);这里没什么特别的我用valgrind重新运行程序:val

c++ - 输入函数时的 SIGSEGV

刚进入函数时什么会导致段错误?输入的函数如下所示:21:voideesu3(Matrix&iQ)22:{其中Matrix是一个struct。当使用GDB运行时,回溯产生:(gdb)backtrace#0eesu3(iQ=...)at/home/.../eesu3.cc:22#1...GDB没有说明什么是iQ。...确实存在。什么会导致这个?海湾合作委员会:(Ubuntu/Linaro4.6.3-1ubuntu5)4.6.3使用-O3-g构建的程序来电者是这样的:Matrixq;//dosomestuffwithqeesu3(q);这里没什么特别的我用valgrind重新运行程序:val

gdb的基础命令使用

gdb的基础命令使用gdb是c/c++程序的调试利器,在日常工作中,十分有利。有人说,有了像clion,visualstudio这样的IDE工具,我们还有必要去了解gdb工具吗?其实是有必要的,在日常的代码开发中,使用这些IDE工具确实能够很好地帮助我们进行开发,但是你很难确定所有的环境都有IDE,比如线上环境,客户环境,因此了解gdb的指令还是很有必要的,本文就一些常用的gdb指令进行梳理。gdb的基础命令使用gdb常用命令gdb命令案例详解runcontinuenextstepuntilfinishcallbreakwatchprintdisplaybacktraceinfo参考文献gdb

linux - 需要知道如何在Linux机器上安装gdb

我试图在Linux机器上安装gdb,但是我不知道要安装什么文件?有人可以帮忙吗? 最佳答案 如果您使用的是基于Debian的发行版(例如Ubuntu,Mint,Backtrack...)sudoapt-getinstallgdb 关于linux-需要知道如何在Linux机器上安装gdb,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9175728/

linux - 需要知道如何在Linux机器上安装gdb

我试图在Linux机器上安装gdb,但是我不知道要安装什么文件?有人可以帮忙吗? 最佳答案 如果您使用的是基于Debian的发行版(例如Ubuntu,Mint,Backtrack...)sudoapt-getinstallgdb 关于linux-需要知道如何在Linux机器上安装gdb,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9175728/

c - 如何检测堆栈溢出点

我的C程序有以下问题:某处发生堆栈溢出。尽管在没有优化和使用调试器符号的情况下进行编译,但程序会以以下输出退出(在Linux上的gdb内部或外部):程序因信号SIGSEGV、段错误而终止。该程序不再存在。我能检测到这实际上是堆栈溢出的唯一方法是通过valgrind运行程序。有什么方法可以强制操作系统转储调用堆栈跟踪以帮助我找到问题?遗憾的是,gdb也不允许我轻松进入该程序。 最佳答案 如果您允许系统转储核心文件,您可以使用gdb分析它们:$ulimit-cunlimited#bashsentencetoallowforinfinit

c - 如何检测堆栈溢出点

我的C程序有以下问题:某处发生堆栈溢出。尽管在没有优化和使用调试器符号的情况下进行编译,但程序会以以下输出退出(在Linux上的gdb内部或外部):程序因信号SIGSEGV、段错误而终止。该程序不再存在。我能检测到这实际上是堆栈溢出的唯一方法是通过valgrind运行程序。有什么方法可以强制操作系统转储调用堆栈跟踪以帮助我找到问题?遗憾的是,gdb也不允许我轻松进入该程序。 最佳答案 如果您允许系统转储核心文件,您可以使用gdb分析它们:$ulimit-cunlimited#bashsentencetoallowforinfinit