У меня OpenLDAP версии 2.4.40, которая кросс-компилируется для другой (проприетарной) цели. Это было на месте и отлично работало в течение многих лет, но теперь я обнаружил, что мне нужно получить некоторую отладку из OpenLDAP, чтобы устранить утечку памяти, которая потенциально может быть в самой библиотеке OpenLDAP.
Я много и мало искал, как получить отладку из OpenLDAP, записанную в файл, но все, что я нашел, всегда говорит о SLAPD. Мы вообще не используем SLAPD - он даже не компилируется. Например, --disable-slapd указывается в Makefile после запуска configure.
Так что, хотя я пробовал обнаруженные мной вещи, связанные с получением отладочной информации, ничего из этого не сработало, и я предполагаю, что это потому, что то, что я обнаружил, специфично для SLAPD.
У меня также настроена опция --enable-debug = yes.
ЗАМЕТЬТЕ также, что мы не используем стандартный syslogd для цели Linux, а скорее похожий на uxlogd, который в значительной степени является нашим собственным, поскольку у нас есть уникальные требования, не поддерживаемые syslogd.
Очевидно, я не собираюсь задавать здесь какие-либо вопросы, относящиеся к нашему проприетарному uxlogd, но я был бы признателен за помощь в том, как заставить отладку работать исключительно с точки зрения OpenLDAP. Поскольку все, что я нашел, связано с SLAPD, я подозреваю, что я что-то неправильно делаю при настройке файлов конфигурации OpenLDAP.
Я предполагаю, что мне нужно что-то настроить в /etc/openldap/ldap.conf, но я не уверен, что именно.
Любая помощь очень ценится.
Спасибо Аллен
Общие библиотеки обычно не производят собственные отладочные данные по умолчанию - программы, которые их связывают, должны позаботиться об этом, потому что они могут использовать различные способы связи с пользователем: консоль, какой-то вывод X, системный журнал, ...
Вы пытались позвонить ldap_set_option(..., LDAP_OPT_DEBUG_LEVEL, LDAP_DEBUG_TRACE)
из программы ссылку на библиотеку OpenLDAP?
За ldap.conf(5)
, между этими параметрами и всеми параметрами библиотеки не существует сопоставления 1: 1, а DEBUG_LEVEL явно не упоминается как доступный.