how to debug into InitPostgres() and InitCatalogCache()? - Mailing list pgsql-hackers

From 土卜皿
Subject how to debug into InitPostgres() and InitCatalogCache()?
Date
Msg-id CADT5_1-Mbo9+QurdvsbXDMn=5dxWqULunqa+HW7wsruZm-iUng@mail.gmail.com
Whole thread Raw
Responses Re: how to debug into InitPostgres() and InitCatalogCache()?
List pgsql-hackers
hi, all
  I already can debug general postgres using "ddd" and "select pg_backend_pid();" ,  now, I want to study the details of the system catalog cache and system cache management, so I need to debug the function InitPostgres() and InitCatalogCache(), and I tried the following steps:

(1) in first terminal: 

ddd initdb

and set a breakpoint on the next executable line after “PG_CMD_OPEN” in function bootstrap_template1() ,

Then within gdb, use “r $myfolder/mydb”,

and found the cursor stop at the breakpoint

(2) in the second terminal:

ps aux | grep "bin\/postgres"

after get the posgtres server pid, start a new ddd without args, and within gdb, using "attach postgres.pid"

and set a breakpoint as InitCatalogCache()

(3) back to the first ddd window, hit the "cont" button. I hope it can stop at the second ddd's breakpoint, but nothing happened?

I must make mistake in some step, or my understanding is fully wrong, please give me some advice, thanks a lot!

Dillon

 


pgsql-hackers by date:

Previous
From: Roberto Mello
Date:
Subject: Re: PostrgeSQL vs oracle doing 1 million sqrts am I doing it wrong?
Next
From: Fujii Masao
Date:
Subject: Re: Audit of logout