Re: how to debug into InitPostgres() and InitCatalogCache()?
От | 土卜皿 |
---|---|
Тема | Re: how to debug into InitPostgres() and InitCatalogCache()? |
Дата | |
Msg-id | CADT5_19XX84fSYKuMOhdgxVj6rgtm_aSPfoLrXq62U3iHG7fug@mail.gmail.com обсуждение исходный текст |
Ответ на | how to debug into InitPostgres() and InitCatalogCache()? (土卜皿 <pengcz.nwpu@gmail.com>) |
Ответы |
Re: how to debug into InitPostgres() and
InitCatalogCache()?
|
Список | pgsql-hackers |
2014-08-05 22:08 GMT+08:00 土卜皿 <pengcz.nwpu@gmail.com>:
I am sorry that this is a simple question. I found that the above steps make the posgres reach boot_yyparse() of BootstrapModeMain(void), which means postgres has already finished the initialization including InitCatalogCache(), and it was waiting query command or other user command .
For debug initialization including system catalog cache, I add some code like:
bool forDebug = true;
while (forDebug){
forDebug = true;
}
after get the posgtres server pid, start a new ddd without args, and within gdb, using "attach postgres.pid"(2) in the second terminal:and found the cursor stop at the breakpointThen within gdb, use “r $myfolder/mydb”,and set a breakpoint on the next executable line after “PG_CMD_OPEN” in function bootstrap_template1() ,hi, allI 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
ps aux | grep "bin\/postgres"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
For debug initialization including system catalog cache, I add some code like:
bool forDebug = true;
while (forDebug){
forDebug = true;
}
in the InitPosgres()'s starting position.
В списке pgsql-hackers по дате отправления: