工具/软件:Linux
您好、社区
我在 ARM 平台(TI AM335X (3359))上开发多线程应用程序,但调试 coredump 时遇到问题。
在其中一个线程中的上升 sig 中止中、我无法在有用的位置捕获信号。 我只能在信号处理程序中捕获它、但太晚了。 信号处理程序位于 main()中。
源线程没有堆栈。 我只能从信号处理程序的服务例程中看到调用栈。 是否有人知道如何使用标准的调用栈?
我的意思是从 SIGABORT 的起始位置建立一个调用栈。
下面是一些细节...
----------------------------------------------------------------------
来自 coredump 的调用栈:
程序终止信号 SIGABRT、已中止。
/lib/libc.so.6上的#0 b6b76d14正在升高()
(gdb) bt
/lib/libc.so.6上的#0 b6b76d14正在升高()
/lib/libc.so.6上的 abort ()中的#1 b6b7a814
在 __GNU_cxx 中的#2 b6de0dd0::__verbose_terminate_handler (),来自/usr/lib/libstdc
??中的#3b6ddec1c ()来自/usr/lib/libstdc ++.SO.6
----------------------------------------------------------------------
硬件:
根目录@WIM1:~# cat /proc/cpuinfo
处理器 :0
型号名称 :ARMv7处理器版本2 (v7l)
茂物剪 :795.44
功能 :半拇指 fastmult VFP EDSP thumbee neon vfpv3 TLS vfpd32
CPU 实现者:0x41
CPU 架构:7.
CPU 型号 :0x3.
CPU 部件 :0xc08
CPU 版本 :2.
硬件 :通用 AM33XX (平展设备树)
修订版: 0000
串行 :000000000000
根目录@WIM1:~# uname -a
Linux WIM1 4.1.13-Yocto 标准#1 Thu 4月20日18:07:09 CEST 2017 armv7l GNU/Linux
----------------------------------------------------------------------
封装:
波基-Jethro-14.0.1
arm-poki-linux-gnueabi-gcc-5.2.0
----------------------------------------------------------------------
编译器标志:
arm-poki-linux-gnueabi-g++ -March =armv7-a -mfloat-abi=hard -mfpu=neon -mtUNE=cortex-A8
--sysroot=/Jenkins_data/wim-build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evb
-DHAVE_CONFIG_H
一 一. i/Jenkins_data/wim-build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/skybase
-DDBUS API_Subject TO_CHANGE
i/Jenkins_data/wim-build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/dbus-c++-1
i/Jenkins_data/wim-build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/dbus-1.0
i/Jenkins_data/wim-build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB//usr/lib/dbus-1.0/include
-Wall -pipe -std=c++14 -O2 -pipe -g -felime-unused_debug-types -fvisibility-inlines -hidden -c -o DlClassServer.o `test -f 'Classf/DlClassServer.cpp'|| echo './'`Classf/DlClassServer.cpp
链接器标志:
arm-poky-linux-gnueabi-libtool --tag=CXX --mode=link arm-poky-linux-gnueabi-g++ -March =armv7-a -mfloat-abi=hard -mfpu=neon -mtune =cortex-A8
--sysroot=/Jenkins_data/build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evb
-i/Jenkins_data/build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/skybase
-DDBUS API_Subject TO_CHANGE
-i/Jenkins_data/build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/dbus-c++-1
i/Jenkins_data/build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB/usr/include/dbus-1.0
-i/Jenkins_data/build-standard/skybase/Yocto_build/tmp/sysroots/skyboard-evB//usr/lib/dbus-1.0/include
-wash -pipe -std=c++14 -O2 -pipe -g -felime-unused_debug-types -fvisibility-inLINes-hidden -WL、-O1 -WL、-hash-style=GNU -WL、按需-o
数据记录器*。o
-llog -ldbus-c++-1 -ldbus-1 -leeprom -lskyboard -lutils -llog -lsl -lskyboard -llog -lutils -llog -llog -LED -llog -lhwclock -llog -lllllllllllllrim -lpoost_regex -lboost -lboost -ldoost -lldq -ldst -ldoost -ldq -ldlp -ldlp -ld