[pgsql-jp: 30716] Re: pgc の理解できないふるまい。

Toshio Uchiyama uchiyama @ shonan.homeunix.org
2003年 8月 7日 (木) 10:51:21 JST


HOTTA さま、Gotoh さま。返信ありがとうございます。
	内山です。

HOTTA Michihide さんは書きました:
>ecpg は使ったことがないのですが、とりあえず
>
>strace プログラム名
>
>でシステムコールのトレースが取れます。これで "No such file or 
>directory"を出しているところを調べたら、何かわかりませんか?
>
>ところで余計なお世話ですが、どうしても C で書かなきゃいけないの
>でしょうか?『はじめの1歩』としてなら、PHP あたりの方がお手軽だ
>と思いますが…。

PHP を新しく勉強するのは、重荷だなと思って、C でやっています。
当方の環境を書くのを忘れていました。

FreeBSD 4.8R + PostgreSQL 7.3.3 です。

>strace uchiyama

とやっても、strace がないので、gdb でやり始めたところです。gdb は
7年位前に使っていたのですが、使い方をすっかり忘れて、jman gdb あるいは、

uchiyama @ shonan>  gdb uchiyama
GNU gdb 4.18 (FreeBSD)
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
(no debugging symbols found)...
(gdb)help

しながら、gdb の使い方から勉強しなおしています。


Kazumasa Gotoh さんは書きました:
>あなたがどのように「起動」しているのかわからないので一概には
>言えませんが、terminal への出力は必ずしも当該プログラムが

実行モジュールが uchiyama という名前なので、

>./uchiyama

で起動しています。該当のNo such file は pgc ソースの

exec sql select f2, f3 〜

で出力されていると推測されます。

>出しているものだけとは限りません。

こういう経験はないので、正しい検証法かわかりませんが、

>cp uchiyama appli1

として、

>./appli1 

で起動すると、

appli1: No such file or directory

と変わります。

>
>何か他のプログラム(プロセス)の出力が混じる場合もありますが、
>その可能性はないのですか?
>メッセージからは、経験上はその辺りが怪しそうな気がしますが…
>
>そうでない場合は、展開形の C ソースを使ってデバッグする事に
>なるでしょう。

展開型Cのソースにも、before exec sql select と after exec sql select
があります。その間に プリプロセッサが自動生成した行が5行くらいあるので
今度は、c ソースの方でデバッグして見たいと思います。他のプロセスが
だしているかどうか、経験不足の私にはわかりませんが、もし上記の情報
で分かりましたら、ご教示ください。
	今度は、C ソースの方も

http://shonan.homeunix.org/uchiyama.c

に載せておきます。まあ、検索結果が psql 上の select 文と一致しているので
結果に影響は与えていないと思いますが、気持ち悪くて、できれば出力されない
ようにしたいです。

	現在、夏期休暇中で自宅で昔の技術を思い出しているところです。
趣味でやってますので、あせらずやりたいと思います。
	今後ともよろしくお願いします。

----
内山敏郎
uchiyama @ agent.homeunix.org
http://agent.homeunix.org/




pgsql-jp メーリングリストの案内