Использую данную функция для вывода stacktrace
void print_trace()
{
char pid_buf[30];
sprintf(pid_buf, "%d", getpid());
char name_buf[512];
name_buf[readlink("/proc/self/exe", name_buf, 511)]=0;
int child_pid = fork();
if (!child_pid) {
dup2(2,1); // redirect output to stderr
fprintf(stdout,"stack trace for %s pid=%s\n",name_buf,pid_buf);
execlp("gdb", "gdb", "--batch", "-n", "-ex", "thread", "-ex", "bt",
name_buf, pid_buf, NULL);
abort(); /* If gdb failed to start */
} else {
waitpid(child_pid,NULL,0);
}
}
При сработке сигнала на выводе получаю:
*** Error in `/usr/mon/nav/mon_recv': free(): corrupted unsorted chunks: 0x00007fd7e408b8b0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7277f)[0x7fd7f1e1277f]
/lib64/libc.so.6(+0x78026)[0x7fd7f1e18026]
/lib64/libc.so.6(+0x78d53)[0x7fd7f1e18d53]
/usr/lib64/libQt5Core.so.5(+0x9fccf)[0x7fd7f2f31ccf]
/usr/lib64/libQt5Core.so.5(_Z17qt_message_output9QtMsgTypeRK18QMessageLogContextRK7QString+0x9e)[0x7fd7f2f2e21e]
/usr/lib64/libQt5Core.so.5(_ZN6QDebugD2Ev+0x60)[0x7fd7f301e640]
/usr/mon/nav/mon_recv[0x424650]
/usr/mon/nav/mon_recv[0x44ea8a]
/usr/mon/nav/mon_recv[0x454d08]
/usr/mon/nav/mon_recv[0x453fbd]
/usr/mon/nav/mon_recv[0x4537ac]
/usr/mon/nav/mon_recv[0x452623]
/usr/mon/nav/mon_recv[0x4449ee]
/usr/mon/nav/mon_recv[0x445eb3]
/usr/mon/nav/mon_recv[0x4449ee]
/usr/mon/nav/mon_recv[0x44681e]
/usr/mon/nav/mon_recv[0x446505]
/usr/mon/nav/mon_recv[0x446a93]
/usr/mon/nav/mon_recv[0x46d99b]
/usr/mon/nav/mon_recv[0x4701a2]
/usr/mon/nav/mon_recv[0x46ee64]
/usr/lib64/libQt5Core.so.5(+0xad72e)[0x7fd7f2f3f72e]
/usr/lib64/libQt5Core.so.5(+0xb07f9)[0x7fd7f2f427f9]
/lib64/libpthread.so.0(+0x80a4)[0x7fd7f29ec0a4]
/lib64/libc.so.6(clone+0x6d)[0x7fd7f1e8502d]
mon_recv мое приложение,работает на удаленном сервере, как мне сделать что бы видно было читабельные имена функций, может надо исходники где то рядом положить?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Создал Qt игруКогда открываю из Qt creator все нормально работает
Создал QWidget с именем WPunktDialog в QMainWidgetИнтересует вопрос, как заставить QWidget двигатся при нажатии на него и перемещения мышки, т
Собрал проект Qt, но при попытке запуска из Qt Creator в консоли сборки следующие сообщения: