2016-09-16 2 views
1

아파치 2.4에 공유 모듈을 만들었습니다. 나는 아파치를 성공적으로 만들 수 있었다. 아파치 아래 줄에서의 덤프가 시작 : I 아래 형 server_rec (아파치 구조체)이며 구조에 변수 r을 derefernceap_log_error 아파치와 아파치 시작 덤프 2.4

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

가 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)) 

I 할 기억에 어떤 타락도 보지 마라. 하지만 여전히 아파치 시작에 덤프가있다. 이 줄을 주석으로 처리하면 모든 것이 예상대로 작동합니다. 아파치가 시작되고 나는 작업을 완료 할 수있다. 그러나 로깅을 사용하려면이 명령문이 필요합니다. 같은 다른 대안이나 수정이 있습니까?

apache 2.4의 linux, solaris 및 HP와 같은 다른 플랫폼에서도 동일한 코드가 작동합니다. 아파치 2.2를 사용하는 aix에서도 같은 코드가 작동합니다. 오직 아파치 2.4에서만이 문제가 관찰됩니다.

도움을 주시면 감사하겠습니다.

+0

다음은 덤프이고 r은 server_rec 유형입니다. – user1422750

+0

디버거를 사용하여 코어 파일을 검사해야합니다. '-g'옵션을 사용하여 Apache를 다시 컴파일 할 수 있습니다. –

답변

1

2.4 헤더를 완전히 컴파일하지 않았으며 "ap_log_error"가 2.4에있는 매크로로 처리되지 않았다고 생각합니다.

또한 server_rec "r"은 매우 오도 된 것입니다. "r"은 전통적으로 request_rec입니다. 나는 그것이 당신의 문제의 근본 원인이 아니라는 것을 믿을 수 없다. 어쩌면 간접적 인 것일 수도있다.