xgboost coredump и gdb без стека

Я пишу многопоточную программу на С ++ и создаю 20 xgbooster, это происходит из-за ошибки сегмента и генерирует файл coredump. Когда я пытаюсь использовать gdb, чтобы увидеть сообщение coredump, оно показывает «(gdb) no stack» (я пробовал «ulimit -c», все тот же). Я не знаю, почему GDB нет стека, может быть, потому что coredump больше, чем 200 ГБ.

Затем я использую «execinfo.h», чтобы напечатать информацию о стеке, это работает. Вот информация о стеке.

[WARN][2018-07-06T21:45:41.518+08:00] [main.cpp:8] SIGNAL 6
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 00 bin/didirgeo(_Z14SignalCallbacki+0x52)       [0x6147c2]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 01 /lib64/libc.so.6(+0x35670) [0x7f2fe1620670]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 02 /lib64/libc.so.6(gsignal+0x37)               [0x7f2fe16205f7]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 03 /lib64/libc.so.6(abort+0x148)                [0x7f2fe1621ce8]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 04 /lib64/libc.so.6(+0x75317) [0x7f2fe1660317]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 05 /lib64/libc.so.6(+0x7cfe1) [0x7f2fe1667fe1]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 06 bin/didirgeo(_ZN6locals7service10LineEntityD1Ev+0xae0) [0x6b69f0]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 07 bin/didirgeo(_ZN6locals7service17LinesInfoResponseD1Ev+0x4f) [0x6b546f]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 08 bin/didirgeo(_ZN6locals7service17LinesInfoResponseD0Ev+0x9) [0x6b5519]
[WARN][2018-07-06T21:45:41.523+08:00] [main.cpp:18] 09 bin/didirgeo(_ZN5boost6detail15sp_counted_base7releaseEv+0x2e) [0x61582e]

Когда я пытаюсь использовать команду «addr2line -e my_bin 0x6b546f», она может показать строку моего кода. Но команда «addr2line -e /lib64/libc.so.6 0x7f2fe16205f7» не работает. Так что я до сих пор не могу найти ошибку.

Среда :
Версия Linux 3.10.0-514.16.1.el7.x86_64 ([email protected]) (версия gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)) # 1 SMP Ср 12 апреля 15:04:24 UTC 2017

Мой вопрос

  1. Как использовать информацию стека печати GDB моей программы?
  2. Как найти, в какой строке моего кода происходит ошибка сегмента?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]