2014-06-10 3 views
2

디버거를 프로세스에 연결하고 여전히 단계 디버깅을 수행하여 (중단 점 및 변수보기) IDE (NetBeans 또는 Eclipse)를 통해 postgres를 디버깅하는 데 성공했는지 알고 싶습니다.IDE에서 PostgreSQL 단계 디버그

+0

Er ...에서와 같이 서버 구현을 디버그하거나 특정 쿼리를 이해하려고합니까? – SingleNegationElimination

+0

postgres의 내부를 수정해야합니다. 그렇습니다. 서버 구현을보고 있습니다. – MFARID

답변

3

대부분의 경우, PostgreSQL 디버깅은 이와 관련하여 다른 서버와 크게 다르지 않습니다.

검사 할 프로세스의 프로세스 ID를 결정한 다음 디버거를 연결하고 중단 점/감시 점을 설정하고 실행을 계속하십시오. 휴식/시계를 쳤을 때, 필요에 따라 검사, 단계 등.

SELECT pg_backend_pid() 현재 세션의 프로세스 ID를 가져올 수 있습니다.

나는 보통 psql, SELECT pg_backend_pid()는, gdb를 연결 한 내 휴식/시계, cont을 설정하고 내 중단 점/감시 점을 트리거 할 것으로 예상 무엇이든지 내 psql 세션 실행에 시작합니다. 같은 원칙이 IDE 디버거 (Visual Studio, Eclipse, NetBeans 등)에도 적용됩니다.

참조 : 일부 지침은 the PostgreSQL wiki을 참조하십시오.

+0

감사합니다. 나는 postgres와 함께 gdb를 사용했다. 하지만 솔직히 IDE 사이에서 파일을 탐색하는 방법에 대한 팬이기 때문에 IDE에서 gdb를 사용하고 싶습니다. – MFARID

+0

+1에 대한 +1 pg_backend_pid(), 나는 몰랐다! 여러 Postgres 서버 인스턴스화가있는 서버에서 작업 할 때 매우 유용합니다. – MFARID

+0

원칙은 IDE와 동일합니다. 대부분의 IDE는 프로세스 ID로 외부 프로세스에 연결하는 옵션을 지원합니다. 당신은 첨부 할 PID를 찾아야합니다. –

관련 문제