2016-09-16 22 views
1

私はApache 2.4で共有モジュールを構築しました。私は、Apacheのビルドを成功させることができます。 Apacheの上に次の行にダンプが存在する開始:ap_log_error ApacheでApacheのダンプを開始する2.4

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

Iはタイプ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)) 

の値である構造体変数rをderefernceメモリの破損は見られません。しかし、まだApacheの起動時にダンプがあります。 この行をコメントアウトすると、すべて正常に動作します。 Apacheが起動し、私も操作を完了することができます。しかし、ログを有効にするためには、このステートメントが必要です。同じものに対して他の選択肢や修正がありますか?

同じコードは、linux、solaris、HPのような他のプラットフォームでも動作しています。 Apache 2.2のaix上でも同じコードが動作します。 Apache 2.4ではこの問題のみが観察されます。

ご協力いただければ幸いです。

+0

以下はダンプです。rはserver_rec型です: – user1422750

+0

デバッガでコアファイルを調べる必要があります。 '-g'オプションを指定してApacheを再コンパイルすることもできます。 –

答えて

1

2.4ヘッダーに対して完全にコンパイルしていないと思っています。「ap_log_error」は2.4のマクロとして扱われませんでした。

また、「r」という名前のserver_recは、誤解を招く可能性があります。 "r"は伝統的にrequest_recです。私はそれが実際にあなたの問題の原因ではないと信じられません、そしておそらく間接的に何らかの理由があります。

関連する問題