A question mark appears in the GDB core file function

Source: Internet
Author: User

Original Address http://blog.csdn.net/yudingding6197/article/details/5528989


My program crash, with the Coredump file, on a Linux PC with arm-linux-gdb debug it. The result is:

#0 0x4022b178 in?? ()
(GDB) bt
#0 0x4022b178 in?? ()
#1 0x4022b134 in?? ()
#2 0x4022b134 in?? ()
BackTrace stopped:previous frame identical to this frame (corrupt stack?)
(GDB)
Why? I can ' t locate the correct location, find the really reason.

See what's Loaded

GNU gdb 6.6
Copyright (C) 2006 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.
Type "Show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "Show warranty" for details.
This GDB is configured as "--host=i686-pc-linux-gnu--target=arm-linux" ...

Warning:core file may not match specified executable file.

Warning:. Dynamic section for "/lib/libdl.so.2" isn't at the expected address (wrong library or version mismatch?)

Warning:. Dynamic section for "/lib/libpthread.so.0" isn't at the expected address (wrong library or version mismatch?)
Error While mapping shared library sections:
/lib/libstdc++.so.6:no such file or directory.

Warning:. Dynamic section for "/lib/libm.so.6" isn't at the expected address (wrong library or version mismatch?)

Warning:. Dynamic section for "/lib/libgcc_s.so.1" isn't at the expected address (wrong library or version mismatch?)

Warning:. Dynamic section for "/lib/libc.so.6" isn't at the expected address (wrong library or version mismatch?)

Warning:. Dynamic section for "/lib/ld-linux.so.2" isn't at the expected address (wrong library or version mismatch?)

Warning:. Dynamic section for "/lib/libnss_files.so.2" isn't at the expected address (wrong library or version mismatch?)
Reading symbols From/lib/libdl.so.2...done.
Loaded symbols for/lib/libdl.so.2
Reading symbols From/lib/libpthread.so.0...done.
Loaded symbols for/lib/libpthread.so.0
Symbol File not found for/lib/libstdc++.so.6
Reading symbols From/lib/libm.so.6...done.
Loaded symbols for/lib/libm.so.6
Reading symbols From/lib/libgcc_s.so.1...done.
Loaded symbols For/lib/libgcc_s.so.1
Reading symbols From/lib/libc.so.6...done.
Loaded symbols for/lib/libc.so.6
Reading symbols From/lib/ld-linux.so.2...done.
Loaded symbols for/lib/ld-linux.so.2
Reading symbols From/lib/libnss_files.so.2...done.
Loaded symbols for/lib/libnss_files.so.2
Core is generated by './6800pluseth.bin '.
Program terminated with signal one, segmentation fault.

Some libraries cannot be found (/lib/libstdc++.so.6), or the version does not match. I should not load/LIB/LIBDL. So .... These files, which are for X86.

So two commands are important:

Set Solib-absolute-prefix--set prefix for loading absolute shared library symbol files
Set Solib-search-path-Set the search path for loading Non-absolute shared library symbol files

For example: Set Solib-.../usr/local/arm-linux/arm-linux/lib/, the value of two parameters can be the same.

After starting ARM-LINUX-GDB, set the variable, via core-file load core dump file to analyze it.

#gdb

#set solib-absolute-prefix "Library path"

#set Solib-search-path "Library Path"

#file File.debug

#core-file core.1234

However, it is still not accurate to locate, query embedded Linux version:

Uname-a

Ls-l/usr/arm-linux/gcc-3.4.1-glibc-2.3.3/arm-linux/lib/libc-2.3.3.so

On a Linux PC:

Ll/usr/local/arm/3.4.1/arm-linux/lib/libc-2.3.2.so

The original library file is not correct, one is 2.3.3, the other is 2.3.2, this time found that version matching is the important AH!!

In exchange for a Linux PC, its cross-compilation environment is 2.3.3

Ha ha! Immediately locate the cause of the error!!


A question mark appears in the GDB core file function

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.