я создавал топик про питон-скрипт, но до сути добраться не смог, поэтому создам ещё раз и поставлю вопрос иначе.
Вот у вас есть приложение. Скомпиленное или скрипт - думаю неважно. По неизвестной причине оно вылетает в середине своей работы.
Причем, если оно делает лишь часть функционала, то все ОК, а иначе - вылет.
Задача - найти корявый код, который порождает ошибку сегментации (как я это понял)
1. запускаем скрипт, а потом «strace -p PID -o output.txt» Когда скрипт умирает, видим там:
+++ killed by SIGSEGV +++
2. Запускаем в gdb, это дает нам такой бектрейс - http://pastebin.com/KG8zKPdU
По бектрейсу видно, что он вроде как создает новый поток:
#580 0x080d9716 in t_bootstrap (boot_raw=0x86800a0) at ./Modules/_threadmodule.c:990 #581 0xb7fc5925 in start_thread () from /lib/libpthread.so.0 #582 0xb7ef107e in clone () from /lib/libc.so.6
На деле же, на том этапе исполнения не может ничего создаваться. Вопросы такие:
1. Точно ли вылет при создании треда? Или нельзя судить по этим строкам?
2. Есть ли ещё способы как-то цивильно увидеть где рушится код? Может у питона есть нормальные консольные отладчики?