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


Maybe your address is a part of a LKM.
If so, find it out with "cat /proc/modules", and use gdb cmd
"add-symbol-file module_dir_name address" add symbol message to gdb.

Hui

On Mon, Dec 28, 2009 at 14:38, Jie Zhang <jie.zhang@analog.com> wrote:
> 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]