Cyxapeff
Июнь 29, 2007 20:07:46
Есть программка на питоне + pygtk.
Периодически (мне так и не удалось установить закономерность) она падает с ошибкой сегментирования, как можно узнать из-за чего она падает?
Андрей Светлов
Июнь 29, 2007 21:36:13
Неправильно используешь Python extesions - это в общем виде. pygtk, например.
Если пишешь под винду и знаком с С++ - можно попытаться помочь. Есть наработки.
Мой метод не очень-то прост и требует умения читать C callstack/disassembler, временами собирать модули с Debug Info.
Впрочем, до этого может и не дойти - ясно станет раньше.
Под linux теоретически то же можно сделать анализом core (и это проще), но я гораздо меньше работал с unix системами.
Cyxapeff
Июнь 29, 2007 21:42:54
ну я вобщем-то предполагал, что дело в pygtk. Но вот где именно. Пишу под linux. С с++ знаком только на самом элементарном уровне (((. То есть как я понимаю, простого способа отловить такие ошибки нет…
Андрей Светлов
Июнь 29, 2007 22:11:33
Настрой среду, чтобы .core файлы генерились.
Открой его через gdb. Посмотри callstack.
Скорее всего он что-то навеет - там где переползает из Питона в С. Вероятно, увидишь имя функции, на которой валится. Дальше - дедукция, как у Шерлока Холмса.
slav0nic
Июнь 30, 2007 12:57:34
bugbuddy поставь, и сохрани лог ошибки