私は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ではこの問題のみが観察されます。
ご協力いただければ幸いです。
以下はダンプです。rはserver_rec型です: – user1422750
デバッガでコアファイルを調べる必要があります。 '-g'オプションを指定してApacheを再コンパイルすることもできます。 –