Tuesday, January 4, 2011

Linux Segmentation fault debugging.

[1] http://www.cprogramming.com/debugging/segfaults.html
[2] http://prefetch.net/blog/index.php/2006/12/21/generating-core-files-from-gdb/


% gdb example core

Some copyright info

Core was generated by `example'.
Program terminated with signal 11, Segmentation fault.

Some information about loading symbols
#0 0x0804838c in foo() () at t.cpp:4
4 *x = 3;



(gdb)run
(gdb)generate-core-file
Saved corefile core.2575

(gdb)detach

--------------------------------------------------
[3] https://stackoverflow.com/questions/8545931/using-gdb-to-convert-addresses-to-lines

addr2line -e /path/to/non-stripped/.../my-buggy-app 0x4a6889 0x4a8b43 0x4e8765

------------------------------
qyang@lgm-pc:~/Git_Local_DnM_Dev/GitPro-Builder/builder$ addr2line -C -f -e ./build/exports/arm-angstrom-linux-gnueabi-release/bin/gem 0x7aeb8
        CPlaybackTrackerManager::RemoveTracker(unsigned long)
        ??:?

$ addr2line -C -f -e ./build/exports/arm-angstrom-linux-gnueabi-release/bin/gem 0xf18cc
CDPMSClient::GetBugFixList(unsigned long, CCUXmlParser::_TBugFixInfo*)
??:?

---------------------------

/lib/libc-2.25.so(__default_rt_sa_restorer+0x0)[0xb5e59bd0]+0x2cbd0
/usr/lib/lib_resampler.so(ia_error_handler_log.part.0+0x70)[0xb6a886d0]+0x56d0

$ export PATH=$(pwd)/build/exports/host/toolchain/bin/arm-aios63-linux-gnueabi/bin:$PATH
$ arm-aios63-linux-gnueabi-addr2line -Cf -e build/exports/arm-aios63-linux-gnueabi-release/build/resampler/lib_resampler.so 56d0
ia_error_handler_log
/home/doug/current_dev/build/thirdparty/ittiam/src/ia_error_handler.c:85
$ arm-aios63-linux-gnueabi-addr2line -Cf -e build/exports/arm-aios63-linux-gnueabi-release/sysroot/lib/libc-2.25.so +0x2cbd0
__default_rt_sa_restorer
/home/doug/current_dev/build/exports/host/toolchain/src/.build/src/glibc-2.25/signal/../sysdeps/unix/sysv/linux/arm/sigrestorer.S:80




No comments: