我不擅长英语,对此我很抱歉。现在,有一个关于我何时用GDB调试samba的问题。
# gdb /usr/local/samba/sbin/smbd
GNU gdb Red Hat Linux (5.2.1-4)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it
我正在尝试调试一个段错误,但似乎一些常见的gdb命令不能像预期的那样工作。如果我执行以下操作:
gdb ./executable_name
break main
run
list
我得到以下错误:
(gdb) list
1 <built-in>: No such file or directory.
类似地,如果我让程序运行,直到它出现段错误,然后尝试使用
bt
up
list
我得到一个类似但更短的错误:
(gdb) list
1 in <built-in>
我以前在其他基于Ubuntu的系统上使用过GDB,没有遇到过这样的问题,所以我假设我仍然需要在我的系统
我想开始使用gdbserver进行远程调试,所以我在本地机器上测试了它的功能,使用一个简单的测试程序生成一个分段错误,如下所示:
分段错误.c-编译成精灵名为"test“
#define NULL ((void*)0)
int main()
{
int value = *((int*)NULL);
return value;
}
现在当我跑:
#gdb test
(gdb)run
我得到:
Starting program: /home/awaibel/digiworkspace/test/Debug/test
Program received signal SIG
在c或c++中,在调试核心转储时,即如果只剩下一个coredump文件并尝试使用该核心文件进行调试,那么在转储occured.the堆栈跟踪只显示函数调用之前,我们可以看到最后几行代码。
在调试dbx或gdb列表命令中运行的进程时
list Display lines of a source file
是否会以同样的方式给出当前execution.in下的部分代码,我们在查看核心转储时是否有此选项?我正在研究solaris mdb
我们在windows上的汇编程序和一些英特尔电脑上运行学生。在使用布局时,gdb在msys2下失败。我能够让它在CMD窗口上工作,但如果:
gdb myexe
layout src
b main
r
程序崩溃。有时窗户是锁着的
如果我们第一次在命令行模式下运行,它就能工作:
gdb myexe
b main
r
然后
layout src
或
layout asm
layout reg
这既令人不安又可怕。我们不能重新运行任何东西,总是必须终止调试器并重新开始。
在MacOSX蒙特雷12.0.1 (英特尔MacBook Pro 2019),我们也有类似的问题。我们安装了gdb 12.1
gdb
我有一个名为test的文件。即使在用-g编译之后,当我在gdb中运行它时,它也显示找不到调试符号。我也尝试过使用-ggdb,但它也没有用。请帮帮忙。
Output for : gdb test
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/test...(no debugging sym
让我向您展示以下简单的C代码:
int main()
{
int i;
for (i = 0; i < 256; i++)
{
i++;
}
}
在这段简单的C代码中,如果我们使用Clang编译并调试它:我们将得到如下结果:
(gdb) b main
Breakpoint 1 at 0x100000f7b: file a.c, line 5.
(gdb) r
Starting program: a.out
[New Thread 0x1403 of process 23435]
warning: unhandled dyld version (15)
T
上周,我在调试一段代码时,出现了一个奇怪的情况: gdb传递了两个不同的返回子句。我举了一个简单的例子来说明这种情况:
#include <iostream>
using namespace std;
int test() {
string a = "asd";
string b = "asd";
while (true) {
if (a == b) {
return 0;
}
}
return -1;
}
int main() {
in
在$DAYJOB,我正在尝试实现可重复的构建,以便使用来自的提示,使我们不再在构建服务器上拥有完整调试版本的调试发布软件变得更容易。
使用GCC中的选项到确实有助于使一些错误消息更清晰,但在使用GDB时确实会产生问题。我在/path/to/build/some/二进制文件中,并命中/path/to/build/lib/cclib/中的一个断点:
Breakpoint 1, [...]
at src/lib/cclib/eventloop.cc:154
154 src/lib/cclib/eventloop.cc: No such file or directory.
(gdb)
作为解决