8得票3回答
如何在MacPorts的gcc 4.5中调试C++0x程序?

我有一个简单的c++程序需要调试,但是gdb无法找到库的目标文件(或没有可用的调试信息),并且它似乎也无法找到我的可执行文件的调试符号。我使用的是OSX 10.5.8和macports,并使用以下命令编译我的代码: g++-mp-4.5 -Wall -pedantic -std=c++0x ...

10得票5回答
有没有一种方法可以在gdb中打印Armadillo矩阵?

我正在使用gdb调试我的C++程序。 我正在使用Armadillo数值库来定义我的矩阵。我有一个按以下方式定义的Armadillo矩阵:mat A = randu<mat>(5,5); 在使用gdb调试器时,是否有可能打印整个矩阵?

7得票1回答
GDB:在多次fork()后调试子进程

我正在调试一个程序,它重复使用fork()的典型过程,其中子进程作为父进程等待waitpid()完成一些委派任务后继续执行。例如: while (!finished) { pid_t p = fork(); if (p < 0) { perror("fo...

9得票1回答
gdb:打印不在当前作用域中的变量

我正在使用gdb,想要打印当前未在作用域内的变量。由于不确定该变量的确切名称,因此希望能够更改作用域,而不是在特定文件中打印特定变量。

9得票2回答
如何使用GDB调试共享对象库中的函数?

我正在尝试验证共享对象库中函数的功能。在有 main 函数的程序中,我会简单地 start 运行程序,gdb 会自动在 main 上打断点,但显然这里不可用。 假设我有一些 add.c: long add(long x, long y) { return x + y; } 我使...

125得票8回答
我如何判断一个库是否使用了-g进行编译?

我在x86 Linux上有一些编译好的库,我希望能快速确定它们是否使用了调试符号。

8得票1回答
GNU汇编中的本地标签;GDB打印回溯时,标签被视为函数

以下是两段示例代码,第一段是C++代码调用汇编: /* test1.cc */ #include <stdio.h> extern "C" void blah(); extern "C" void stuff() { printf( "This is a test\n" )...

10得票1回答
GDB查找命令错误 "警告:无法访问目标内存中的x字节,搜索已停止"

我正在尝试使用gdb查找KMines当前标记计数。我知道首先应该查找内存映射以避免不存在的内存位置。因此,我运行了info proc mappings命令来查看内存段。我从结果中选择了一个随机的内存间隙(0xd27000-0x168b000),并执行以下find命令:find 0x00d270...

17得票1回答
C/C++ Linux GDB API

我想制作一个小型GUI版本的GDB命令行程序,用于在Linux上调试小型C程序。可能已经存在一些集成开发环境(IDE)中的程序,但我想为了好玩而自己做,并更加熟悉GDB。 现在我想知道GDB是否有API,这样我就可以直接从代码中访问GDB命令,而不必通过终端进行例行操作(例如使用popen)...

116得票3回答
如何在GDB中检查函数的返回值?

在假设返回值未分配给变量的情况下,是否可以使用gdb检查函数的返回值?