ソース読んでて気づいたのですが・・・・、
CPPFLAGS=-DAPR_POOL_DEBUG ./configure
make
make install
とすればPOOLのデバッグが有効になるかと思ってた。
でも、これじゃだめっぽい。。
これだと
#if APR_POOL_DEBUG
なんて書かれているところにひっかからない・・・。
正しくは、
CPPFLAGS=-DAPR_POOL_DEBUG=0xff ./configure
make
make install
な感じか。
どうも0xffはそれぞれのビットがフラグになってて、何かしらのデバッグを有効にするには
対象のビットを立てないとだめなんじゃない?
apr_pool_check_integrity()という関数を今読んでいるんだけど、
#if (APR_POOL_DEBUG & APR_POOL_DEBUG_LIFETIME)
などが見つかる。
ドキュメントを読めば分かるのかもしれないけど、
多分、
httpd-2.2.8/srclib/apr/memory/unix/apr_pools.cの
418 /*
419 * Debug level
420 */
421
422 #define APR_POOL_DEBUG_GENERAL 0x01
423 #define APR_POOL_DEBUG_VERBOSE 0x02
424 #define APR_POOL_DEBUG_LIFETIME 0x04
425 #define APR_POOL_DEBUG_OWNER 0x08
426 #define APR_POOL_DEBUG_VERBOSE_ALLOC 0x10
427
428 #define APR_POOL_DEBUG_VERBOSE_ALL (APR_POOL_DEBUG_VERBOSE \
429 | APR_POOL_DEBUG_VERBOSE_ALLOC)
430
この辺を指定しなきゃだめなんじゃないかなー。
ざっと眺めた感じではいろいろとPOOL周りのログが出そうな感じ。
APR_POOL_DEBUG_GENERALを有効にしたかったら、
CPPFLAGS=-DAPR_POOL_DEBUG=0x01 ./configure
って感じか。
.
0 コメント:
コメントを投稿