Ative a saída de depuração e defina o nível como 2 ou 3 (DEBUGL_FUNCTIONS e DEBUGL_CONFIG).
(Ao olhar para a fonte, meu pensamento original sobre ser um problema de permissão estava errado; há uma mensagem de erro específica para problemas "não é possível ler o arquivo objeto").
Se não houver nada de útil na saída de depuração, você pode tentar executá-la em strace
. Se isso não for uma opção ou não for útil, você terá que hackear um pouco a fonte para obter mais informações.
Caso você realmente queira fazer isso:
Seu erro é o muito genérico causado por ( base/nagios.c
linhas 435-438):
/* read object config files */
result = read_all_object_data(config_file);
if(result != OK) {
printf(" Error processing object config files!\n\n");
Esta função (em base/config.c
) apenas define um sinalizador de opção e, em seguida, chama read_object_config_data()
, que retorna o ERRO genérico.
Essa função (em common/objects.c
) realmente só chama xodtemplate_read_config_data
.
O trabalho real é feito em xodtemplate_read_config_data
(em xdata/xodtemplate.x
). Então, se você quiser adicionar alguma saída de depuração adicional, provavelmente é onde você deve fazer isso.