我不擅长英语,对此我很抱歉。现在,有一个关于我何时用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
我使用GDBServer在ARM11处理器上进行远程调试。软件断点运行良好,但我们使用"hbreak test.c:5“来设置硬件断点,CPU永远不会停止。
GDB版本: 7.3.1
目标CPU: ARM11
操作:
arm-linux-gdb ./main
(gdb) target remote 192.168.0.1:2345
(gdb) hbreak test.c:5 => HW breakpoint, it doesn't work. but if change to "b test.c:5", it will works
(gdb) c
对于使用gdb进行调试的C++代码: 1)如何在gdb中创建变量?使用gdb/mi命令? 2)如何在gdb中创建类的实例。3)如何将创建的实例赋值给gdb中创建的变量,供以后使用?例如:
C++ code:
class C { public:int value; }
gdb commands (pseudo-code):
var v = new C()
print v.value
我想开始使用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