LINUX.ORG.RU

Ответ на: комментарий от conalex

Выглядит интересно, спасибо. Сейчас детально прочитаю.

UVV ★★★★★
() автор топика
Ответ на: комментарий от conalex

LGPLv3

Насколько я тут попадаю?

UVV ★★★★★
() автор топика

А в чём конкретно проблема? Делай стектрейс в конструкторе исключений и всё.

Deleted
()

Ставь бряк на конструктор ексепшина и двльше bt в gdb

anonymous
()
Ответ на: комментарий от UVV

А если исключение не моё?

Тогда проси стектрейс у того, кто кидает это исключение.

Deleted
()

Что ты вкладываешь в понятие «stacktrace»? Можно получить адреса, из которых были вызваны функции (man backrace), затем эти адреса преобразовать в номера строк (man addr2line). А вот значения локальных переменных, аргументов и еще какой-нибудь содомии — фигушки (без серьезного «заимствования» больших объемов кода из дебаггеров).

А если исключение не моё?

  1. Выясняешь адрес функции __cxa_throw
  2. Делаешь туда mprotect с целью «исправить пару фатальных недостатков».
  3. Вставляешь jump на твою функцию
  4. В tls-переменную записываешь backtrace
  5. Анализируешь бактрейс из tls-переменной в catch-обработчике
kawaii_neko ★★★★
()

а о чём речь, и чем конкретно тебя google-breakpad не устраивает? он как раз именно для этого заточен и работает просто великолепно.

Iron_Bug ★★★★★
()
Ответ на: комментарий от UVV

мы его использовали на большом проекте для телекома. были проблемы при запуске нового софта, когда ошибка могла случиться раз в несколько суток. отловить почти нереально. вот, использовали google-breakpad для мониторинга и отладки. штука хорошая. правда, под юниксом она не работает. но на линюксе всё зашибись.

Iron_Bug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.