| From: | 土卜皿 <pengcz(dot)nwpu(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | how to debug into InitPostgres() and InitCatalogCache()? |
| Date: | 2014-08-05 14:08:47 |
| Message-ID: | CADT5_1-Mbo9+QurdvsbXDMn=5dxWqULunqa+HW7wsruZm-iUng@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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:
[refer: How to debug postgresql during initdb ]
<http://www.phacai.com/how-to-debug-postgresql-during-initdb>
(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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Fujii Masao | 2014-08-05 14:34:07 | Re: Audit of logout |
| Previous Message | Roberto Mello | 2014-08-05 14:02:21 | Re: PostrgeSQL vs oracle doing 1 million sqrts am I doing it wrong? |