2011-12-16 2 views
0

Я что-то развиваю с помощью ffmpeg lib и x264. На самом деле, я отлаживаю x264 lib для Windows.stack view - информация

Отладочная версия не работает. Он создает видео с серыми кадрами. Сбой в том же выпуске. Ниже вы видите представление стека из Eclipse - Indigo. Я не снимал симболы ... Но, я должен признать, я не проверял, присутствуют они или нет.

Может кто-нибудь объяснить этот ноль ниже вызова x264_cabac_block_residual_8x8()?

ffmpeg_debugging Debug [C/C++ Application] C:\krmak\workspace\ffmpeg_debugging\Debug\ffmpeg_debugging.exe [772]  
     Thread [5] 0 (Suspended : Container)  
     Thread [4] 0 (Suspended : Signal : SIGSEGV:Segmentation fault) 
      x264_coeff_last64_sse2() at 0x9999a9  
      x264_cabac_block_residual_8x8() at 0x90f6f7 
      0x0 ==> WHAT DOES THIS MEAN??? Call came from a NULL pointer?? 
     Thread [3] 0 (Suspended : Container)  
     Thread [2] 0 (Suspended : Container)  
     Thread [1] 0 (Suspended : Container)  
    gdb 
+1

Внешний вид вещей Что-то в 'x264_cabac_block_residual_8x8()' может быть NULL, которое вы либо пытались вызвать, либо разыменовать. Пробовали ли вы пропустить или распечатать значения, используемые в этой функции? – Karlson

+1

Нечетный нумерованный адрес также является подозрительным. – Lou

ответ

1

Это, скорее всего, означает, что стек поврежден.

+0

Я добавил несколько протоколов, и x264_cabac_block_residual_8x8() работает нормально. Кажется, что стек ушел в ад. Думаю, это объясняет, что ноль. Можете ли вы дать мне подсказку, как отладить это? – moose

+1

Visual C может генерировать код, который проверяет перезапись стека. Поскольку вы упоминали Eclipse, я предполагаю, что вы используете gcc, поэтому проверьте документацию для своей версии на gcc.gnu.org и попробуйте найти параметры, которые активируют как можно больше проверок времени выполнения. – zvrba

+0

получил это ... -fstack-check .... спасибо !! – moose

Смежные вопросы