From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31699 invoked by alias); 31 Aug 2006 16:17:47 -0000 Received: (qmail 31690 invoked by uid 22791); 31 Aug 2006 16:17:46 -0000 X-Spam-Check-By: sourceware.org Received: from nf-out-0910.google.com (HELO nf-out-0910.google.com) (64.233.182.188) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 31 Aug 2006 16:17:41 +0000 Received: by nf-out-0910.google.com with SMTP id a27so431209nfc for ; Thu, 31 Aug 2006 09:17:39 -0700 (PDT) Received: by 10.48.210.20 with SMTP id i20mr1617546nfg; Thu, 31 Aug 2006 09:17:39 -0700 (PDT) Received: by 10.48.217.8 with HTTP; Thu, 31 Aug 2006 09:17:38 -0700 (PDT) Message-ID: Date: Thu, 31 Aug 2006 16:17:00 -0000 From: "Rajesh Warange" To: gdb@sourceware.org Subject: Debugging GDB with GDB MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-08/txt/msg00278.txt.bz2 Hi all, Thanks Jim and Michael for giving me a start to GDB. I am trying to debug GDB with GDB. I have built a target for ARM (gdb-arm). So I am debugging gdb-arm with gdb. Below is a session output I had. I have explained my problem below. ---------------------------------------------------------- GNU gdb Red Hat Linux (6.3.0.0-1.63rh) Copyright 2004 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 under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Setting up the environment for debugging gdb. No symbol table is loaded. Use the "file" command. No symbol table is loaded. Use the "file" command. .gdbinit:8: Error in sourced command file: No breakpoint number 0. (gdb) file gdb Reading symbols from /home/warangr/gdb-6.5-build/gdb/gdb...done. Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) break _initialize_arm_tdep Breakpoint 1 at 0x414b80: file ../../gdb-6.5/gdb/arm-tdep.c, line 2871. (gdb) run Starting program: /home/warangr/gdb-6.5-build/gdb/gdb Breakpoint 1, _initialize_arm_tdep () at ../../gdb-6.5/gdb/arm-tdep.c:2871 2871 { (gdb) s During symbol reading, Incomplete CFI data; unspecified register rax at 0x0000000000414b82. 2883 gdbarch_register (bfd_arch_arm, arm_gdbarch_init, arm_dump_tdep); (gdb) s 2871 { (gdb) s 2881 size_t rest = sizeof (regdesc); (gdb) s 2871 { (gdb) s 2909 for (i = 0; i < num_disassembly_options; i++) (gdb) ---------------------------------------------------------- I started with setting a breakpoint at the function _initialize_arm_tdep (defined in arm-tdep.c - line 2871). When doing a single-step it jumped to line 2883 to a function gdbarch_register (bfd_arch_arm, arm_gdbarch_init, arm_dump_tdep); Now single stepping into this function would mean executing the first line of the function gdbarch_register(bfd_....). But it again jumps to line 2871 ... which is the start of the function _initialize_arm_tdep. Again after single-stepping, the debugger jumps to line 2909 executing the "for loop". There were some functions in between which it skipped entirely. I 'm pretty badly foxed by this behaviour. Could anyone please explain me this Thanks. -- wrr