This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gdb symbol problem


On 12/28/2009 01:09 PM, Hushan Jia wrote:
On Mon, Dec 28, 2009 at 12:21 PM, Jie Zhang<jie.zhang@analog.com> wrote:
On 12/28/2009 12:14 PM, Hushan Jia wrote:

On Mon, Dec 28, 2009 at 10:38 AM, Jie Zhang<jie.zhang@analog.com> wrote:

On 12/27/2009 11:45 AM, Hushan Jia wrote:

On Sun, Dec 27, 2009 at 11:36 AM, Paul Pluzhnikov <ppluzhnikov@google.com> wrote:

On Sat, Dec 26, 2009 at 6:16 PM, Hushan Jia<hushan.jia@gmail.com> wrote:

I invoke gdb like this:

[hushan@hushan-t linux-2.6.31.3]$ gdb ./vmlinux

Oh, you are not debugging a regular application. You probably should have mentioned that in your initial message.

Sorry for forget the important information.


What's the output of "readelf -S vmlinux"?

Hi, The output is:


# readelf -S vmlinux
There are 77 section headers, starting at offset 0x3b569cc:

Section Headers:
   [Nr] Name              Type            Addr     Off    Size   ES Flg Lk
Inf Al
   [ 0]                   NULL            00000000 000000 000000 00      0
   0  0
   [ 1] .text.head        PROGBITS        c1000000 001000 0000a9 00  AX  0
   0  4
   [ 2] .rel.text.head    REL             00000000 3b575d4 000070 08
  75   1  4
   [ 3] .text             PROGBITS        c10000c0 0010c0 291284 00  AX  0
   0 32

It seems the machine was not executing code of your vmlinux. The code in your vmlinux starts from 0xc1000000. But when you connected with GDB, the stopped PC was 0xc0467118, which was just ahead of code sections of your vmlinux. Is it possbile the linux kernel running in your qemu was not the one you told GDB?

Hi, I compiled the kernel on the host machine, and then copy kernel and modules files to the qemu virtual machine, they are the same files.

OK. Then you need to find out what's at the address 0xc0467118. GDB cannot show you the symbol and source line which it doesn't know. /proc/kallsyms might be helpful if that address is in kernel.


and the kgdb seems does not work, if I run c in gdb, then I cannot
interrupt it using CTRL-C, and the breakpoints are never hit.
The attached file is the kernel config, and kernel is
linux-2.6.31.3.tar.bz2, downloaded from kernel.org.

I have no idea about kgdb.


Jie



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]