Backtrace i logowanie bledu na poziomie malloca i nizej

0

warning: Can't read pathname for load map: Input/output error.
bt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by program -f konf'. Program terminated with signal 6, Aborted. #0 0x0000003e2b6328a5 in raise () from /lib64/libc.so.6 warning: File "/user/local/lib64/libstdc++.so.6.0.18-gdb.py" auto-loading has been declined by your auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
add-auto-load-safe-path /user/local/lib64/libstdc++.so.6.0.18-gdb.py
line to your configuration file "/user/.gdbinit".
To completely disable this security protection add
set auto-load safe-path /
line to your configuration file "/user/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
info "(gdb)Auto-loading safe path"
(gdb) bt
#0 0x0000003e2b6328a5 in raise () from /lib64/libc.so.6
#1 0x0000003e2b634085 in abort () from /lib64/libc.so.6
#2 0x0000003e2b6707b7 in __libc_message () from /lib64/libc.so.6
#3 0x0000003e2b6760e6 in malloc_printerr () from /lib64/libc.so.6
#4 0x0000003e2b679b64 in _int_malloc () from /lib64/libc.so.6
#5 0x0000003e2b67a911 in malloc () from /lib64/libc.so.6
#6 0x00007ffcf3f352fd in operator new (sz=sz@entry=352) at ../../../../libstdc++-v3/libsupc++/new_op.cc:51
(gdb)

Mógłby ktoś powiedzieć czy te funkcje gdześ zapisują szczegóły błędu ?? Da się jakoś dostać do tego co one 'logują' ?

0

Do tego deklaracja znaleziona przeze mnie w sieci wyglada tak:

 static void malloc_printerr(int action, const char *str, void *ptr, mstate av);

tymczase na backtracie wyglada jakby funkcja nie dostawala argumentow przy wywolaniu ?

0
 

static void
malloc_printerr(int action, const char *str, void *ptr)
{
  if ((action & 5) == 5)
    __libc_message (action & 2, "%s\n", str);
  else if (action & 1)
    {
      char buf[2 * sizeof (uintptr_t) + 1];

      buf[sizeof (buf) - 1] = '\0';
      char *cp = _itoa_word ((uintptr_t) ptr, &buf[sizeof (buf) - 1], 16, 0);
      while (cp > buf)
      *--cp = '0';

      __libc_message (action & 2,
                  "*** glibc detected *** %s: %s: 0x%s ***\n",
                  __libc_argv[0] ?: "<unknown>", str, cp);
    }
  else if (action & 2)
    abort ();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1