привет!
падает некоторый код по SIGSEGV. в коде используется asio.
последний фрейм выглядит так: #0 0x0000000003cb255f in ?? ()
предпоследний, так: #1 0x0000000000d072a8 in boost::asio::detail::task_io_service_operation::complete (this=0x3c64140, owner=..., ec=..., bytes_transferred=63653072) at /usr/local/include/boost/asio/detail/task_io_service_operation.hpp:38
и указывает сюда: https://github.com/boostorg/asio/blob/develop/include/boost/asio/detail/task_...
судя по всему, `func_` указывает на какой-то висячий адрес. адрес `func_` равен 0x3c395df. далее, чтоб понять на что привязан `func_`, пытаюсь установить `awatch` на этот адрес, так: awatch *(int*)0x3c395df
дебагер останавливается на этом ватчпоинте, и говорит такое:
(rr) bt
#0 0x0000000070000002 in ?? ()
#1 0x00007f2a69f9e598 in ?? () from /usr/bin/../lib/rr/librrpreload.so
#2 0x00007f2a69f9b0f5 in ?? () from /usr/bin/../lib/rr/librrpreload.so
#3 0x00007f2a69f9c108 in ?? () from /usr/bin/../lib/rr/librrpreload.so
#4 0x00007f2a69f9e5ca in ?? () from /usr/bin/../lib/rr/librrpreload.so
#5 0x00007f2a69f9e5f3 in ?? () from /usr/bin/../lib/rr/librrpreload.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
все это выполняю под rr: http://rr-project.org/
вопроса у меня два:
1. что я делаю не так?
2. как понять на что указывает `func_`?