Дампы ap_log_error на апаче начинаются с апача 2.4

Я построил общий модуль на apache 2.4. Я мог получить успешную сборку apache. При запуске apache есть дамп в строке ниже:

if (r != NULL)        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r, "test");

Я разыменовываю переменную структуры r, которая имеет тип server_rec (структура apache), а ниже значение в dbx.

(dbx) p *r
(process = 0x000000011001fa88, next = (nil), error_fname = "logs/error_log", error_log = 0x000000011001fa10, log = (module_levels = (nil), level = 4), module_config = 0x0000000110053420, lookup_defaults = 0x0000000110054ef8, defn_name = (nil), defn_line_number = 0, is_virtual = '\0', port = 0, server_scheme = (nil), server_admin = "[email protected]", server_hostname = "isi081.wdf.sap.corp", addrs = 0x000000011004e410, timeout = 60000000, keep_alive_timeout = 5000000, keep_alive_max = 100, keep_alive = 1, names = (nil), wild_names = (nil), path = (nil), pathlen = 0, limit_req_line = 8190, limit_req_fieldsize = 8190, limit_req_fields = 100, context = (nil))

Повреждения памяти не вижу. Но все равно есть дамп при запуске апача. Если я закомментирую эту строку, то все будет работать как положено. Apache запускается, и я также могу завершить операцию. Но нам понадобится этот оператор, чтобы включить ведение журнала. Есть ли другая альтернатива или исправление для того же.

Тот же код работает для других платформ, таких как Linux, Solaris и HP, на Apache 2.4. ТАКЖЕ на aix с apache 2.2 работает тот же код. Только на апаче 2.4 такая проблема наблюдается.

Любая помощь будет высоко оценен.


person user1422750    schedule 16.09.2016    source источник
comment
Ниже приведен дамп, а r имеет тип server_rec:   -  person user1422750    schedule 16.09.2016
comment
Думаю, вам следует проверить файл ядра с помощью отладчика. Возможно, вы захотите перекомпилировать Apache с опцией «-g».   -  person Lorinczy Zsigmond    schedule 16.09.2016


Ответы (1)


Я думаю, вы не полностью скомпилировали заголовки 2.4, и «ap_log_error» не рассматривался как макрос, который есть в 2.4.

Кроме того, этот server_rec с именем «r» вводит в заблуждение. «r» традиционно является request_rec. Я не могу поверить, что на самом деле это не источник вашей проблемы, а может быть, это как-то косвенно.

person covener    schedule 17.09.2016