Я написал много кода за эти годы, но я мало что сделал с C в контексте Linux. Я также не настолько хорошо знаком с инструментами и утилитами, как мне кажется, должен быть. Заранее спасибо за снисходительность.
Я пытаюсь написать код C, который использует libtiff. Мне нужно иметь возможность отлаживать его построчно, включая пошаговый просмотр исходного кода libtiff по мере необходимости. Я использую IDE Code::Blocks, и она настроена и работает для базового кода «hello world», а также для элементарного вызова libtiff для проверки концепции. Это все работает.
Вот мой код:
#include "tiffio.h"
main()
{
TIFF* tif = TIFFOpen("test0.tiff", "r");
if (tif) {
uint32 imagelength;
tdata_t buf;
uint32 row;
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
buf = _TIFFmalloc(TIFFScanlineSize(tif));
for (row = 0; row < imagelength; row++)
TIFFReadScanline(tif, buf, row, 0);
_TIFFfree(buf);
TIFFClose(tif);
}
}
Прохождение моего кода выше работает нормально. Однако я не могу войти ни в один из вызовов функций libtiff. В настоящее время я использую Ubuntu, используя libtiff по умолчанию, установленный через apt-get. Я предполагаю, основываясь на некоторых чтениях, которые я сделал, что библиотека не построена с отладочными символами, которые могут быть источником моей проблемы.
Я предполагаю, что если это действительно проблема, я могу скомпилировать пользовательскую версию libtiff с нужными мне параметрами и компилировать/связывать Code::Blocks с ней, а не с системными библиотеками по умолчанию. Я скачал свежую копию libtiff и знаком с процессом установки make/make, но я не уверен в особенностях правильной настройки компиляции для того, что мне нужно. Некоторое направление было бы высоко оценено.
-dbg
с символами отладки, используйтеapt-cache search libtiff
, чтобы увидеть, есть ли пакет libtiff-gdb. Если нет, то вам придется собрать libtiff с параметром -g в CFLAGS. Я не знаю, есть ли пакеты -dbg для всех библиотек. - person Pablo   schedule 15.01.2018gdb
? - person Eliad Cohen   schedule 15.01.2018