前川です。

mysqlのテーブル情報を取り出そうとしましたが、
出力の途中で、segmentation fault が生じます。
それぞれを単独で動作させる場合は、正常に取り出せます。

mysql関連は、ruby for apacheにあるmysql.soで、
http://rubyforge.org/projects/rubyforapache/
にありました、July 18,2005 の日付ものです。
O/Sは、wondows-xp Pro ver 2002 SP3 です。

教えていただきたい点は、

1.c コマンドでデバッガを実行したときに、
 c:/ruby/lib/ruby/1.8/rational.rb:78: `undefined method `gcd' となってい
ますが、
 segmentation fault とは、関係ないでしょうか?

2.s コマンドでデバッガを実行すると、途中、
"ruby lib version (1.8.7) doesn't match executable version
(#{RUBY_VERSION})"
がでていますが、segmentation fault と関係ないでしょうか?

3.segmentation faultが発生する原因は、何でしょうか?

デバッグ記録
1.c コマンドで実行

C:\Apache2.2\htdocs\qmsPotalShip\for confirmation & modification>ruby -r
debug myclassMySQLTest.rb
Debug.rb
Emacs support available.

c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10:require 'rubygems'
(rdb:1) c
c:/ruby/lib/ruby/1.8/rational.rb:78: `undefined method `gcd' for
Rational(1, 2):Rational' (NoMethodError)
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1123:in `require'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1123
        from c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10:in `require'
        from c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10
c:/ruby/lib/ruby/1.8/rational.rb:78:    gcd = num.gcd(den)
(rdb:1) c
Content-Type: text/html

#<Mysql:0xa183008>
13
arcd
chk_dist
chkdb
dist
dmas
 〜〜中略 データベース名・テーブル名の取得・データの取得を実施〜〜
〜テーブルの属性取得を実施〜
6
sendvarchar(50)YES
6
inditinyint(4)YES
6
tnotetextYES
6
snamevarchar(120)YES
6
statetinyint(4)YES
6
myclassMySQLTest.rb:96: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.


2.s コマンドで実行

c:/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:167:  require 'rbconfig'
(rdb:1) s
c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:5:module Config
(rdb:1) s
c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:7:    raise "ruby lib version
(1.8.7) doesn't match executable version (#{
RUBY_VERSION})"
(rdb:1) s
c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:9:  TOPDIR =
File.dirname(__FILE__).chomp!("/lib/ruby/1.8/i386-mswin32")
(rdb:1) s
c:/ruby/lib/ruby/1.8/i386-mswin32/rbconfig.rb:10:  DESTDIR = TOPDIR &&
TOPDIR[/\A[a-z]:/i] || '' unless defined? DESTDIR

了