отсутствуют имена функция в выводе gdb

223
17 января 2018, 17:15

Использую данную функция для вывода 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 мое приложение,работает на удаленном сервере, как мне сделать что бы видно было читабельные имена функций, может надо исходники где то рядом положить?

READ ALSO
Как открыть Qt project из терминала Ubuntu

Как открыть Qt project из терминала Ubuntu

Создал Qt игруКогда открываю из Qt creator все нормально работает

276
Перемещение QWidget C++

Перемещение QWidget C++

Создал QWidget с именем WPunktDialog в QMainWidgetИнтересует вопрос, как заставить QWidget двигатся при нажатии на него и перемещения мышки, т

212
Проект Qt собирается, но не запускается

Проект Qt собирается, но не запускается

Собрал проект Qt, но при попытке запуска из Qt Creator в консоли сборки следующие сообщения:

191