调试有关的信号处理,谁呼吁释放calloc信息?

时间:2019-02-02 15:33:58

标签: debugging gdb signals

释放calloc是从我的生产代码中的一些信号处理程序调用。我知道这是不是安全,从信号处理程序调用释放calloc。 我需要找到在生产代码中完成此操作的地方,但是回溯并没有帮助。请指导

print $_siginfo.si_signo

我在上面知道了当前信号的信号编号。但这并不能帮助我找到重点。

下面是调用堆栈,calloc下面的stacktrace没有用。

#26 0x00002aaaaaccfec9 in calloc () from 
#27 0x00000000047c522f in Ox4074f61149c39b9f ()
#28 0x00000000047aa93a in Ox4074ff7b773cfdf6 ()
#29 0x000000000468c981 in Ox4074ea3d1f5df78f ()
#30 0x000000000468e667 in ?? ()
#31 0x000000000468f2dd in ?? ()
#32 0x0000000004686f2c in Ox4074ea18721a0b5d ()
#33 0x00000000047b3727 in Ox4075027a04de15e3 ()
#34 0x00000000047efdd4 in ?? ()
#35 <signal handler called>
#36 0x00002aaabc5d0332 in __lll_lock_wait () from /lib64/libpthread.so.0
#37 0x00002aaabc5cb5d8 in _L_lock_854 () from /lib64/libpthread.so.0
#38 0x00002aaabc5cb4a7 in pthread_mutex_lock () from 
    /lib64/libpthread.so.0

1 个答案:

答案 0 :(得分:0)

  

请指导

你所观察到的堆栈跟踪最可能的解释:要在不同机器上分析my_new_array = np.something(my_array, my_indices, 23) print(my_new_array) [[ 0.45110035 -1.08385534 1.2126054 ] [ 1.51280316 23.0 -0.31839059] [-0.00348102 23.0 23.0 ] [ 23.0 23.0 23.0 ] [ 23.0 23.0 23.0 ]] # i.e.: # col[3:]=23 col[1:]=23 col[2:]=23 从生产机器转储,并且使用系统库即可。

有关如何正确执行此操作,请参见this answer